From dfb7424b4b3176903476816adb797cb3e0fbbcdf Mon Sep 17 00:00:00 2001 From: Noah Nistler <60981020+noahnistler@users.noreply.github.com> Date: Mon, 10 Aug 2026 15:45:08 -0500 Subject: [PATCH 01/32] fix(bedrock): sign rerank requests with the shared, header-filtered SigV4 helper BedrockRerankHandler._prepare_request duplicated ad-hoc SigV4 signing instead of using BaseAWSLLM.get_request_headers, the helper every other Bedrock handler (embeddings, converse, invoke, image) already uses. The duplicate skipped header filtering before signing, so any forwarded header (e.g. x-forwarded-for) got included in the signed set and could invalidate the signature if rewritten downstream between signing and delivery, the same class of bug fixed for the invoke path in #19111. --- litellm/llms/bedrock/rerank/handler.py | 29 +++++--------- .../test_bedrock_rerank_header_forwarding.py | 39 +++++++++++++++++++ 2 files changed, 49 insertions(+), 19 deletions(-) diff --git a/litellm/llms/bedrock/rerank/handler.py b/litellm/llms/bedrock/rerank/handler.py index 1cc72f265eb..79b70c47a9a 100644 --- a/litellm/llms/bedrock/rerank/handler.py +++ b/litellm/llms/bedrock/rerank/handler.py @@ -135,11 +135,6 @@ class BedrockRerankHandler(BaseAWSLLM): data: dict, optional_params: dict, ) -> BedrockPreparedRequest: - try: - from botocore.auth import SigV4Auth - from botocore.awsrequest import AWSRequest - except ImportError: - raise ImportError("Missing boto3 to call bedrock. Run 'pip install boto3'.") boto3_credentials_info: Final = self._get_boto_credentials_from_optional_params(optional_params, model) ### SET RUNTIME ENDPOINT ### @@ -150,24 +145,20 @@ class BedrockRerankHandler(BaseAWSLLM): ) proxy_endpoint_url = proxy_endpoint_url.replace("bedrock-runtime", "bedrock-agent-runtime") proxy_endpoint_url = f"{proxy_endpoint_url}/rerank" - sigv4: Final = SigV4Auth( - boto3_credentials_info.credentials, - "bedrock", - boto3_credentials_info.aws_region_name, - ) - # Make POST Request - body: Final = json.dumps(data).encode("utf-8") + body: Final = json.dumps(data).encode("utf-8") headers = {"Content-Type": "application/json"} if extra_headers is not None: headers = {"Content-Type": "application/json", **extra_headers} - request: Final = AWSRequest(method="POST", url=proxy_endpoint_url, data=body, headers=headers) - sigv4.add_auth(request) - if ( - extra_headers is not None and "Authorization" in extra_headers - ): # prevent sigv4 from overwriting the auth header - request.headers["Authorization"] = extra_headers["Authorization"] - prepped: Final = request.prepare() + + prepped: Final = self.get_request_headers( + credentials=boto3_credentials_info.credentials, + aws_region_name=boto3_credentials_info.aws_region_name, + extra_headers=extra_headers, + endpoint_url=proxy_endpoint_url, + data=body, + headers=headers, + ) return BedrockPreparedRequest( endpoint_url=proxy_endpoint_url, diff --git a/tests/test_litellm/llms/bedrock/rerank/test_bedrock_rerank_header_forwarding.py b/tests/test_litellm/llms/bedrock/rerank/test_bedrock_rerank_header_forwarding.py index 17443ca899e..748d46af895 100644 --- a/tests/test_litellm/llms/bedrock/rerank/test_bedrock_rerank_header_forwarding.py +++ b/tests/test_litellm/llms/bedrock/rerank/test_bedrock_rerank_header_forwarding.py @@ -17,6 +17,7 @@ sys.path.insert( ) # Adds the parent directory to the system path import litellm from litellm.llms.bedrock.base_aws_llm import Boto3CredentialsInfo +from litellm.llms.bedrock.rerank.handler import BedrockRerankHandler from litellm.llms.custom_httpx.http_handler import AsyncHTTPHandler, HTTPHandler # Mock response for Bedrock rerank @@ -408,3 +409,41 @@ def test_bedrock_rerank_extra_headers_and_headers_merge(): except Exception as e: pytest.fail(f"Failed to merge and forward headers: {str(e)}") + + +def test_bedrock_rerank_forwarded_headers_excluded_from_sigv4_signature(): + """ + A forwarded header like x-forwarded-for can be rewritten between LiteLLM + signing the request and AWS receiving it (e.g. by an intermediate load + balancer), which invalidates the signature if that header was part of + the signed set. It must still reach Bedrock, just unsigned. + """ + from botocore.credentials import Credentials + + handler = BedrockRerankHandler() + mock_credentials_info = Boto3CredentialsInfo( + credentials=Credentials("test-access-key", "test-secret-key", "test-token"), + aws_region_name="us-east-1", + aws_bedrock_runtime_endpoint=None, + ) + + with patch.object( + BedrockRerankHandler, + "_get_boto_credentials_from_optional_params", + return_value=mock_credentials_info, + ): + prepared_request = handler._prepare_request( + model="cohere.rerank-v3-5:0", + api_base=None, + extra_headers={"x-forwarded-for": "203.0.113.5"}, + data={"query": test_query, "documents": test_documents}, + optional_params={}, + ) + + headers = prepared_request["prepped"].headers + signed_headers = headers["Authorization"].split("SignedHeaders=")[1].split(",")[0].split(";") + + assert "x-forwarded-for" not in signed_headers, ( + f"x-forwarded-for must not be part of the SigV4 signature, got SignedHeaders={signed_headers}" + ) + assert headers["x-forwarded-for"] == "203.0.113.5", "forwarded header must still reach Bedrock, unsigned" From d80608eca6e9a1a98c3b0c2f7620c6d6496712e6 Mon Sep 17 00:00:00 2001 From: Noah Nistler <60981020+noahnistler@users.noreply.github.com> Date: Mon, 10 Aug 2026 15:58:12 -0500 Subject: [PATCH 02/32] test(bedrock): drop class-level monkeypatch in rerank signature test Pass static AWS credentials through optional_params so the real credential-resolution path runs locally instead of patching BedrockRerankHandler._get_boto_credentials_from_optional_params. --- .../test_bedrock_rerank_header_forwarding.py | 30 +++++++------------ 1 file changed, 11 insertions(+), 19 deletions(-) diff --git a/tests/test_litellm/llms/bedrock/rerank/test_bedrock_rerank_header_forwarding.py b/tests/test_litellm/llms/bedrock/rerank/test_bedrock_rerank_header_forwarding.py index 748d46af895..ebe0df2a1c7 100644 --- a/tests/test_litellm/llms/bedrock/rerank/test_bedrock_rerank_header_forwarding.py +++ b/tests/test_litellm/llms/bedrock/rerank/test_bedrock_rerank_header_forwarding.py @@ -418,27 +418,19 @@ def test_bedrock_rerank_forwarded_headers_excluded_from_sigv4_signature(): balancer), which invalidates the signature if that header was part of the signed set. It must still reach Bedrock, just unsigned. """ - from botocore.credentials import Credentials - handler = BedrockRerankHandler() - mock_credentials_info = Boto3CredentialsInfo( - credentials=Credentials("test-access-key", "test-secret-key", "test-token"), - aws_region_name="us-east-1", - aws_bedrock_runtime_endpoint=None, - ) - with patch.object( - BedrockRerankHandler, - "_get_boto_credentials_from_optional_params", - return_value=mock_credentials_info, - ): - prepared_request = handler._prepare_request( - model="cohere.rerank-v3-5:0", - api_base=None, - extra_headers={"x-forwarded-for": "203.0.113.5"}, - data={"query": test_query, "documents": test_documents}, - optional_params={}, - ) + prepared_request = handler._prepare_request( + model="cohere.rerank-v3-5:0", + api_base=None, + extra_headers={"x-forwarded-for": "203.0.113.5"}, + data={"query": test_query, "documents": test_documents}, + optional_params={ + "aws_access_key_id": "test-access-key", + "aws_secret_access_key": "test-secret-key", + "aws_region_name": "us-east-1", + }, + ) headers = prepared_request["prepped"].headers signed_headers = headers["Authorization"].split("SignedHeaders=")[1].split(",")[0].split(";") From cd7cdb3e3a8e61b207cb187a6e1a204273acccfd Mon Sep 17 00:00:00 2001 From: Srivatsa03 Date: Tue, 18 Aug 2026 20:44:45 -0500 Subject: [PATCH 03/32] fix(cost): stop double-billing cached tokens that overlap a modality Providers report cached_tokens and image_tokens as overlapping subsets of prompt_tokens rather than a disjoint partition, so a request whose images were served from cache paid for them twice, once at the cache-read rate and again at the image or input rate. The synthetic case in the issue came out at 109e-6 against a correct 39e-6. Clamp each modality to the part of the request the cache did not already cover, so the billed components still sum to prompt_tokens Fixes #37281 --- .../litellm_core_utils/llm_cost_calc/utils.py | 19 ++++++++--- .../llm_cost_calc/test_llm_cost_calc_utils.py | 34 +++++++++++++++++++ 2 files changed, 49 insertions(+), 4 deletions(-) diff --git a/litellm/litellm_core_utils/llm_cost_calc/utils.py b/litellm/litellm_core_utils/llm_cost_calc/utils.py index 9d6ad8b6e39..37774822565 100644 --- a/litellm/litellm_core_utils/llm_cost_calc/utils.py +++ b/litellm/litellm_core_utils/llm_cost_calc/utils.py @@ -854,11 +854,22 @@ def generic_cost_per_token( total_details: Final = text_tokens + cache_hit + audio_tokens + cache_creation + image_tokens + video_tokens has_double_counting: Final = (cache_hit > 0 or cache_creation > 0) and total_details > usage.prompt_tokens - if (text_tokens == 0 and prompt_tokens_details["image_count"] == 0) or has_double_counting: - text_tokens = usage.prompt_tokens - cache_hit - audio_tokens - cache_creation - image_tokens - video_tokens + if has_double_counting: + # cached and per-modality counts are both subsets of prompt_tokens and may overlap, so a + # modality can only bill what the cache did not already cover or the overlap is billed twice + uncached_budget: Final = max(usage.prompt_tokens - cache_hit - cache_creation, 0) + billable_audio: Final = min(audio_tokens, uncached_budget) + billable_image: Final = min(image_tokens, uncached_budget - billable_audio) + billable_video: Final = min(video_tokens, uncached_budget - billable_audio - billable_image) + prompt_tokens_details["audio_tokens"] = billable_audio + prompt_tokens_details["image_tokens"] = billable_image + prompt_tokens_details["video_tokens"] = billable_video + prompt_tokens_details["text_tokens"] = uncached_budget - billable_audio - billable_image - billable_video + elif text_tokens == 0 and prompt_tokens_details["image_count"] == 0: # Clamp to zero: inconsistent streaming usage - text_tokens = max(text_tokens, 0) - prompt_tokens_details["text_tokens"] = text_tokens + prompt_tokens_details["text_tokens"] = max( + usage.prompt_tokens - cache_hit - audio_tokens - cache_creation - image_tokens - video_tokens, 0 + ) ( prompt_base_cost, diff --git a/tests/test_litellm/litellm_core_utils/llm_cost_calc/test_llm_cost_calc_utils.py b/tests/test_litellm/litellm_core_utils/llm_cost_calc/test_llm_cost_calc_utils.py index 4d157e74482..486f3a81331 100644 --- a/tests/test_litellm/litellm_core_utils/llm_cost_calc/test_llm_cost_calc_utils.py +++ b/tests/test_litellm/litellm_core_utils/llm_cost_calc/test_llm_cost_calc_utils.py @@ -1358,6 +1358,40 @@ def test_string_cost_values(): assert round(completion_cost, 12) == round(expected_completion_cost, 12) +def test_generic_cost_per_token_overlapping_cached_and_image_tokens(): + """Some providers report cached_tokens and image_tokens as overlapping subsets of + prompt_tokens. Billing each in full charged the overlap twice, once at the cache rate + and again at the input rate.""" + model = "litellm-test-overlapping-cached-image" + litellm.register_model( + { + model: { + "litellm_provider": "openai", + "mode": "chat", + "input_cost_per_token": 1e-6, + "cache_read_input_token_cost": 1e-7, + "output_cost_per_token": 2e-6, + } + } + ) + usage = Usage( + prompt_tokens=100, + completion_tokens=10, + total_tokens=110, + prompt_tokens_details=PromptTokensDetailsWrapper( + text_tokens=None, cached_tokens=90, image_tokens=80 + ), + ) + + prompt_cost, completion_cost = generic_cost_per_token( + model=model, usage=usage, custom_llm_provider="openai" + ) + + # 90 cached at 1e-7, the remaining 10 uncached tokens once at 1e-6 + assert prompt_cost == pytest.approx(90 * 1e-7 + 10 * 1e-6) + assert completion_cost == pytest.approx(10 * 2e-6) + + def test_calculate_cost_component_with_string_values(): """Test the calculate_cost_component function directly with string cost values.""" from litellm.litellm_core_utils.llm_cost_calc.utils import calculate_cost_component From 729a95232204599e550f46c3de8aec1af9455673 Mon Sep 17 00:00:00 2001 From: mateo-berri <277851410+mateo-berri@users.noreply.github.com> Date: Fri, 21 Aug 2026 17:17:24 -0700 Subject: [PATCH 04/32] fix(bedrock): keep rerank on SigV4 when a Bedrock API key is set Routing rerank through get_request_headers also picked up its AWS_BEARER_TOKEN_BEDROCK branch. Bedrock API keys are only valid for Bedrock and Bedrock Runtime actions, not for Agents for Amazon Bedrock Runtime ones, and rerank is served by bedrock-agent-runtime, so AWS rejects a bearer-signed rerank call. Opt the rerank handler out of the bearer path so it keeps signing with SigV4. --- litellm/llms/bedrock/base_aws_llm.py | 7 +++-- litellm/llms/bedrock/rerank/handler.py | 1 + .../test_bedrock_rerank_header_forwarding.py | 30 +++++++++++++++++++ 3 files changed, 36 insertions(+), 2 deletions(-) diff --git a/litellm/llms/bedrock/base_aws_llm.py b/litellm/llms/bedrock/base_aws_llm.py index db6f2c0d491..4332848e545 100644 --- a/litellm/llms/bedrock/base_aws_llm.py +++ b/litellm/llms/bedrock/base_aws_llm.py @@ -1434,9 +1434,12 @@ class BaseAWSLLM: data: str | bytes, headers: dict, api_key: str | None = None, + supports_bearer_token: bool = True, ) -> AWSPreparedRequest: - if api_key is not None: - aws_bearer_token: str | None = api_key + if not supports_bearer_token: + aws_bearer_token: str | None = None + elif api_key is not None: + aws_bearer_token = api_key else: aws_bearer_token = get_secret_str("AWS_BEARER_TOKEN_BEDROCK") diff --git a/litellm/llms/bedrock/rerank/handler.py b/litellm/llms/bedrock/rerank/handler.py index 79b70c47a9a..cb0473887ea 100644 --- a/litellm/llms/bedrock/rerank/handler.py +++ b/litellm/llms/bedrock/rerank/handler.py @@ -158,6 +158,7 @@ class BedrockRerankHandler(BaseAWSLLM): endpoint_url=proxy_endpoint_url, data=body, headers=headers, + supports_bearer_token=False, ) return BedrockPreparedRequest( diff --git a/tests/test_litellm/llms/bedrock/rerank/test_bedrock_rerank_header_forwarding.py b/tests/test_litellm/llms/bedrock/rerank/test_bedrock_rerank_header_forwarding.py index ebe0df2a1c7..dd14b38f07a 100644 --- a/tests/test_litellm/llms/bedrock/rerank/test_bedrock_rerank_header_forwarding.py +++ b/tests/test_litellm/llms/bedrock/rerank/test_bedrock_rerank_header_forwarding.py @@ -439,3 +439,33 @@ def test_bedrock_rerank_forwarded_headers_excluded_from_sigv4_signature(): f"x-forwarded-for must not be part of the SigV4 signature, got SignedHeaders={signed_headers}" ) assert headers["x-forwarded-for"] == "203.0.113.5", "forwarded header must still reach Bedrock, unsigned" + + +def test_bedrock_rerank_signs_with_sigv4_even_when_bedrock_api_key_is_set(monkeypatch): + """ + Bedrock API keys are only valid for Bedrock and Bedrock Runtime actions, not for + Agents for Amazon Bedrock Runtime ones. Rerank is served by bedrock-agent-runtime, + so it has to keep signing with SigV4 even when AWS_BEARER_TOKEN_BEDROCK is set. + """ + monkeypatch.setenv("AWS_BEARER_TOKEN_BEDROCK", "test-bedrock-api-key") + + handler = BedrockRerankHandler() + + prepared_request = handler._prepare_request( + model="cohere.rerank-v3-5:0", + api_base=None, + extra_headers=None, + data={"query": test_query, "documents": test_documents}, + optional_params={ + "aws_access_key_id": "test-access-key", + "aws_secret_access_key": "test-secret-key", + "aws_region_name": "us-east-1", + }, + ) + + assert prepared_request["endpoint_url"].startswith("https://bedrock-agent-runtime.") + + authorization = prepared_request["prepped"].headers["Authorization"] + assert authorization.startswith("AWS4-HMAC-SHA256"), ( + f"rerank must sign with SigV4, got Authorization={authorization[:30]}" + ) From 41192ef08541d30e91b1824b69ee773d1021b013 Mon Sep 17 00:00:00 2001 From: mateo-berri <277851410+mateo-berri@users.noreply.github.com> Date: Wed, 26 Aug 2026 12:16:24 -0700 Subject: [PATCH 05/32] feat(ui): toggle internal health check visibility in request logs --- .../spend_management_endpoints.py | 15 ++ .../test_spend_management_endpoints.py | 142 ++++++++++++++++++ .../src/components/networking.test.ts | 58 +++++++ .../src/components/networking.tsx | 3 + .../components/view_logs/LogsTableToolbar.tsx | 13 ++ .../view_logs/RequestLogsPanel.test.tsx | 29 ++++ .../components/view_logs/RequestLogsPanel.tsx | 20 +++ .../view_logs/log_filter_logic.test.tsx | 18 +++ .../components/view_logs/log_filter_logic.tsx | 4 + ui/litellm-dashboard/src/lib/http/schema.d.ts | 4 + 10 files changed, 306 insertions(+) diff --git a/litellm/proxy/spend_tracking/spend_management_endpoints.py b/litellm/proxy/spend_tracking/spend_management_endpoints.py index 06395a3c3cc..26da42a2f5c 100644 --- a/litellm/proxy/spend_tracking/spend_management_endpoints.py +++ b/litellm/proxy/spend_tracking/spend_management_endpoints.py @@ -23,6 +23,7 @@ from typing_extensions import ReadOnly import litellm from litellm._logging import verbose_proxy_logger +from litellm.constants import LITTELM_INTERNAL_HEALTH_SERVICE_ACCOUNT_NAME from litellm.proxy._types import * from litellm.proxy._types import ProviderBudgetResponse, ProviderBudgetResponseObject from litellm.proxy.auth.user_api_key_auth import user_api_key_auth @@ -54,6 +55,11 @@ router: Final = APIRouter() SPEND_LOGS_PAGINATION_COUNT_CAP: Final = 10000 +_INTERNAL_HEALTH_CHECK_API_KEYS: Final = ( + LITTELM_INTERNAL_HEALTH_SERVICE_ACCOUNT_NAME, + hash_token(token=LITTELM_INTERNAL_HEALTH_SERVICE_ACCOUNT_NAME), +) + _RowT = TypeVar("_RowT") @@ -2259,6 +2265,10 @@ async def ui_view_spend_logs( default="desc", description="Sort order: asc or desc", ), + exclude_internal_health_checks: bool = fastapi.Query( + default=False, + description="Exclude LiteLLM internal health check requests from results", + ), ): """ View spend logs with pagination support. @@ -2551,6 +2561,11 @@ async def ui_view_spend_logs( sql_params.append(status_filter) p += 1 + if exclude_internal_health_checks: + sql_conditions.append(f"api_key NOT IN (${p}, ${p + 1})") + sql_params.extend(_INTERNAL_HEALTH_CHECK_API_KEYS) + p += 2 # rebind-ok: advances the file's shared $N placeholder counter + # Spend range if min_spend is not None: sql_conditions.append(f"spend >= ${p}") diff --git a/tests/test_litellm/proxy/spend_tracking/test_spend_management_endpoints.py b/tests/test_litellm/proxy/spend_tracking/test_spend_management_endpoints.py index 8c15ead8983..752894087dc 100644 --- a/tests/test_litellm/proxy/spend_tracking/test_spend_management_endpoints.py +++ b/tests/test_litellm/proxy/spend_tracking/test_spend_management_endpoints.py @@ -1,6 +1,7 @@ import asyncio import collections import datetime +import hashlib import json import re from datetime import timezone @@ -96,6 +97,7 @@ def _reconstruct_ui_where_from_sql(sql_query, params): msg = re.search(r"error_message' LIKE \$(\d+)", cond) sess = re.fullmatch(r"session_id LIKE \$(\d+)", cond) status = re.fullmatch(r"status = \$(\d+)", cond) + api_key_not_in = re.fullmatch(r"api_key NOT IN \(\$(\d+), \$(\d+)\)", cond) if gte: date_bounds["gte"] = _iso(params[int(gte.group(1)) - 1]) elif lte: @@ -108,6 +110,11 @@ def _reconstruct_ui_where_from_sql(sql_query, params): where["session_id"] = {"contains": str(params[int(sess.group(1)) - 1]).strip("%")} elif status: where["status"] = {"equals": params[int(status.group(1)) - 1]} + elif api_key_not_in: + where["api_key_not_in"] = [ + params[int(api_key_not_in.group(1)) - 1], + params[int(api_key_not_in.group(2)) - 1], + ] elif alias: metadata_conds.append( { @@ -196,6 +203,7 @@ def make_ui_spend_logs_mock_prisma(mock_spend_logs, filter_fn, team_lookup_fn=No return MockPrismaClient() +from litellm.constants import LITTELM_INTERNAL_HEALTH_SERVICE_ACCOUNT_NAME from litellm.proxy._types import ( LitellmUserRoles, Member, @@ -1256,6 +1264,140 @@ async def test_ui_view_spend_logs_with_team_id(client, monkeypatch): app.dependency_overrides.pop(ps.user_api_key_auth, None) +_HEALTH_CHECK_HASHED_API_KEY = hashlib.sha256(LITTELM_INTERNAL_HEALTH_SERVICE_ACCOUNT_NAME.encode()).hexdigest() + + +def _spend_logs_with_health_check_rows(): + now = datetime.datetime.now(timezone.utc).isoformat() + return [ + { + "id": "log1", + "request_id": "req1", + "api_key": "sk-test-key", + "user": "test_user_1", + "team_id": None, + "spend": 0.05, + "startTime": now, + "model": "gpt-4", + }, + { + "id": "log2", + "request_id": "req2", + "api_key": _HEALTH_CHECK_HASHED_API_KEY, + "user": None, + "team_id": LITTELM_INTERNAL_HEALTH_SERVICE_ACCOUNT_NAME, + "spend": 0.0, + "startTime": now, + "model": "gpt-4", + }, + { + "id": "log3", + "request_id": "req3", + "api_key": LITTELM_INTERNAL_HEALTH_SERVICE_ACCOUNT_NAME, + "user": None, + "team_id": LITTELM_INTERNAL_HEALTH_SERVICE_ACCOUNT_NAME, + "spend": 0.0, + "startTime": now, + "model": "gpt-4", + }, + ] + + +@pytest.mark.asyncio +async def test_ui_view_spend_logs_exclude_internal_health_checks(client, monkeypatch): + mock_spend_logs = _spend_logs_with_health_check_rows() + + def filter_health_checks(where): + excluded = where.get("api_key_not_in") + if excluded is None: + return mock_spend_logs + return [log for log in mock_spend_logs if log["api_key"] not in excluded] + + observed_queries = [] + + def observe_query(sql_query, params): + if 'FROM "LiteLLM_SpendLogs"' in sql_query: + observed_queries.append((sql_query, params)) + + monkeypatch.setattr( + "litellm.proxy.proxy_server.prisma_client", + make_ui_spend_logs_mock_prisma(mock_spend_logs, filter_health_checks, query_observer=observe_query), + ) + app.dependency_overrides[ps.user_api_key_auth] = lambda: UserAPIKeyAuth( + user_role=LitellmUserRoles.PROXY_ADMIN, user_id="admin_user" + ) + + try: + start_date, end_date = _default_date_range() + response = client.get( + "/spend/logs/ui", + params={ + "exclude_internal_health_checks": "true", + "start_date": start_date, + "end_date": end_date, + }, + headers={"Authorization": "Bearer sk-test"}, + ) + + assert response.status_code == 200 + data = response.json() + assert data["total"] == 1 + assert [row["request_id"] for row in data["data"]] == ["req1"] + + page_sql, page_params = next((sql, params) for sql, params in observed_queries if "ORDER BY" in sql) + not_in = re.search(r"api_key NOT IN \(\$(\d+), \$(\d+)\)", page_sql) + assert not_in is not None + assert LITTELM_INTERNAL_HEALTH_SERVICE_ACCOUNT_NAME not in page_sql + assert _HEALTH_CHECK_HASHED_API_KEY not in page_sql + assert { + page_params[int(not_in.group(1)) - 1], + page_params[int(not_in.group(2)) - 1], + } == {LITTELM_INTERNAL_HEALTH_SERVICE_ACCOUNT_NAME, _HEALTH_CHECK_HASHED_API_KEY} + finally: + app.dependency_overrides.pop(ps.user_api_key_auth, None) + + +@pytest.mark.asyncio +async def test_ui_view_spend_logs_includes_internal_health_checks_by_default(client, monkeypatch): + mock_spend_logs = _spend_logs_with_health_check_rows() + + def filter_health_checks(where): + excluded = where.get("api_key_not_in") + if excluded is None: + return mock_spend_logs + return [log for log in mock_spend_logs if log["api_key"] not in excluded] + + observed_queries = [] + + def observe_query(sql_query, params): + if 'FROM "LiteLLM_SpendLogs"' in sql_query: + observed_queries.append((sql_query, params)) + + monkeypatch.setattr( + "litellm.proxy.proxy_server.prisma_client", + make_ui_spend_logs_mock_prisma(mock_spend_logs, filter_health_checks, query_observer=observe_query), + ) + app.dependency_overrides[ps.user_api_key_auth] = lambda: UserAPIKeyAuth( + user_role=LitellmUserRoles.PROXY_ADMIN, user_id="admin_user" + ) + + try: + start_date, end_date = _default_date_range() + response = client.get( + "/spend/logs/ui", + params={"start_date": start_date, "end_date": end_date}, + headers={"Authorization": "Bearer sk-test"}, + ) + + assert response.status_code == 200 + data = response.json() + assert data["total"] == 3 + assert [row["request_id"] for row in data["data"]] == ["req1", "req2", "req3"] + assert all("NOT IN" not in sql for sql, _ in observed_queries) + finally: + app.dependency_overrides.pop(ps.user_api_key_auth, None) + + @pytest.mark.asyncio async def test_ui_view_spend_logs_internal_user_scoped_without_user_id( client, monkeypatch diff --git a/ui/litellm-dashboard/src/components/networking.test.ts b/ui/litellm-dashboard/src/components/networking.test.ts index f12a52a0bcf..cd22935a66f 100644 --- a/ui/litellm-dashboard/src/components/networking.test.ts +++ b/ui/litellm-dashboard/src/components/networking.test.ts @@ -459,6 +459,64 @@ describe("teamInfoCall", () => { }); }); +describe("uiSpendLogsCall exclude_internal_health_checks serialization", () => { + const originalFetch = global.fetch; + + beforeEach(() => { + vi.clearAllMocks(); + }); + + afterEach(() => { + global.fetch = originalFetch; + }); + + const mockOkFetch = () => { + const mockFetch = vi.fn().mockResolvedValue({ + ok: true, + json: vi.fn().mockResolvedValue({ data: [], total: 0, page: 1, page_size: 50, total_pages: 0 }), + } as any); + global.fetch = mockFetch as any; + return mockFetch; + }; + + const callWith = (params: Parameters[0]["params"]) => + Networking.uiSpendLogsCall({ + accessToken: "token", + start_date: "2026-01-01 00:00:00", + end_date: "2026-01-02 00:00:00", + params, + }); + + const lastUrl = (mockFetch: ReturnType) => { + const [url] = mockFetch.mock.calls.at(-1) ?? []; + return new URL(url as string, "http://example.com"); + }; + + it("appends exclude_internal_health_checks=true when the toggle is on", async () => { + const mockFetch = mockOkFetch(); + + await callWith({ exclude_internal_health_checks: true }); + + expect(lastUrl(mockFetch).searchParams.get("exclude_internal_health_checks")).toBe("true"); + }); + + it("omits exclude_internal_health_checks when the toggle is off", async () => { + const mockFetch = mockOkFetch(); + + await callWith({ exclude_internal_health_checks: false }); + + expect(lastUrl(mockFetch).searchParams.has("exclude_internal_health_checks")).toBe(false); + }); + + it("omits exclude_internal_health_checks when the param is absent", async () => { + const mockFetch = mockOkFetch(); + + await callWith({}); + + expect(lastUrl(mockFetch).searchParams.has("exclude_internal_health_checks")).toBe(false); + }); +}); + describe("sessionSpendLogsCall", () => { const originalFetch = global.fetch; diff --git a/ui/litellm-dashboard/src/components/networking.tsx b/ui/litellm-dashboard/src/components/networking.tsx index 5b6d70b4771..c7868a5f039 100644 --- a/ui/litellm-dashboard/src/components/networking.tsx +++ b/ui/litellm-dashboard/src/components/networking.tsx @@ -2013,6 +2013,7 @@ interface UiSpendLogsParams { sort_order?: "asc" | "desc"; min_spend?: number; max_spend?: number; + exclude_internal_health_checks?: boolean; } interface UiSpendLogsCallOptions { @@ -2047,6 +2048,8 @@ export const uiSpendLogsCall = async ({ if (value == null) continue; if (key === "min_spend" || key === "max_spend") { queryParams.append(key, value.toString()); + } else if (typeof value === "boolean") { + if (value) queryParams.append(key, "true"); } else if (typeof value === "string" && value !== "") { queryParams.append(key, String(value)); } diff --git a/ui/litellm-dashboard/src/components/view_logs/LogsTableToolbar.tsx b/ui/litellm-dashboard/src/components/view_logs/LogsTableToolbar.tsx index 7cd339f1d48..cb7836d603f 100644 --- a/ui/litellm-dashboard/src/components/view_logs/LogsTableToolbar.tsx +++ b/ui/litellm-dashboard/src/components/view_logs/LogsTableToolbar.tsx @@ -23,6 +23,8 @@ interface LogsTableToolbarProps { onSelectedTimeIntervalChange: (value: { value: number; unit: string }) => void; isLiveTail: boolean; onIsLiveTailChange: (value: boolean) => void; + excludeInternalHealthChecks: boolean; + onExcludeInternalHealthChecksChange: (value: boolean) => void; onResetToFirstPage: () => void; onResetFilters: () => void; } @@ -38,6 +40,8 @@ export function LogsTableToolbar({ onSelectedTimeIntervalChange, isLiveTail, onIsLiveTailChange, + excludeInternalHealthChecks, + onExcludeInternalHealthChecksChange, onResetToFirstPage, onResetFilters, }: LogsTableToolbarProps) { @@ -125,6 +129,15 @@ export function LogsTableToolbar({ +
+ Hide Health Checks + +
+ diff --git a/ui/litellm-dashboard/src/components/view_logs/RequestLogsPanel.test.tsx b/ui/litellm-dashboard/src/components/view_logs/RequestLogsPanel.test.tsx index b68e12b9c3d..593bebdbdae 100644 --- a/ui/litellm-dashboard/src/components/view_logs/RequestLogsPanel.test.tsx +++ b/ui/litellm-dashboard/src/components/view_logs/RequestLogsPanel.test.tsx @@ -434,6 +434,35 @@ describe("RequestLogsPanel", () => { }); }); + describe("hide health checks", () => { + const toggle = () => screen.getByRole("switch", { name: "Hide Health Checks" }); + + it("defaults to showing health checks and refetches without them from page 1 when toggled on", async () => { + const user = userEvent.setup(); + renderPanel(); + + await waitFor(() => expect(uiSpendLogsCall).toHaveBeenCalled()); + expect(lastCall()?.params?.exclude_internal_health_checks).toBe(false); + expect(toggle()).not.toBeChecked(); + + await user.click(toggle()); + + await waitFor(() => expect(lastCall()?.params?.exclude_internal_health_checks).toBe(true)); + expect(lastCall()?.page).toBe(1); + expect(toggle()).toBeChecked(); + expect(sessionStorage.getItem("excludeInternalHealthChecks")).toBe("true"); + }); + + it("restores the persisted toggle from sessionStorage", async () => { + sessionStorage.setItem("excludeInternalHealthChecks", "true"); + renderPanel(); + + await waitFor(() => expect(uiSpendLogsCall).toHaveBeenCalled()); + expect(lastCall()?.params?.exclude_internal_health_checks).toBe(true); + expect(toggle()).toBeChecked(); + }); + }); + describe("live tail", () => { it("shows the auto-refresh banner on the first page and hides it once stopped", async () => { const user = userEvent.setup(); diff --git a/ui/litellm-dashboard/src/components/view_logs/RequestLogsPanel.tsx b/ui/litellm-dashboard/src/components/view_logs/RequestLogsPanel.tsx index b6f61cb3c6b..4e424904d40 100644 --- a/ui/litellm-dashboard/src/components/view_logs/RequestLogsPanel.tsx +++ b/ui/litellm-dashboard/src/components/view_logs/RequestLogsPanel.tsx @@ -72,6 +72,15 @@ export default function RequestLogsPanel({ accessToken, token, userRole, userID, sessionStorage.setItem("isLiveTail", JSON.stringify(isLiveTail)); }, [isLiveTail]); + const [excludeInternalHealthChecks, setExcludeInternalHealthChecks] = useState(() => { + const storedValue = sessionStorage.getItem("excludeInternalHealthChecks"); + return storedValue !== null ? JSON.parse(storedValue) : false; + }); + + useEffect(() => { + sessionStorage.setItem("excludeInternalHealthChecks", JSON.stringify(excludeInternalHealthChecks)); + }, [excludeInternalHealthChecks]); + const { logsQuery, filteredLogs, allTeams } = useLogFilterLogic({ accessToken, token, @@ -80,6 +89,7 @@ export default function RequestLogsPanel({ accessToken, token, userRole, userID, columnFilters, activeTab: isActive ? "request logs" : "inactive", isLiveTail, + excludeInternalHealthChecks, startTime, endTime, pagination, @@ -219,6 +229,14 @@ export default function RequestLogsPanel({ accessToken, token, userRole, userID, setPagination((previous) => ({ ...previous, pageIndex: 0 })); }, []); + const handleExcludeInternalHealthChecksChange = useCallback( + (value: boolean) => { + setExcludeInternalHealthChecks(value); + resetToFirstPage(); + }, + [resetToFirstPage], + ); + const handleResetFilters = useCallback(() => { setColumnFilters([]); setStartTime(moment().subtract(24, "hours").format("YYYY-MM-DDTHH:mm")); @@ -313,6 +331,8 @@ export default function RequestLogsPanel({ accessToken, token, userRole, userID, onSelectedTimeIntervalChange={setSelectedTimeInterval} isLiveTail={isLiveTail} onIsLiveTailChange={setIsLiveTail} + excludeInternalHealthChecks={excludeInternalHealthChecks} + onExcludeInternalHealthChecksChange={handleExcludeInternalHealthChecksChange} onResetToFirstPage={resetToFirstPage} onResetFilters={handleResetFilters} /> diff --git a/ui/litellm-dashboard/src/components/view_logs/log_filter_logic.test.tsx b/ui/litellm-dashboard/src/components/view_logs/log_filter_logic.test.tsx index 26c5bda1593..b61461dc4d7 100644 --- a/ui/litellm-dashboard/src/components/view_logs/log_filter_logic.test.tsx +++ b/ui/litellm-dashboard/src/components/view_logs/log_filter_logic.test.tsx @@ -47,6 +47,7 @@ const defaultProps = { columnFilters: [] as ColumnFiltersState, activeTab: "request logs", isLiveTail: false, + excludeInternalHealthChecks: false, startTime: "2025-01-01T00:00:00", endTime: "2025-01-01T23:59:59", pagination: FIRST_PAGE, @@ -152,6 +153,7 @@ describe("useLogFilterLogic", () => { ["pagination", { pagination: { pageIndex: 1, pageSize: 50 } }], ["startTime", { startTime: "2025-02-02T00:00:00" }], ["columnFilters", { columnFilters: [{ id: LOG_FILTER_IDS.TEAM_ID, value: "team-2" }] }], + ["excludeInternalHealthChecks", { excludeInternalHealthChecks: true }], ])("refetches when %s changes", async (_label, nextProps) => { const { rerender } = renderHook((props: HookOverrides) => useLogFilterLogic({ ...defaultProps, ...props }), { wrapper, @@ -164,6 +166,22 @@ describe("useLogFilterLogic", () => { }); }); + describe("hide health checks toggle", () => { + it("passes exclude_internal_health_checks when the toggle is on", async () => { + renderFilterHook({ excludeInternalHealthChecks: true }); + + await waitFor(() => expect(uiSpendLogsCall).toHaveBeenCalled()); + expect(lastCallParams()?.params).toMatchObject({ exclude_internal_health_checks: true }); + }); + + it("passes exclude_internal_health_checks as false when the toggle is off", async () => { + renderFilterHook(); + + await waitFor(() => expect(uiSpendLogsCall).toHaveBeenCalled()); + expect(lastCallParams()?.params).toMatchObject({ exclude_internal_health_checks: false }); + }); + }); + describe("query enablement", () => { it("does not query when the request logs tab is inactive", async () => { renderFilterHook({ activeTab: "audit logs" }); diff --git a/ui/litellm-dashboard/src/components/view_logs/log_filter_logic.tsx b/ui/litellm-dashboard/src/components/view_logs/log_filter_logic.tsx index 474f51e93b3..9b6666dc9ee 100644 --- a/ui/litellm-dashboard/src/components/view_logs/log_filter_logic.tsx +++ b/ui/litellm-dashboard/src/components/view_logs/log_filter_logic.tsx @@ -101,6 +101,7 @@ export function useLogFilterLogic({ columnFilters, activeTab, isLiveTail, + excludeInternalHealthChecks, startTime, endTime, pagination, @@ -114,6 +115,7 @@ export function useLogFilterLogic({ columnFilters: ColumnFiltersState; activeTab: string; isLiveTail: boolean; + excludeInternalHealthChecks: boolean; startTime: string; endTime: string; pagination: PaginationState; @@ -137,6 +139,7 @@ export function useLogFilterLogic({ columnFilters, sortBy, sortOrder, + excludeInternalHealthChecks, ], queryFn: async () => { if (!accessToken || !token || !userRole || !userID) { @@ -174,6 +177,7 @@ export function useLogFilterLogic({ error_message: getFilterValue(columnFilters, LOG_FILTER_IDS.ERROR_MESSAGE), sort_by: sortBy, sort_order: sortOrder, + exclude_internal_health_checks: excludeInternalHealthChecks, }, }); }, diff --git a/ui/litellm-dashboard/src/lib/http/schema.d.ts b/ui/litellm-dashboard/src/lib/http/schema.d.ts index 3d657ea53a7..04873dd5dc9 100644 --- a/ui/litellm-dashboard/src/lib/http/schema.d.ts +++ b/ui/litellm-dashboard/src/lib/http/schema.d.ts @@ -53256,6 +53256,8 @@ export interface operations { sort_by?: string; /** @description Sort order: asc or desc */ sort_order?: string | null; + /** @description Exclude LiteLLM internal health check requests from results */ + exclude_internal_health_checks?: boolean; }; header?: never; path?: never; @@ -53364,6 +53366,8 @@ export interface operations { sort_by?: string; /** @description Sort order: asc or desc */ sort_order?: string | null; + /** @description Exclude LiteLLM internal health check requests from results */ + exclude_internal_health_checks?: boolean; }; header?: never; path?: never; From 19a1d5c4c6e88aae8577c7286df5e43ff0bf8373 Mon Sep 17 00:00:00 2001 From: mateo-berri <277851410+mateo-berri@users.noreply.github.com> Date: Wed, 26 Aug 2026 12:52:10 -0700 Subject: [PATCH 06/32] fix(ui): tolerate malformed persisted hide-health-checks value --- .../src/components/view_logs/RequestLogsPanel.test.tsx | 9 +++++++++ .../src/components/view_logs/RequestLogsPanel.tsx | 7 +++---- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/ui/litellm-dashboard/src/components/view_logs/RequestLogsPanel.test.tsx b/ui/litellm-dashboard/src/components/view_logs/RequestLogsPanel.test.tsx index 593bebdbdae..22e3f635b50 100644 --- a/ui/litellm-dashboard/src/components/view_logs/RequestLogsPanel.test.tsx +++ b/ui/litellm-dashboard/src/components/view_logs/RequestLogsPanel.test.tsx @@ -461,6 +461,15 @@ describe("RequestLogsPanel", () => { expect(lastCall()?.params?.exclude_internal_health_checks).toBe(true); expect(toggle()).toBeChecked(); }); + + it("falls back to showing health checks when the persisted value is malformed", async () => { + sessionStorage.setItem("excludeInternalHealthChecks", "{not json"); + renderPanel(); + + await waitFor(() => expect(uiSpendLogsCall).toHaveBeenCalled()); + expect(lastCall()?.params?.exclude_internal_health_checks).toBe(false); + expect(toggle()).not.toBeChecked(); + }); }); describe("live tail", () => { diff --git a/ui/litellm-dashboard/src/components/view_logs/RequestLogsPanel.tsx b/ui/litellm-dashboard/src/components/view_logs/RequestLogsPanel.tsx index 4e424904d40..52ea78abf5e 100644 --- a/ui/litellm-dashboard/src/components/view_logs/RequestLogsPanel.tsx +++ b/ui/litellm-dashboard/src/components/view_logs/RequestLogsPanel.tsx @@ -72,10 +72,9 @@ export default function RequestLogsPanel({ accessToken, token, userRole, userID, sessionStorage.setItem("isLiveTail", JSON.stringify(isLiveTail)); }, [isLiveTail]); - const [excludeInternalHealthChecks, setExcludeInternalHealthChecks] = useState(() => { - const storedValue = sessionStorage.getItem("excludeInternalHealthChecks"); - return storedValue !== null ? JSON.parse(storedValue) : false; - }); + const [excludeInternalHealthChecks, setExcludeInternalHealthChecks] = useState( + () => sessionStorage.getItem("excludeInternalHealthChecks") === "true", + ); useEffect(() => { sessionStorage.setItem("excludeInternalHealthChecks", JSON.stringify(excludeInternalHealthChecks)); From cc400502fa84f04db5a7cc2301b4764caa68e9e7 Mon Sep 17 00:00:00 2001 From: Daniel Meismer Date: Wed, 26 Aug 2026 16:09:21 -0400 Subject: [PATCH 07/32] fix(mcp): canonicalize bearer scheme on bridge egress Co-Authored-By: Codex --- .../bridge_credentials.py | 3 ++- .../test_bridge_credentials.py | 26 +++++++++++++++++++ 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/litellm/proxy/_experimental/mcp_server/outbound_credentials/bridge_credentials.py b/litellm/proxy/_experimental/mcp_server/outbound_credentials/bridge_credentials.py index 69feaaff195..f8a95daecac 100644 --- a/litellm/proxy/_experimental/mcp_server/outbound_credentials/bridge_credentials.py +++ b/litellm/proxy/_experimental/mcp_server/outbound_credentials/bridge_credentials.py @@ -239,5 +239,6 @@ def resolve_bridge_envelope( if opened.identity.server_id != expected_server_id: return BridgeEnvelopeInvalid() grant: Final = opened.grant - upstream_authorization: Final = f"{grant.token_type} {grant.access_token.get_secret_value()}" + authorization_scheme: Final = "Bearer" if grant.token_type.lower() == "bearer" else grant.token_type + upstream_authorization: Final = f"{authorization_scheme} {grant.access_token.get_secret_value()}" return BridgeEnvelopeAdmitted(identity=opened.identity, upstream_authorization=SecretStr(upstream_authorization)) diff --git a/tests/test_litellm/proxy/_experimental/mcp_server/outbound_credentials/test_bridge_credentials.py b/tests/test_litellm/proxy/_experimental/mcp_server/outbound_credentials/test_bridge_credentials.py index 753a3d6a942..f8fb22469f1 100644 --- a/tests/test_litellm/proxy/_experimental/mcp_server/outbound_credentials/test_bridge_credentials.py +++ b/tests/test_litellm/proxy/_experimental/mcp_server/outbound_credentials/test_bridge_credentials.py @@ -10,6 +10,7 @@ through the consumer; and no path leaks the upstream token in a repr. from datetime import datetime, timedelta, timezone +import pytest from pydantic import SecretStr from litellm.proxy._experimental.mcp_server.outbound_credentials.bridge_credentials import ( @@ -188,6 +189,31 @@ def test_resolve_strips_optional_bearer_scheme_before_detection(): assert prefixed.upstream_authorization.get_secret_value() == bare.upstream_authorization.get_secret_value() +@pytest.mark.parametrize("token_type", ("bearer", "BEARER", "beArEr")) +def test_resolve_canonicalizes_case_insensitive_bearer_token_type(token_type: str): + keys = envelope_keys_from_master_key(_MASTER_KEY) + grant = UpstreamTokenGrant(access_token=SecretStr(_ACCESS_TOKEN), token_type=token_type, expires_in=600) + sealed = mint_envelope(_IDENTITY, grant, keys, _NOW) + assert isinstance(sealed, SealedEnvelope) + + result = resolve_bridge_envelope(sealed.token.get_secret_value(), keys, _NOW, _SERVER_ID) + + assert isinstance(result, BridgeEnvelopeAdmitted) + assert result.upstream_authorization.get_secret_value() == f"Bearer {_ACCESS_TOKEN}" + + +def test_resolve_preserves_non_bearer_token_type(): + keys = envelope_keys_from_master_key(_MASTER_KEY) + grant = UpstreamTokenGrant(access_token=SecretStr(_ACCESS_TOKEN), token_type="DPoP", expires_in=600) + sealed = mint_envelope(_IDENTITY, grant, keys, _NOW) + assert isinstance(sealed, SealedEnvelope) + + result = resolve_bridge_envelope(sealed.token.get_secret_value(), keys, _NOW, _SERVER_ID) + + assert isinstance(result, BridgeEnvelopeAdmitted) + assert result.upstream_authorization.get_secret_value() == f"DPoP {_ACCESS_TOKEN}" + + def test_resolve_expired_envelope_is_invalid_not_admitted(): keys = envelope_keys_from_master_key(_MASTER_KEY) token = _sealed_token(keys, now=_NOW) From afe5a240e5e99a7b544b2aca036adf6fafdede77 Mon Sep 17 00:00:00 2001 From: mateo-berri <277851410+mateo-berri@users.noreply.github.com> Date: Wed, 26 Aug 2026 14:32:04 -0700 Subject: [PATCH 08/32] fix(proxy): regenerate lazy OpenAPI snapshot and guard it in CI The committed snapshot behind /openapi.json for unloaded lazy features had drifted on 30 of 31 fragments and never had one for a2a_registration or gemini_agents, so those routes showed as placeholder GET stubs or old docstrings until traffic loaded them. Regenerate the snapshot and schema.d.ts, make the check-ui-api-types job and make check regenerate the snapshot and fail on drift, and make the generator refuse to write a snapshot when any feature fails to import so a broken import cannot silently drop fragments. --- .github/workflows/check-ui-api-types.yml | 18 + litellm/proxy/_lazy_openapi_snapshot.json | 7790 +++++++++++++++-- litellm/proxy/_lazy_openapi_snapshot.py | 62 +- scripts/pre_commit_lint.sh | 11 +- .../proxy/test_lazy_openapi_snapshot.py | 67 +- ui/litellm-dashboard/src/lib/http/schema.d.ts | 2942 ++++++- 6 files changed, 9889 insertions(+), 1001 deletions(-) diff --git a/.github/workflows/check-ui-api-types.yml b/.github/workflows/check-ui-api-types.yml index 285676a0ddd..312a80103f8 100644 --- a/.github/workflows/check-ui-api-types.yml +++ b/.github/workflows/check-ui-api-types.yml @@ -83,6 +83,24 @@ jobs: if: steps.changes.outputs.relevant == 'true' run: uv run --no-sync prisma generate --schema litellm/proxy/schema.prisma + - name: Regenerate the lazy OpenAPI snapshot + if: steps.changes.outputs.relevant == 'true' + run: uv run --no-sync python -m litellm.proxy._lazy_openapi_snapshot + + - name: Fail if the lazy OpenAPI snapshot is stale + if: steps.changes.outputs.relevant == 'true' + run: | + if ! git diff --exit-code -- litellm/proxy/_lazy_openapi_snapshot.json; then + echo "::error file=litellm/proxy/_lazy_openapi_snapshot.json::The lazy OpenAPI snapshot is out of sync with the lazily loaded routes." + echo "" + echo "A lazily loaded route or model changed without regenerating the snapshot that /openapi.json serves for unloaded features." + echo "To fix, run from the repo root:" + echo " uv run python -m litellm.proxy._lazy_openapi_snapshot" + echo "then run npm run gen:api from ui/litellm-dashboard and commit both files." + exit 1 + fi + echo "_lazy_openapi_snapshot.json is in sync with the lazily loaded routes." + - name: Set up Node.js if: steps.changes.outputs.relevant == 'true' uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0 diff --git a/litellm/proxy/_lazy_openapi_snapshot.json b/litellm/proxy/_lazy_openapi_snapshot.json index 026a02d6b1d..20c4ad4bd25 100644 --- a/litellm/proxy/_lazy_openapi_snapshot.json +++ b/litellm/proxy/_lazy_openapi_snapshot.json @@ -17,6 +17,13 @@ }, "ValidationError": { "properties": { + "ctx": { + "title": "Context", + "type": "object" + }, + "input": { + "title": "Input" + }, "loc": { "items": { "anyOf": [ @@ -283,6 +290,174 @@ } } }, + "a2a_registration": { + "components": { + "schemas": { + "DiscoverAgentRequest": { + "properties": { + "discovery_mode": { + "$ref": "#/components/schemas/DiscoveryMode", + "default": "well_known_fallback", + "description": "How to locate the upstream card. ``well_known_fallback`` for pure A2A agents (try standard paths); ``langgraph_platform`` for LangGraph Platform deployments where the card is shared across assistants and disambiguated by a query parameter." + }, + "params": { + "anyOf": [ + { + "additionalProperties": true, + "type": "object" + }, + { + "type": "null" + } + ], + "description": "Mode-specific parameters. ``langgraph_platform`` requires ``{'assistant_id': }``. ``well_known_fallback`` ignores this.", + "title": "Params" + }, + "url": { + "description": "Base URL of the upstream agent. Behavior depends on ``discovery_mode``: ``well_known_fallback`` (default) tries /.well-known/agent-card.json, /.well-known/agent.json, /agent.json under this URL in order; ``langgraph_platform`` hits ``/.well-known/agent-card.json?assistant_id=`` instead.", + "title": "Url", + "type": "string" + } + }, + "required": [ + "url" + ], + "title": "DiscoverAgentRequest", + "type": "object" + }, + "DiscoverAgentResponse": { + "properties": { + "agent_card": { + "additionalProperties": true, + "title": "Agent Card", + "type": "object" + }, + "url": { + "title": "Url", + "type": "string" + } + }, + "required": [ + "url", + "agent_card" + ], + "title": "DiscoverAgentResponse", + "type": "object" + }, + "DiscoveryMode": { + "description": "How to locate the upstream agent card.\n\nString-valued so it serializes cleanly over JSON / Pydantic.", + "enum": [ + "well_known_fallback", + "langgraph_platform" + ], + "title": "DiscoveryMode", + "type": "string" + }, + "HTTPValidationError": { + "properties": { + "detail": { + "items": { + "$ref": "#/components/schemas/ValidationError" + }, + "title": "Detail", + "type": "array" + } + }, + "title": "HTTPValidationError", + "type": "object" + }, + "ValidationError": { + "properties": { + "ctx": { + "title": "Context", + "type": "object" + }, + "input": { + "title": "Input" + }, + "loc": { + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "integer" + } + ] + }, + "title": "Location", + "type": "array" + }, + "msg": { + "title": "Message", + "type": "string" + }, + "type": { + "title": "Error Type", + "type": "string" + } + }, + "required": [ + "loc", + "msg", + "type" + ], + "title": "ValidationError", + "type": "object" + } + } + }, + "paths": { + "/v1/a2a/discover": { + "post": { + "description": "Fetch the upstream agent's well-known card so the UI can show the admin\nwhich skills/capabilities the agent exposes.\n\nOnly proxy admins can call this \u2014 the UI uses it during agent registration,\nand we don't want arbitrary keys probing internal URLs.\n\nExample:\n```bash\ncurl -X POST \"http://localhost:4000/v1/a2a/discover\" \\\n -H \"Authorization: Bearer \" \\\n -H \"Content-Type: application/json\" \\\n -d '{\"url\": \"https://upstream-agent.example.com\"}'\n```", + "operationId": "discover_agent_card_v1_a2a_discover_post", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DiscoverAgentRequest" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DiscoverAgentResponse" + } + } + }, + "description": "Successful Response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + } + ], + "summary": "Discover Agent Card", + "tags": [ + "a2a_registration" + ] + } + } + } + }, "access_groups": { "components": { "schemas": { @@ -782,6 +957,13 @@ }, "ValidationError": { "properties": { + "ctx": { + "title": "Context", + "type": "object" + }, + "input": { + "title": "Input" + }, "loc": { "items": { "anyOf": [ @@ -1939,6 +2121,41 @@ "title": "AgentInterface", "type": "object" }, + "AgentKeySummary": { + "properties": { + "key_alias": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Key Alias" + }, + "key_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Key Name" + }, + "token": { + "title": "Token", + "type": "string" + } + }, + "required": [ + "token" + ], + "title": "AgentKeySummary", + "type": "object" + }, "AgentMakePublicResponse": { "properties": { "message": { @@ -2111,6 +2328,20 @@ ], "title": "Extra Headers" }, + "keys": { + "anyOf": [ + { + "items": { + "$ref": "#/components/schemas/AgentKeySummary" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Keys" + }, "litellm_params": { "anyOf": [ { @@ -2418,6 +2649,11 @@ "title": "Total Api Requests", "type": "integer" }, + "total_autorouter_savings_spend": { + "default": 0.0, + "title": "Total Autorouter Savings Spend", + "type": "number" + }, "total_cache_creation_input_tokens": { "default": 0, "title": "Total Cache Creation Input Tokens", @@ -2433,16 +2669,36 @@ "title": "Total Completion Tokens", "type": "integer" }, + "total_compression_saved_tokens": { + "default": 0, + "title": "Total Compression Saved Tokens", + "type": "integer" + }, + "total_compression_savings_spend": { + "default": 0.0, + "title": "Total Compression Savings Spend", + "type": "number" + }, "total_failed_requests": { "default": 0, "title": "Total Failed Requests", "type": "integer" }, + "total_flat_cost": { + "default": 0.0, + "title": "Total Flat Cost", + "type": "number" + }, "total_pages": { "default": 1, "title": "Total Pages", "type": "integer" }, + "total_prompt_caching_savings_spend": { + "default": 0.0, + "title": "Total Prompt Caching Savings Spend", + "type": "number" + }, "total_prompt_tokens": { "default": 0, "title": "Total Prompt Tokens", @@ -2504,8 +2760,7 @@ }, "required": [ "type", - "scheme", - "bearerFormat" + "scheme" ], "title": "HTTPAuthSecurityScheme", "type": "object" @@ -2670,8 +2925,7 @@ }, "required": [ "type", - "flows", - "oauth2MetadataUrl" + "flows" ], "title": "OAuth2SecurityScheme", "type": "object" @@ -2881,6 +3135,11 @@ "title": "Api Requests", "type": "integer" }, + "autorouter_savings_spend": { + "default": 0.0, + "title": "Autorouter Savings Spend", + "type": "number" + }, "cache_creation_input_tokens": { "default": 0, "title": "Cache Creation Input Tokens", @@ -2896,11 +3155,31 @@ "title": "Completion Tokens", "type": "integer" }, + "compression_saved_tokens": { + "default": 0, + "title": "Compression Saved Tokens", + "type": "integer" + }, + "compression_savings_spend": { + "default": 0.0, + "title": "Compression Savings Spend", + "type": "number" + }, "failed_requests": { "default": 0, "title": "Failed Requests", "type": "integer" }, + "flat_cost": { + "default": 0.0, + "title": "Flat Cost", + "type": "number" + }, + "prompt_caching_savings_spend": { + "default": 0.0, + "title": "Prompt Caching Savings Spend", + "type": "number" + }, "prompt_tokens": { "default": 0, "title": "Prompt Tokens", @@ -2927,6 +3206,13 @@ }, "ValidationError": { "properties": { + "ctx": { + "title": "Context", + "type": "object" + }, + "input": { + "title": "Input" + }, "loc": { "items": { "anyOf": [ @@ -3171,7 +3457,7 @@ ] }, "post": { - "description": "Create a new agent\n\nExample Request:\n```bash\ncurl -X POST \"http://localhost:4000/v1/agents\" \\\n -H \"Authorization: Bearer \" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"agent_name\": \"my-custom-agent\",\n \"agent_card_params\": {\n \"protocolVersion\": \"1.0\",\n \"name\": \"Hello World Agent\",\n \"description\": \"Just a hello world agent\",\n \"url\": \"http://localhost:9999/\",\n \"version\": \"1.0.0\",\n \"defaultInputModes\": [\"text\"],\n \"defaultOutputModes\": [\"text\"],\n \"capabilities\": {\n \"streaming\": true\n },\n \"skills\": [\n {\n \"id\": \"hello_world\",\n \"name\": \"Returns hello world\",\n \"description\": \"just returns hello world\",\n \"tags\": [\"hello world\"],\n \"examples\": [\"hi\", \"hello world\"]\n }\n ]\n },\n \"litellm_params\": {\n \"make_public\": true\n }\n }'\n```", + "description": "Create a new agent\n\nExample Request:\n```bash\ncurl -X POST \"http://localhost:4000/v1/agents\" \\\n -H \"Authorization: Bearer \" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"agent_name\": \"my-custom-agent\",\n \"agent_card_params\": {\n \"protocolVersion\": \"1.0\",\n \"name\": \"Hello World Agent\",\n \"description\": \"Just a hello world agent\",\n \"url\": \"http://localhost:9999/\",\n \"version\": \"1.0.0\",\n \"defaultInputModes\": [\"text\"],\n \"defaultOutputModes\": [\"text\"],\n \"capabilities\": {\n \"streaming\": true\n },\n \"skills\": [\n {\n \"id\": \"hello_world\",\n \"name\": \"Returns hello world\",\n \"description\": \"just returns hello world\",\n \"tags\": [\"hello world\"],\n \"examples\": [\"hi\", \"hello world\"]\n }\n ]\n },\n \"litellm_params\": {\n \"make_public\": true\n }\n }'\n```", "operationId": "create_agent_v1_agents_post", "requestBody": { "content": { @@ -3265,7 +3551,7 @@ }, "/v1/agents/{agent_id}": { "delete": { - "description": "Delete an agent\n\nExample Request:\n```bash\ncurl -X DELETE \"http://localhost:4000/agents/123e4567-e89b-12d3-a456-426614174000\" \\\n -H \"Authorization: Bearer \"\n```\n\nExample Response:\n```json\n{\n \"message\": \"Agent 123e4567-e89b-12d3-a456-426614174000 deleted successfully\"\n}\n```", + "description": "Delete an agent\n\nExample Request:\n```bash\ncurl -X DELETE \"http://localhost:4000/v1/agents/123e4567-e89b-12d3-a456-426614174000\" \\\n -H \"Authorization: Bearer \"\n```\n\nExample Response:\n```json\n{\n \"message\": \"Agent 123e4567-e89b-12d3-a456-426614174000 deleted successfully\"\n}\n```", "operationId": "delete_agent_v1_agents__agent_id__delete", "parameters": [ { @@ -3309,7 +3595,7 @@ ] }, "get": { - "description": "Get a specific agent by ID\n\nExample Request:\n```bash\ncurl -X GET \"http://localhost:4000/agents/123e4567-e89b-12d3-a456-426614174000\" \\\n -H \"Authorization: Bearer \"\n```", + "description": "Get a specific agent by ID\n\nExample Request:\n```bash\ncurl -X GET \"http://localhost:4000/v1/agents/123e4567-e89b-12d3-a456-426614174000\" \\\n -H \"Authorization: Bearer \"\n```", "operationId": "get_agent_by_id_v1_agents__agent_id__get", "parameters": [ { @@ -3355,7 +3641,7 @@ ] }, "patch": { - "description": "Update an existing agent\n\nExample Request:\n```bash\ncurl -X PUT \"http://localhost:4000/agents/123e4567-e89b-12d3-a456-426614174000\" \\\n -H \"Authorization: Bearer \" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"agent\": {\n \"agent_name\": \"updated-agent\",\n \"agent_card_params\": {\n \"protocolVersion\": \"1.0\",\n \"name\": \"Updated Agent\",\n \"description\": \"Updated description\",\n \"url\": \"http://localhost:9999/\",\n \"version\": \"1.1.0\",\n \"defaultInputModes\": [\"text\"],\n \"defaultOutputModes\": [\"text\"],\n \"capabilities\": {\n \"streaming\": true\n },\n \"skills\": []\n },\n \"litellm_params\": {\n \"make_public\": false\n }\n }\n }'\n```", + "description": "Update an existing agent\n\nExample Request:\n```bash\ncurl -X PATCH \"http://localhost:4000/v1/agents/123e4567-e89b-12d3-a456-426614174000\" \\\n -H \"Authorization: Bearer \" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"agent_name\": \"updated-agent\",\n \"agent_card_params\": {\n \"protocolVersion\": \"1.0\",\n \"name\": \"Updated Agent\",\n \"description\": \"Updated description\",\n \"url\": \"http://localhost:9999/\",\n \"version\": \"1.1.0\",\n \"defaultInputModes\": [\"text\"],\n \"defaultOutputModes\": [\"text\"],\n \"capabilities\": {\n \"streaming\": true\n },\n \"skills\": []\n },\n \"litellm_params\": {\n \"make_public\": false\n }\n }'\n```", "operationId": "patch_agent_v1_agents__agent_id__patch", "parameters": [ { @@ -3411,7 +3697,7 @@ ] }, "put": { - "description": "Update an existing agent\n\nExample Request:\n```bash\ncurl -X PUT \"http://localhost:4000/agents/123e4567-e89b-12d3-a456-426614174000\" \\\n -H \"Authorization: Bearer \" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"agent\": {\n \"agent_name\": \"updated-agent\",\n \"agent_card_params\": {\n \"protocolVersion\": \"1.0\",\n \"name\": \"Updated Agent\",\n \"description\": \"Updated description\",\n \"url\": \"http://localhost:9999/\",\n \"version\": \"1.1.0\",\n \"defaultInputModes\": [\"text\"],\n \"defaultOutputModes\": [\"text\"],\n \"capabilities\": {\n \"streaming\": true\n },\n \"skills\": []\n },\n \"litellm_params\": {\n \"make_public\": false\n }\n }\n }'\n```", + "description": "Update an existing agent\n\nExample Request:\n```bash\ncurl -X PUT \"http://localhost:4000/v1/agents/123e4567-e89b-12d3-a456-426614174000\" \\\n -H \"Authorization: Bearer \" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"agent_name\": \"updated-agent\",\n \"agent_card_params\": {\n \"protocolVersion\": \"1.0\",\n \"name\": \"Updated Agent\",\n \"description\": \"Updated description\",\n \"url\": \"http://localhost:9999/\",\n \"version\": \"1.1.0\",\n \"defaultInputModes\": [\"text\"],\n \"defaultOutputModes\": [\"text\"],\n \"capabilities\": {\n \"streaming\": true\n },\n \"skills\": []\n },\n \"litellm_params\": {\n \"make_public\": false\n }\n }'\n```", "operationId": "update_agent_v1_agents__agent_id__put", "parameters": [ { @@ -3535,6 +3821,13 @@ }, "ValidationError": { "properties": { + "ctx": { + "title": "Context", + "type": "object" + }, + "input": { + "title": "Input" + }, "loc": { "items": { "anyOf": [ @@ -3989,6 +4282,13 @@ }, "ValidationError": { "properties": { + "ctx": { + "title": "Context", + "type": "object" + }, + "input": { + "title": "Input" + }, "loc": { "items": { "anyOf": [ @@ -4963,7 +5263,7 @@ ] }, "post": { - "description": "Register a new plugin in the LiteLLM marketplace.\n\nLiteLLM acts as a registry/discovery layer. Plugins are hosted on\nGitHub/GitLab/Bitbucket. Claude Code will clone from the git source\nwhen users install.\n\nThis endpoint is create-only and never overwrites. If a plugin with\nthe same name already exists it returns 409 Conflict; use\nPUT /claude-code/plugins/{plugin_name} to update an existing plugin.\n\nParameters:\n - name: Plugin name (kebab-case)\n - source: Git source reference (github, url, or git-subdir format)\n - version: Semantic version (optional)\n - description: Plugin description (optional)\n - author: Author information (optional)\n - homepage: Plugin homepage URL (optional)\n - keywords: Search keywords (optional)\n - category: Plugin category (optional)\n\nReturns:\n Registration status (action is always \"created\") and plugin information.\n\nExample:\n ```bash\n curl -X POST http://localhost:4000/claude-code/plugins \\\n -H \"Authorization: Bearer sk-...\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"name\": \"my-plugin\",\n \"source\": {\"source\": \"github\", \"repo\": \"org/my-plugin\"},\n \"version\": \"1.0.0\",\n \"description\": \"My awesome plugin\"\n }'\n ```", + "description": "Register a new plugin in the LiteLLM marketplace.\n\nLiteLLM acts as a registry/discovery layer. Plugins are hosted on\nGitHub/GitLab/Bitbucket. Claude Code will clone from the git source\nwhen users install.\n\nThis endpoint is create-only and never overwrites. If a plugin with\nthe same name already exists it returns 409 Conflict; use\nPUT /claude-code/plugins/{plugin_name} to update an existing plugin.\n\nRequires a proxy admin API key.\n\nParameters:\n - name: Plugin name (kebab-case)\n - source: Git source reference (github, url, or git-subdir format)\n - version: Semantic version (optional)\n - description: Plugin description (optional)\n - author: Author information (optional)\n - homepage: Plugin homepage URL (optional)\n - keywords: Search keywords (optional)\n - category: Plugin category (optional)\n\nReturns:\n Registration status (action is always \"created\") and plugin information.\n\nExample:\n ```bash\n curl -X POST http://localhost:4000/claude-code/plugins \\\n -H \"Authorization: Bearer sk-...\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"name\": \"my-plugin\",\n \"source\": {\"source\": \"github\", \"repo\": \"org/my-plugin\"},\n \"version\": \"1.0.0\",\n \"description\": \"My awesome plugin\"\n }'\n ```", "operationId": "register_plugin_claude_code_plugins_post", "requestBody": { "content": { @@ -5010,7 +5310,7 @@ }, "/claude-code/plugins/{plugin_name}": { "delete": { - "description": "Delete a plugin from the marketplace.\n\nParameters:\n - plugin_name: The name of the plugin to delete", + "description": "Delete a plugin from the marketplace.\n\nRequires a proxy admin API key.\n\nParameters:\n - plugin_name: The name of the plugin to delete", "operationId": "delete_plugin_claude_code_plugins__plugin_name__delete", "parameters": [ { @@ -5098,7 +5398,7 @@ ] }, "put": { - "description": "Update an existing plugin in the LiteLLM marketplace.\n\nThe plugin is identified by its name in the path, which is the resource\nidentity and cannot be changed here. This is a full replace, not a merge:\nthe manifest is rebuilt from the request body, so any optional field left\nout is reset to its default (e.g. an omitted version is cleared, not kept).\nSend the full desired state.\n\nReturns 404 if no plugin with the given name exists; use\nPOST /claude-code/plugins to create a new plugin.\n\nParameters:\n - plugin_name: Name of the plugin to update (path parameter)\n - source: Git source reference (github, url, or git-subdir format)\n - version: Semantic version (optional)\n - description: Plugin description (optional)\n - author: Author information (optional)\n - homepage: Plugin homepage URL (optional)\n - keywords: Search keywords (optional)\n - category: Plugin category (optional)\n\nReturns:\n Update status (action is always \"updated\") and plugin information.\n\nExample:\n ```bash\n curl -X PUT http://localhost:4000/claude-code/plugins/my-plugin \\\n -H \"Authorization: Bearer sk-...\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"source\": {\"source\": \"github\", \"repo\": \"org/my-plugin\"},\n \"version\": \"2.0.0\",\n \"description\": \"My awesome plugin\"\n }'\n ```", + "description": "Update an existing plugin in the LiteLLM marketplace.\n\nThe plugin is identified by its name in the path, which is the resource\nidentity and cannot be changed here. This is a full replace, not a merge:\nthe manifest is rebuilt from the request body, so any optional field left\nout is reset to its default (e.g. an omitted version is cleared, not kept).\nSend the full desired state.\n\nReturns 404 if no plugin with the given name exists; use\nPOST /claude-code/plugins to create a new plugin.\n\nRequires a proxy admin API key.\n\nParameters:\n - plugin_name: Name of the plugin to update (path parameter)\n - source: Git source reference (github, url, or git-subdir format)\n - version: Semantic version (optional)\n - description: Plugin description (optional)\n - author: Author information (optional)\n - homepage: Plugin homepage URL (optional)\n - keywords: Search keywords (optional)\n - category: Plugin category (optional)\n\nReturns:\n Update status (action is always \"updated\") and plugin information.\n\nExample:\n ```bash\n curl -X PUT http://localhost:4000/claude-code/plugins/my-plugin \\\n -H \"Authorization: Bearer sk-...\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"source\": {\"source\": \"github\", \"repo\": \"org/my-plugin\"},\n \"version\": \"2.0.0\",\n \"description\": \"My awesome plugin\"\n }'\n ```", "operationId": "update_plugin_claude_code_plugins__plugin_name__put", "parameters": [ { @@ -5156,7 +5456,7 @@ }, "/claude-code/plugins/{plugin_name}/disable": { "post": { - "description": "Disable a plugin without deleting it.\n\nParameters:\n - plugin_name: The name of the plugin to disable", + "description": "Disable a plugin without deleting it.\n\nRequires a proxy admin API key.\n\nParameters:\n - plugin_name: The name of the plugin to disable", "operationId": "disable_plugin_claude_code_plugins__plugin_name__disable_post", "parameters": [ { @@ -5202,7 +5502,7 @@ }, "/claude-code/plugins/{plugin_name}/enable": { "post": { - "description": "Enable a disabled plugin.\n\nParameters:\n - plugin_name: The name of the plugin to enable", + "description": "Enable a disabled plugin.\n\nRequires a proxy admin API key.\n\nParameters:\n - plugin_name: The name of the plugin to enable", "operationId": "enable_plugin_claude_code_plugins__plugin_name__enable_post", "parameters": [ { @@ -5517,6 +5817,13 @@ }, "ValidationError": { "properties": { + "ctx": { + "title": "Context", + "type": "object" + }, + "input": { + "title": "Input" + }, "loc": { "items": { "anyOf": [ @@ -5929,6 +6236,13 @@ }, "ValidationError": { "properties": { + "ctx": { + "title": "Context", + "type": "object" + }, + "input": { + "title": "Input" + }, "loc": { "items": { "anyOf": [ @@ -6245,6 +6559,13 @@ }, "ValidationError": { "properties": { + "ctx": { + "title": "Context", + "type": "object" + }, + "input": { + "title": "Input" + }, "loc": { "items": { "anyOf": [ @@ -6283,6 +6604,26 @@ "delete": { "description": "Delete Hashicorp Vault configuration. Idempotent.", "operationId": "delete_hashicorp_vault_config_config_overrides_hashicorp_vault_delete", + "parameters": [ + { + "description": "The litellm-changed-by header enables tracking of actions performed by authorized users on behalf of other users, providing an audit trail for accountability", + "in": "header", + "name": "litellm-changed-by", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "The litellm-changed-by header enables tracking of actions performed by authorized users on behalf of other users, providing an audit trail for accountability", + "title": "Litellm-Changed-By" + } + } + ], "responses": { "200": { "content": { @@ -6291,6 +6632,16 @@ } }, "description": "Successful Response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" } }, "security": [ @@ -6331,6 +6682,26 @@ "post": { "description": "Update Hashicorp Vault secret manager configuration.\nSets environment variables, encrypts sensitive fields, and stores in DB.\nReinitializes the secret manager on this pod.", "operationId": "update_hashicorp_vault_config_config_overrides_hashicorp_vault_post", + "parameters": [ + { + "description": "The litellm-changed-by header enables tracking of actions performed by authorized users on behalf of other users, providing an audit trail for accountability", + "in": "header", + "name": "litellm-changed-by", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "The litellm-changed-by header enables tracking of actions performed by authorized users on behalf of other users, providing an audit trail for accountability", + "title": "Litellm-Changed-By" + } + } + ], "requestBody": { "content": { "application/json": { @@ -6932,6 +7303,13 @@ }, "ValidationError": { "properties": { + "ctx": { + "title": "Context", + "type": "object" + }, + "input": { + "title": "Input" + }, "loc": { "items": { "anyOf": [ @@ -7826,6 +8204,251 @@ } } }, + "gemini_agents": { + "components": { + "schemas": { + "HTTPValidationError": { + "properties": { + "detail": { + "items": { + "$ref": "#/components/schemas/ValidationError" + }, + "title": "Detail", + "type": "array" + } + }, + "title": "HTTPValidationError", + "type": "object" + }, + "ValidationError": { + "properties": { + "ctx": { + "title": "Context", + "type": "object" + }, + "input": { + "title": "Input" + }, + "loc": { + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "integer" + } + ] + }, + "title": "Location", + "type": "array" + }, + "msg": { + "title": "Message", + "type": "string" + }, + "type": { + "title": "Error Type", + "type": "string" + } + }, + "required": [ + "loc", + "msg", + "type" + ], + "title": "ValidationError", + "type": "object" + } + } + }, + "paths": { + "/v1beta/agents": { + "get": { + "description": "List all custom agents on the Gemini side.\n\nPass per-request Gemini credentials via the JSON-encoded\n``litellm_params_template`` query parameter. Flat query parameters\n(e.g. ``?api_key=AIza...``) are intentionally ignored \u2014 see\n``_merge_query_params_into_data`` for the rationale.\n\n```bash\ncurl \"http://localhost:4000/v1beta/agents?litellm_params_template=%7B%22api_key%22%3A%22AIza...%22%7D\" \\\n -H \"Authorization: Bearer sk-...\"\n```", + "operationId": "list_gemini_agents_v1beta_agents_get", + "responses": { + "200": { + "content": { + "application/json": { + "schema": {} + } + }, + "description": "Successful Response" + } + }, + "security": [ + { + "APIKeyHeader": [] + } + ], + "summary": "List Gemini Agents", + "tags": [ + "gemini_agents" + ] + }, + "post": { + "description": "Create a named custom agent on the Gemini side.\n\nExample:\n```bash\ncurl -X POST \"http://localhost:4000/v1beta/agents\" \\\n -H \"Authorization: Bearer sk-...\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"name\": \"my-custom-slides-agent\",\n \"base_agent\": \"waverunner\",\n \"instructions\": \"You are a helpful assistant that creates slides.\",\n \"base_environment\": {\n \"type\": \"remote\",\n \"sources\": [\n {\"type\": \"gcs\", \"source\": \"gs://eap-templates/slides-skill\",\n \"target\": \"/.agents/skills/slides-skill\"}\n ]\n }\n }'\n```", + "operationId": "create_gemini_agent_v1beta_agents_post", + "responses": { + "200": { + "content": { + "application/json": { + "schema": {} + } + }, + "description": "Successful Response" + } + }, + "security": [ + { + "APIKeyHeader": [] + } + ], + "summary": "Create Gemini Agent", + "tags": [ + "gemini_agents" + ] + } + }, + "/v1beta/agents/{name}": { + "delete": { + "description": "Delete a custom agent by name.\n\nPass per-request Gemini credentials via the JSON-encoded\n``litellm_params_template`` query parameter. Flat query parameters\n(e.g. ``?api_key=AIza...``) are intentionally ignored \u2014 see\n``_merge_query_params_into_data`` for the rationale.\n\n```bash\ncurl -X DELETE \"http://localhost:4000/v1beta/agents/my-custom-slides-agent?litellm_params_template=%7B%22api_key%22%3A%22AIza...%22%7D\" \\\n -H \"Authorization: Bearer sk-...\"\n```", + "operationId": "delete_gemini_agent_v1beta_agents__name__delete", + "parameters": [ + { + "in": "path", + "name": "name", + "required": true, + "schema": { + "title": "Name", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": {} + } + }, + "description": "Successful Response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + } + ], + "summary": "Delete Gemini Agent", + "tags": [ + "gemini_agents" + ] + }, + "get": { + "description": "Get a specific custom agent by name.\n\nPass per-request Gemini credentials via the JSON-encoded\n``litellm_params_template`` query parameter. Flat query parameters\n(e.g. ``?api_key=AIza...``) are intentionally ignored \u2014 see\n``_merge_query_params_into_data`` for the rationale.\n\n```bash\ncurl \"http://localhost:4000/v1beta/agents/my-custom-slides-agent?litellm_params_template=%7B%22api_key%22%3A%22AIza...%22%7D\" \\\n -H \"Authorization: Bearer sk-...\"\n```", + "operationId": "get_gemini_agent_v1beta_agents__name__get", + "parameters": [ + { + "in": "path", + "name": "name", + "required": true, + "schema": { + "title": "Name", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": {} + } + }, + "description": "Successful Response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + } + ], + "summary": "Get Gemini Agent", + "tags": [ + "gemini_agents" + ] + } + }, + "/v1beta/agents/{name}/versions": { + "get": { + "description": "List versions of a custom agent.\n\nPass per-request Gemini credentials via the JSON-encoded\n``litellm_params_template`` query parameter. Flat query parameters\n(e.g. ``?api_key=AIza...``) are intentionally ignored \u2014 see\n``_merge_query_params_into_data`` for the rationale.\n\n```bash\ncurl \"http://localhost:4000/v1beta/agents/my-custom-slides-agent/versions?litellm_params_template=%7B%22api_key%22%3A%22AIza...%22%7D\" \\\n -H \"Authorization: Bearer sk-...\"\n```", + "operationId": "list_gemini_agent_versions_v1beta_agents__name__versions_get", + "parameters": [ + { + "in": "path", + "name": "name", + "required": true, + "schema": { + "title": "Name", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": {} + } + }, + "description": "Successful Response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + } + ], + "summary": "List Gemini Agent Versions", + "tags": [ + "gemini_agents" + ] + } + } + } + }, "guardrails": { "components": { "schemas": { @@ -7917,7 +8540,7 @@ "title": "ApplyGuardrailResponse", "type": "object" }, - "BaseLitellmParams-Input": { + "BaseLitellmParams": { "additionalProperties": true, "properties": { "additional_provider_specific_params": { @@ -8121,7 +8744,7 @@ } ], "default": true, - "description": "Whether to fail the request if Model Armor encounters an error", + "description": "Whether to fail the request if the guardrail encounters an error. Implemented by guardrail='model_armor' and 'generic_guardrail_api'. True (default) raises the error. False logs a critical error and lets the request proceed, so only a valid guardrail response can block or modify it.", "title": "Fail On Error" }, "guard_name": { @@ -8196,6 +8819,22 @@ "description": "Optional field if guardrail requires a 'model' parameter", "title": "Model" }, + "on_sensitive_data": { + "anyOf": [ + { + "enum": [ + "block", + "route" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Action to take when sensitive data is detected. 'block' raises an exception (default behavior). 'route' reroutes the request to the model specified in sensitive_data_route_to_model.", + "title": "On Sensitive Data" + }, "on_violation": { "anyOf": [ { @@ -8212,6 +8851,19 @@ "description": "For /v1/realtime sessions: 'warn' speaks the violation message and continues; 'end_session' speaks the message and closes the connection.", "title": "On Violation" }, + "only_scan_new_messages": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "default": false, + "description": "When True, the guardrail only scans messages that have not already been scanned earlier in the same session (identified by litellm_session_id / session_id). Message content is hashed per session and cached; only the diff (new or edited messages) is sent to the guardrail provider on follow-up calls. Falls back to a full scan when the request has no session id or the cache is unavailable. Intended for blocking/detection guardrails; not applied when mask_request_content is set.", + "title": "Only Scan New Messages" + }, "pangea_input_recipe": { "anyOf": [ { @@ -8275,6 +8927,55 @@ "description": "The message the bot speaks aloud when a /v1/realtime guardrail fires. Falls back to violation_message_template if not set.", "title": "Realtime Violation Message" }, + "run_in_parallel": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "description": "When True, this pre_call or post_call guardrail runs concurrently with other opted-in guardrails of the same hook, after the sequential guardrails have run. Use only for block-only guardrails that inspect and reject; do not enable it for guardrails that modify the request or response (e.g. PII masking or sensitive-data routing), since parallel runs share one snapshot and their mutations would race.", + "title": "Run In Parallel" + }, + "sanitize_error_detail": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "default": true, + "description": "For guardrail='model_armor': omit the raw Model Armor response from caller-facing errors and logs by default. Set False to restore verbose output.", + "title": "Sanitize Error Detail" + }, + "scan_only_tool_results": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "description": "When True, unified guardrails only evaluate tool results, the untrusted data an agent feeds back into the model, and skip system, user, and assistant content. Intended for agent harnesses whose own prompt scaffolding is trusted but often trips prompt-attack detectors.", + "title": "Scan Only Tool Results" + }, + "sensitive_data_route_to_model": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Model to route requests to when sensitive data is detected and on_sensitive_data='route'. This is typically an on-premise model for data privacy. The routing decision persists for the entire session.", + "title": "Sensitive Data Route To Model" + }, "severity_threshold": { "anyOf": [ { @@ -8296,9 +8997,47 @@ "type": "null" } ], - "description": "When True, unified guardrails skip system-role messages when building evaluation inputs (texts and structured_messages). When False, system messages are included even if litellm_settings sets a global skip. When None, use the global litellm.skip_system_message_in_guardrail setting.", + "description": "When True, unified guardrails skip system-role messages when building evaluation inputs (texts and structured_messages). When False, system messages are included even if litellm_settings sets a global skip. When None, use the global litellm.skip_system_message_in_guardrail setting. For Anthropic /v1/messages, the flag applies only to the trusted top-level system prompt. In-sequence system entries are untrusted client input and remain in texts and structured_messages.", "title": "Skip System Message In Guardrail" }, + "skip_tool_message_in_guardrail": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "description": "When True, unified guardrails skip tool-role messages when building evaluation inputs (texts and structured_messages). When False, tool messages are included even if litellm_settings sets a global skip. When None, use the global litellm.skip_tool_message_in_guardrail setting.", + "title": "Skip Tool Message In Guardrail" + }, + "skip_unscannable_attachments": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "default": false, + "description": "Implemented by guardrail='model_armor'. When True, attachment references that carry no inline bytes (file_id, gs://, or http(s) URLs) pass through unscanned instead of blocking, while fail_on_error still governs real Model Armor API errors. Default False blocks them.", + "title": "Skip Unscannable Attachments" + }, + "sticky_session_routing": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "default": true, + "description": "When True (default), after sensitive data is detected and routed, all subsequent requests in the same session will continue routing to the same model.", + "title": "Sticky Session Routing" + }, "template_id": { "anyOf": [ { @@ -8311,9 +9050,21 @@ "description": "The ID of your Model Armor template", "title": "Template Id" }, + "timeout": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Per-request timeout for the guardrail provider API call (seconds). Accepts int, float, or numeric string; coerced to float on load. Each guardrail handler chooses its own default when unset.", + "title": "Timeout" + }, "unreachable_fallback": { "default": "fail_closed", - "description": "Behavior when a guardrail endpoint is unreachable due to network errors. NOTE: This is currently only implemented by guardrail='generic_guardrail_api'. 'fail_closed' raises an error (default). 'fail_open' logs a critical error and allows the request to proceed.", + "description": "Behavior when a guardrail endpoint is unreachable due to network errors. Implemented by guardrail='generic_guardrail_api', 'akto', 'vigil_guard', 'repelloai', 'headroom', and 'compresr'. 'fail_closed' raises an error (default). 'fail_open' logs a critical error and allows the request to proceed.", "enum": [ "fail_closed", "fail_open" @@ -8337,424 +9088,173 @@ "title": "BaseLitellmParams", "type": "object" }, - "BaseLitellmParams-Output": { - "additionalProperties": true, + "BedrockChecksConfigModel": { + "description": "Inline `checks` config for the resource-less Bedrock InvokeGuardrailChecks API.\n\nInclude only the checks you want to run; at least one must be set.", "properties": { - "additional_provider_specific_params": { + "contentFilter": { "anyOf": [ { - "additionalProperties": true, - "type": "object" + "$ref": "#/components/schemas/BedrockChecksContentFilterModel" }, { "type": "null" } - ], - "description": "Additional provider-specific parameters for generic guardrail APIs", - "title": "Additional Provider Specific Params" + ] }, - "api_base": { + "promptAttack": { "anyOf": [ { - "type": "string" + "$ref": "#/components/schemas/BedrockChecksPromptAttackModel" }, { "type": "null" } - ], - "description": "Base URL for the guardrail service API", - "title": "Api Base" + ] }, - "api_endpoint": { + "sensitiveInformation": { "anyOf": [ { - "type": "string" + "$ref": "#/components/schemas/BedrockChecksSensitiveInformationModel" }, { "type": "null" } - ], - "description": "Optional custom API endpoint for Model Armor", - "title": "Api Endpoint" - }, - "api_key": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "API key for the guardrail service", - "title": "Api Key" - }, - "blocked_words": { - "anyOf": [ - { - "items": { - "$ref": "#/components/schemas/BlockedWord" - }, - "type": "array" - }, - { - "type": "null" - } - ], - "description": "List of blocked words with individual actions", - "title": "Blocked Words" - }, - "blocked_words_file": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Path to YAML file containing blocked_words list", - "title": "Blocked Words File" - }, - "categories": { - "anyOf": [ - { - "items": { - "$ref": "#/components/schemas/ContentFilterCategoryConfig" - }, - "type": "array" - }, - { - "type": "null" - } - ], - "description": "List of prebuilt categories to enable (harmful_*, bias_*)", - "title": "Categories" - }, - "category_thresholds": { - "anyOf": [ - { - "$ref": "#/components/schemas/LakeraCategoryThresholds" - }, - { - "type": "null" - } - ], - "description": "Threshold configuration for Lakera guardrail categories" - }, - "credentials": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Path to Google Cloud credentials JSON file or JSON string", - "title": "Credentials" - }, - "custom_code": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Python-like code containing the apply_guardrail function for custom guardrail logic", - "title": "Custom Code" - }, - "default_on": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ], - "description": "Whether the guardrail is enabled by default", - "title": "Default On" - }, - "detect_secrets_config": { - "anyOf": [ - { - "additionalProperties": true, - "type": "object" - }, - { - "type": "null" - } - ], - "description": "Configuration for detect-secrets guardrail", - "title": "Detect Secrets Config" - }, - "end_session_after_n_fails": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "For /v1/realtime sessions: automatically close the session after this many guardrail violations.", - "title": "End Session After N Fails" - }, - "experimental_use_latest_role_message_only": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ], - "default": false, - "description": "When True, guardrails only receive the latest message for the relevant role (e.g., newest user input pre-call, newest assistant output post-call)", - "title": "Experimental Use Latest Role Message Only" - }, - "extra_headers": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ], - "description": "Header names to forward from the client request to the guardrail (e.g. x-request-id). Only these headers' values are sent; others may be omitted or sent as [present]. Used by generic_guardrail_api (similar to MCP extra_headers).", - "title": "Extra Headers" - }, - "fail_on_error": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ], - "default": true, - "description": "Whether to fail the request if Model Armor encounters an error", - "title": "Fail On Error" - }, - "guard_name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Name of the guardrail in guardrails.ai", - "title": "Guard Name" - }, - "keyword_redaction_tag": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Tag to use for keyword redaction", - "title": "Keyword Redaction Tag" - }, - "location": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Google Cloud location/region (e.g., us-central1)", - "title": "Location" - }, - "mask_request_content": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ], - "description": "Will mask request content if guardrail makes any changes", - "title": "Mask Request Content" - }, - "mask_response_content": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ], - "description": "Will mask response content if guardrail makes any changes", - "title": "Mask Response Content" - }, - "model": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Optional field if guardrail requires a 'model' parameter", - "title": "Model" - }, - "on_violation": { - "anyOf": [ - { - "enum": [ - "warn", - "end_session" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "description": "For /v1/realtime sessions: 'warn' speaks the violation message and continues; 'end_session' speaks the message and closes the connection.", - "title": "On Violation" - }, - "pangea_input_recipe": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Recipe for input (LLM request)", - "title": "Pangea Input Recipe" - }, - "pangea_output_recipe": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Recipe for output (LLM response)", - "title": "Pangea Output Recipe" - }, - "pattern_redaction_format": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Format string for pattern redaction (use {pattern_name} placeholder)", - "title": "Pattern Redaction Format" - }, - "patterns": { - "anyOf": [ - { - "items": { - "$ref": "#/components/schemas/ContentFilterPattern" - }, - "type": "array" - }, - { - "type": "null" - } - ], - "description": "List of patterns (prebuilt or custom regex) to detect", - "title": "Patterns" - }, - "realtime_violation_message": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "The message the bot speaks aloud when a /v1/realtime guardrail fires. Falls back to violation_message_template if not set.", - "title": "Realtime Violation Message" - }, - "severity_threshold": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Minimum severity to block (high, medium, low)", - "title": "Severity Threshold" - }, - "skip_system_message_in_guardrail": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ], - "description": "When True, unified guardrails skip system-role messages when building evaluation inputs (texts and structured_messages). When False, system messages are included even if litellm_settings sets a global skip. When None, use the global litellm.skip_system_message_in_guardrail setting.", - "title": "Skip System Message In Guardrail" - }, - "template_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "The ID of your Model Armor template", - "title": "Template Id" - }, - "unreachable_fallback": { - "default": "fail_closed", - "description": "Behavior when a guardrail endpoint is unreachable due to network errors. NOTE: This is currently only implemented by guardrail='generic_guardrail_api'. 'fail_closed' raises an error (default). 'fail_open' logs a critical error and allows the request to proceed.", - "enum": [ - "fail_closed", - "fail_open" - ], - "title": "Unreachable Fallback", - "type": "string" - }, - "violation_message_template": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Custom message when a guardrail blocks an action. Supports placeholders like {tool_name}, {rule_id}, and {default_message}.", - "title": "Violation Message Template" + ] } }, - "title": "BaseLitellmParams", + "title": "BedrockChecksConfigModel", + "type": "object" + }, + "BedrockChecksContentFilterCategoryItem": { + "properties": { + "category": { + "enum": [ + "VIOLENCE", + "HATE", + "SEXUAL", + "MISCONDUCT", + "INSULTS" + ], + "title": "Category", + "type": "string" + } + }, + "required": [ + "category" + ], + "title": "BedrockChecksContentFilterCategoryItem", + "type": "object" + }, + "BedrockChecksContentFilterModel": { + "properties": { + "categories": { + "items": { + "$ref": "#/components/schemas/BedrockChecksContentFilterCategoryItem" + }, + "title": "Categories", + "type": "array" + } + }, + "required": [ + "categories" + ], + "title": "BedrockChecksContentFilterModel", + "type": "object" + }, + "BedrockChecksPromptAttackCategoryItem": { + "properties": { + "category": { + "enum": [ + "JAILBREAK", + "PROMPT_INJECTION", + "PROMPT_LEAKAGE" + ], + "title": "Category", + "type": "string" + } + }, + "required": [ + "category" + ], + "title": "BedrockChecksPromptAttackCategoryItem", + "type": "object" + }, + "BedrockChecksPromptAttackModel": { + "properties": { + "categories": { + "items": { + "$ref": "#/components/schemas/BedrockChecksPromptAttackCategoryItem" + }, + "title": "Categories", + "type": "array" + } + }, + "required": [ + "categories" + ], + "title": "BedrockChecksPromptAttackModel", + "type": "object" + }, + "BedrockChecksSensitiveInformationEntityItem": { + "properties": { + "type": { + "enum": [ + "ADDRESS", + "AGE", + "AWS_ACCESS_KEY", + "AWS_SECRET_KEY", + "CA_HEALTH_NUMBER", + "CA_SOCIAL_INSURANCE_NUMBER", + "CREDIT_DEBIT_CARD_CVV", + "CREDIT_DEBIT_CARD_EXPIRY", + "CREDIT_DEBIT_CARD_NUMBER", + "DRIVER_ID", + "EMAIL", + "INTERNATIONAL_BANK_ACCOUNT_NUMBER", + "IP_ADDRESS", + "LICENSE_PLATE", + "MAC_ADDRESS", + "NAME", + "PASSWORD", + "PHONE", + "PIN", + "SWIFT_CODE", + "UK_NATIONAL_HEALTH_SERVICE_NUMBER", + "UK_NATIONAL_INSURANCE_NUMBER", + "UK_UNIQUE_TAXPAYER_REFERENCE_NUMBER", + "URL", + "USERNAME", + "US_BANK_ACCOUNT_NUMBER", + "US_BANK_ROUTING_NUMBER", + "US_INDIVIDUAL_TAX_IDENTIFICATION_NUMBER", + "US_PASSPORT_NUMBER", + "US_SOCIAL_SECURITY_NUMBER", + "VEHICLE_IDENTIFICATION_NUMBER" + ], + "title": "Type", + "type": "string" + } + }, + "required": [ + "type" + ], + "title": "BedrockChecksSensitiveInformationEntityItem", + "type": "object" + }, + "BedrockChecksSensitiveInformationModel": { + "properties": { + "entities": { + "items": { + "$ref": "#/components/schemas/BedrockChecksSensitiveInformationEntityItem" + }, + "title": "Entities", + "type": "array" + } + }, + "required": [ + "entities" + ], + "title": "BedrockChecksSensitiveInformationModel", "type": "object" }, "BlockedWord": { @@ -8789,6 +9289,187 @@ "title": "BlockedWord", "type": "object" }, + "CiscoAIDefenseGuardrailConfigModelOptionalParams": { + "additionalProperties": true, + "description": "Optional parameters for the Cisco AI Defense guardrail.", + "properties": { + "enabled_rules": { + "anyOf": [ + { + "items": { + "$ref": "#/components/schemas/CiscoAIDefenseRule" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "description": "Explicit list of Cisco AI Defense rules to evaluate. If omitted, the policies configured for the API key in the Cisco AI Defense UI are used.", + "title": "Enabled Rules" + }, + "fallback_on_error": { + "anyOf": [ + { + "enum": [ + "allow", + "block" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "default": "block", + "description": "Behaviour when the Cisco AI Defense API is unavailable: 'allow' proceeds without scanning (high availability), 'block' rejects the request (maximum security).", + "title": "Fallback On Error" + }, + "inspect_path": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Override for the inspection endpoint path. Defaults to /api/v1/inspect/chat when inspection_type='chat' and /api/v1/inspect/mcp when inspection_type='mcp'.", + "title": "Inspect Path" + }, + "inspection_type": { + "default": "chat", + "description": "Which Cisco AI Defense inspection surface to use. 'chat' scans LLM model conversations via /api/v1/inspect/chat. 'mcp' scans MCP tool calls via /api/v1/inspect/mcp. Each guardrail instance targets exactly one surface; configure two guardrails to scan both chat and MCP traffic.", + "enum": [ + "chat", + "mcp" + ], + "title": "Inspection Type", + "type": "string" + }, + "integration_profile_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Integration profile id to apply (advanced).", + "title": "Integration Profile Id" + }, + "integration_profile_version": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Integration profile version to apply (advanced).", + "title": "Integration Profile Version" + }, + "integration_tenant_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Integration tenant id to apply (advanced).", + "title": "Integration Tenant Id" + }, + "integration_type": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Integration type to apply (advanced).", + "title": "Integration Type" + }, + "on_flagged_action": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": "block", + "description": "Action to take when Cisco AI Defense flags content. 'block' raises an HTTPException; 'monitor' logs the detection and lets the request continue.", + "title": "On Flagged Action" + }, + "timeout": { + "anyOf": [ + { + "maximum": 60.0, + "minimum": 1.0, + "type": "number" + }, + { + "type": "null" + } + ], + "default": 10.0, + "description": "Timeout (seconds) for Cisco AI Defense API calls (1-60).", + "title": "Timeout" + } + }, + "title": "CiscoAIDefenseGuardrailConfigModelOptionalParams", + "type": "object" + }, + "CiscoAIDefenseRule": { + "description": "A single rule to enable for Cisco AI Defense inspection.", + "properties": { + "entity_types": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "description": "Optional list of entity types for the rule (e.g. 'Email Address', 'Phone Number'). Applies to rules such as PII, PCI, and PHI.", + "title": "Entity Types" + }, + "rule_name": { + "description": "The canonical Cisco AI Defense rule name to evaluate.", + "enum": [ + "Code Detection", + "Harassment", + "Hate Speech", + "PCI", + "PHI", + "PII", + "Prompt Injection", + "Profanity", + "Sexual Content & Exploitation", + "Social Division & Polarization", + "Violence & Public Safety Threats" + ], + "title": "Rule Name", + "type": "string" + } + }, + "required": [ + "rule_name" + ], + "title": "CiscoAIDefenseRule", + "type": "object" + }, "ContentFilterAction": { "description": "Action to take when content filter detects a match", "enum": [ @@ -8933,106 +9614,6 @@ "title": "GUARDRAIL_DEFINITION_LOCATION", "type": "string" }, - "GraySwanGuardrailConfigModelOptionalParams": { - "description": "Optional parameters for the Gray Swan guardrail.", - "properties": { - "categories": { - "anyOf": [ - { - "additionalProperties": { - "type": "string" - }, - "type": "object" - }, - { - "type": "null" - } - ], - "description": "Default Gray Swan category definitions to send with each request.", - "title": "Categories" - }, - "fail_open": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ], - "default": true, - "description": "If true (default), errors contacting Gray Swan are logged and the request proceeds. If false, errors propagate and block the request.", - "title": "Fail Open" - }, - "guardrail_timeout": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "default": 30.0, - "description": "Timeout in seconds for calling the Gray Swan guardrail service.", - "title": "Guardrail Timeout" - }, - "on_flagged_action": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "default": "passthrough", - "description": "Action when a violation is detected: 'block' rejects the call (400 error), 'monitor' logs only, 'passthrough' replaces response content with violation message (200 status).", - "title": "On Flagged Action" - }, - "policy_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Gray Swan policy identifier to apply during monitoring.", - "title": "Policy Id" - }, - "reasoning_mode": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Gray Swan reasoning mode override. Accepted values: 'off', 'hybrid', 'thinking'.", - "title": "Reasoning Mode" - }, - "violation_threshold": { - "anyOf": [ - { - "maximum": 1.0, - "minimum": 0.0, - "type": "number" - }, - { - "type": "null" - } - ], - "default": 0.5, - "description": "Threshold between 0 and 1 at which Gray Swan violations trigger the configured action.", - "title": "Violation Threshold" - } - }, - "title": "GraySwanGuardrailConfigModelOptionalParams", - "type": "object" - }, "Guardrail": { "properties": { "created_at": { @@ -9156,7 +9737,7 @@ "litellm_params": { "anyOf": [ { - "$ref": "#/components/schemas/BaseLitellmParams-Output" + "$ref": "#/components/schemas/BaseLitellmParams" }, { "type": "null" @@ -9506,7 +10087,7 @@ "type": "null" } ], - "description": "Base URL for the Lakera AI API", + "description": "Regional base URL for the Cisco AI Defense Inspection API. Defaults to https://us.api.inspect.aidefense.security.cisco.com. Supported regions: us (us-west-2), ap (ap-ne-1), eu (eu-central-1). The environment variable `CISCO_AI_DEFENSE_API_BASE` is consulted as a fallback. The endpoint path is derived from inspection_type (/api/v1/inspect/chat for 'chat', /api/v1/inspect/mcp for 'mcp').", "title": "Api Base" }, "api_endpoint": { @@ -9542,7 +10123,7 @@ "type": "null" } ], - "description": "API key for the Lakera AI service", + "description": "API key for the Cisco AI Defense inspection endpoint. If not provided, the `CISCO_AI_DEFENSE_API_KEY` environment variable is used. Sent in the `X-Cisco-AI-Defense-API-Key` header. Both the chat and MCP endpoints use this key.", "title": "Api Key" }, "api_version": { @@ -9597,6 +10178,18 @@ "description": "Custom assertions to validate against the output. Each assertion is a string describing a condition.", "title": "Assertions" }, + "asset_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Repello asset ID whose dashboard policies are enforced. Required; the guardrail raises at init if it is missing.", + "title": "Asset Id" + }, "async_mode": { "anyOf": [ { @@ -9887,6 +10480,24 @@ ], "description": "Threshold configuration for Lakera guardrail categories" }, + "checks": { + "anyOf": [ + { + "$ref": "#/components/schemas/BedrockChecksConfigModel" + }, + { + "type": "null" + } + ], + "description": "Inline safeguards for the resource-less InvokeGuardrailChecks API (contentFilter / promptAttack / sensitiveInformation). When set, the guardrail calls InvokeGuardrailChecks instead of ApplyGuardrail and no guardrailIdentifier is required. Mutually exclusive with guardrailIdentifier." + }, + "chunk_budget_chars": { + "default": 25000, + "description": "ApplyGuardrail: batch size, in characters, used to re-send content after AWS has rejected a request as too large. Requests AWS accepts are always sent in a single call, so this has no effect until a rejection happens. Defaults to 25,000; a batch AWS still rejects is bisected automatically, so this value only trades round trips against batch size and cannot fail a request on its own.", + "exclusiveMinimum": 0.0, + "title": "Chunk Budget Chars", + "type": "integer" + }, "confidence_threshold": { "default": 0.5, "default_value": 0.5, @@ -9913,6 +10524,21 @@ "description": "Additional configuration for the guardrail", "title": "Config" }, + "content_filter_threshold": { + "anyOf": [ + { + "maximum": 1.0, + "minimum": 0.0, + "type": "number" + }, + { + "type": "null" + } + ], + "default": 0.5, + "description": "InvokeGuardrailChecks: block when any contentFilter severityScore >= this value (scores are in [0,1]). Set to null to make the content filter detect-only (logged, never blocks).", + "title": "Content Filter Threshold" + }, "content_moderation_check": { "anyOf": [ { @@ -9949,6 +10575,18 @@ "description": "Python-like code containing the apply_guardrail function for custom guardrail logic", "title": "Custom Code" }, + "deepkeep_firewall_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "The DeepKeep Firewall ID to use for guardrail evaluation. If not provided, the `DEEPKEEP_FIREWALL_ID` environment variable is checked.", + "title": "Deepkeep Firewall Id" + }, "default_action": { "default": "deny", "description": "Fallback decision when no rule matches", @@ -10115,7 +10753,7 @@ } ], "default": true, - "description": "Whether to fail the request if Model Armor encounters an error", + "description": "Whether to fail the request if the guardrail encounters an error. Implemented by guardrail='model_armor' and 'generic_guardrail_api'. True (default) raises the error. False logs a critical error and lets the request proceed, so only a valid guardrail response can block or modify it.", "title": "Fail On Error" }, "grounding_check": { @@ -10388,7 +11026,7 @@ "type": "null" } ], - "description": "Optional field if guardrail requires a 'model' parameter", + "description": "Model name forwarded to the headroom /v1/compress endpoint.", "title": "Model" }, "monitor_mode": { @@ -10443,6 +11081,22 @@ "description": "Action to take when content is flagged: 'block' (raise exception) or 'monitor' (log only)", "title": "On Flagged Action" }, + "on_sensitive_data": { + "anyOf": [ + { + "enum": [ + "block", + "route" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Action to take when sensitive data is detected. 'block' raises an exception (default behavior). 'route' reroutes the request to the model specified in sensitive_data_route_to_model.", + "title": "On Sensitive Data" + }, "on_violation": { "anyOf": [ { @@ -10459,10 +11113,23 @@ "description": "For /v1/realtime sessions: 'warn' speaks the violation message and continues; 'end_session' speaks the message and closes the connection.", "title": "On Violation" }, + "only_scan_new_messages": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "default": false, + "description": "When True, the guardrail only scans messages that have not already been scanned earlier in the same session (identified by litellm_session_id / session_id). Message content is hashed per session and cached; only the diff (new or edited messages) is sent to the guardrail provider on follow-up calls. Falls back to a full scan when the request has no session id or the cache is unavailable. Intended for blocking/detection guardrails; not applied when mask_request_content is set.", + "title": "Only Scan New Messages" + }, "optional_params": { "anyOf": [ { - "$ref": "#/components/schemas/GraySwanGuardrailConfigModelOptionalParams" + "$ref": "#/components/schemas/CiscoAIDefenseGuardrailConfigModelOptionalParams" }, { "type": "null" @@ -10571,6 +11238,21 @@ "description": "Enable PII (Personally Identifiable Information) detection.", "title": "Pii Check" }, + "pii_confidence_threshold": { + "anyOf": [ + { + "maximum": 1.0, + "minimum": 0.0, + "type": "number" + }, + { + "type": "null" + } + ], + "default": 0.5, + "description": "InvokeGuardrailChecks: block when any sensitiveInformation confidenceScore >= this value (scores are in [0,1]). Set to null to make PII detection detect-only.", + "title": "Pii Confidence Threshold" + }, "pii_entities_config": { "anyOf": [ { @@ -10634,6 +11316,30 @@ "title": "Policy Names", "ui_type": "multiselect" }, + "post_checkpoint_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Post-checkpoint ID for the Ovalix Tracker service.", + "title": "Post Checkpoint Id" + }, + "pre_checkpoint_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Pre-checkpoint ID for the Ovalix Tracker service.", + "title": "Pre Checkpoint Id" + }, "presidio_ad_hoc_recognizers": { "anyOf": [ { @@ -10766,6 +11472,21 @@ "description": "Project ID for the Lakera AI project", "title": "Project Id" }, + "prompt_attack_threshold": { + "anyOf": [ + { + "maximum": 1.0, + "minimum": 0.0, + "type": "number" + }, + { + "type": "null" + } + ], + "default": 0.5, + "description": "InvokeGuardrailChecks: block when any promptAttack severityScore >= this value (scores are in [0,1]). Set to null to make prompt-attack detection detect-only.", + "title": "Prompt Attack Threshold" + }, "prompt_injections": { "anyOf": [ { @@ -10805,6 +11526,43 @@ "description": "Ordered allow/deny rules. Patterns use regex for tool names/types and optional regex constraints on tool arguments.", "title": "Rules" }, + "run_in_parallel": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "description": "When True, this pre_call or post_call guardrail runs concurrently with other opted-in guardrails of the same hook, after the sequential guardrails have run. Use only for block-only guardrails that inspect and reject; do not enable it for guardrails that modify the request or response (e.g. PII masking or sensitive-data routing), since parallel runs share one snapshot and their mutations would race.", + "title": "Run In Parallel" + }, + "sanitize_error_detail": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "default": true, + "description": "For guardrail='model_armor': omit the raw Model Armor response from caller-facing errors and logs by default. Set False to restore verbose output.", + "title": "Sanitize Error Detail" + }, + "scan_only_tool_results": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "description": "When True, unified guardrails only evaluate tool results, the untrusted data an agent feeds back into the model, and skip system, user, and assistant content. Intended for agent harnesses whose own prompt scaffolding is trusted but often trips prompt-attack detectors.", + "title": "Scan Only Tool Results" + }, "send_user_api_key_alias": { "anyOf": [ { @@ -10844,6 +11602,18 @@ "description": "Whether to send user_API_key_user_id in headers", "title": "Send User Api Key User Id" }, + "sensitive_data_route_to_model": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Model to route requests to when sensitive data is detected and on_sensitive_data='route'. This is typically an on-premise model for data privacy. The routing decision persists for the entire session.", + "title": "Sensitive Data Route To Model" + }, "severity_threshold": { "anyOf": [ { @@ -10856,6 +11626,54 @@ "description": "Minimum severity to block (high, medium, low)", "title": "Severity Threshold" }, + "singulr_api_base": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "The Singulr API base URL. Get base URL from Singulr Platform.", + "title": "Singulr Api Base" + }, + "singulr_api_key": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "The Singulr API key. Generate API key from Singulr Platform.", + "title": "Singulr Api Key" + }, + "singulr_application_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "The Singulr application ID. Get application ID from Singulr Platform.", + "title": "Singulr Application Id" + }, + "singulr_guardrail_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "The Singulr Guardrail ID. Get guardrail ID from Singulr Platform.", + "title": "Singulr Guardrail Id" + }, "skip_system_message_in_guardrail": { "anyOf": [ { @@ -10865,9 +11683,47 @@ "type": "null" } ], - "description": "When True, unified guardrails skip system-role messages when building evaluation inputs (texts and structured_messages). When False, system messages are included even if litellm_settings sets a global skip. When None, use the global litellm.skip_system_message_in_guardrail setting.", + "description": "When True, unified guardrails skip system-role messages when building evaluation inputs (texts and structured_messages). When False, system messages are included even if litellm_settings sets a global skip. When None, use the global litellm.skip_system_message_in_guardrail setting. For Anthropic /v1/messages, the flag applies only to the trusted top-level system prompt. In-sequence system entries are untrusted client input and remain in texts and structured_messages.", "title": "Skip System Message In Guardrail" }, + "skip_tool_message_in_guardrail": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "description": "When True, unified guardrails skip tool-role messages when building evaluation inputs (texts and structured_messages). When False, tool messages are included even if litellm_settings sets a global skip. When None, use the global litellm.skip_tool_message_in_guardrail setting.", + "title": "Skip Tool Message In Guardrail" + }, + "skip_unscannable_attachments": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "default": false, + "description": "Implemented by guardrail='model_armor'. When True, attachment references that carry no inline bytes (file_id, gs://, or http(s) URLs) pass through unscanned instead of blocking, while fail_on_error still governs real Model Armor API errors. Default False blocks them.", + "title": "Skip Unscannable Attachments" + }, + "sticky_session_routing": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "default": true, + "description": "When True (default), after sensitive data is detected and routed, all subsequent requests in the same session will continue routing to the same model.", + "title": "Sticky Session Routing" + }, "template_id": { "anyOf": [ { @@ -10880,6 +11736,18 @@ "description": "The ID of your Model Armor template", "title": "Template Id" }, + "timeout": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Per-request timeout for the guardrail provider API call (seconds). Accepts int, float, or numeric string; coerced to float on load. Each guardrail handler chooses its own default when unset.", + "title": "Timeout" + }, "tool_selection_quality_check": { "anyOf": [ { @@ -10892,9 +11760,33 @@ "description": "Enable tool selection quality check to evaluate quality of tool/function calls.", "title": "Tool Selection Quality Check" }, + "tracker_api_base": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Base URL for the Ovalix Tracker service.", + "title": "Tracker Api Base" + }, + "tracker_api_key": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "API key for the Ovalix Tracker service.", + "title": "Tracker Api Key" + }, "unreachable_fallback": { "default": "fail_closed", - "description": "What to do when Akto is unreachable. 'fail_open' = allow, 'fail_closed' = block.", + "description": "Behavior when the headroom compression service is unreachable or errors. 'fail_closed' raises an error (default). 'fail_open' logs a critical error and forwards the request uncompressed instead of blocking it.", "enum": [ "fail_closed", "fail_open" @@ -11046,7 +11938,7 @@ "litellm_params": { "anyOf": [ { - "$ref": "#/components/schemas/BaseLitellmParams-Input" + "$ref": "#/components/schemas/BaseLitellmParams" }, { "type": "null" @@ -11086,6 +11978,9 @@ "US_SSN", "UK_NHS", "UK_NINO", + "UK_PASSPORT", + "UK_POSTCODE", + "UK_VEHICLE_REGISTRATION", "ES_NIF", "ES_NIE", "IT_FISCAL_CODE", @@ -11789,6 +12684,13 @@ }, "ValidationError": { "properties": { + "ctx": { + "title": "Context", + "type": "object" + }, + "input": { + "title": "Input" + }, "loc": { "items": { "anyOf": [ @@ -13309,6 +14211,13 @@ }, "ValidationError": { "properties": { + "ctx": { + "title": "Context", + "type": "object" + }, + "input": { + "title": "Input" + }, "loc": { "items": { "anyOf": [ @@ -13609,6 +14518,13 @@ }, "ValidationError": { "properties": { + "ctx": { + "title": "Context", + "type": "object" + }, + "input": { + "title": "Input" + }, "loc": { "items": { "anyOf": [ @@ -13860,6 +14776,17 @@ }, "MCPCredentials": { "properties": { + "audience": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Audience" + }, "auth_value": { "anyOf": [ { @@ -13948,6 +14875,17 @@ ], "title": "Aws Session Token" }, + "client_assertion_signing_alg": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Client Assertion Signing Alg" + }, "client_id": { "anyOf": [ { @@ -13959,6 +14897,28 @@ ], "title": "Client Id" }, + "client_private_key": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Client Private Key" + }, + "client_private_key_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Client Private Key Id" + }, "client_secret": { "anyOf": [ { @@ -13970,6 +14930,42 @@ ], "title": "Client Secret" }, + "id_jag_resource": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Id Jag Resource" + }, + "id_jag_resource_token_endpoint": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Id Jag Resource Token Endpoint" + }, + "redirect_uris": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Redirect Uris" + }, "scopes": { "anyOf": [ { @@ -13983,11 +14979,113 @@ } ], "title": "Scopes" + }, + "subject_token_type": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Subject Token Type" + }, + "token_endpoint_auth_method": { + "anyOf": [ + { + "enum": [ + "client_secret_basic", + "client_secret_post" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Token Endpoint Auth Method" + }, + "token_exchange_endpoint": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Token Exchange Endpoint" + }, + "token_exchange_profile": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Token Exchange Profile" + }, + "upstream_resource": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Upstream Resource" } }, "title": "MCPCredentials", "type": "object" }, + "MCPEnvVar": { + "description": "One environment variable for an MCP server.\n\nVariables can be interpolated into ``static_headers`` using ``${NAME}``\nsyntax. ``scope=global`` values are stored on the server. ``scope=user``\nvalues are stored per-user in ``LiteLLM_MCPUserEnvVars`` and supplied by\neach user.", + "properties": { + "description": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Description" + }, + "name": { + "title": "Name", + "type": "string" + }, + "scope": { + "$ref": "#/components/schemas/MCPEnvVarScope", + "default": "global" + }, + "value": { + "default": "", + "title": "Value", + "type": "string" + } + }, + "required": [ + "name" + ], + "title": "MCPEnvVar", + "type": "object" + }, + "MCPEnvVarScope": { + "description": "Scope for an MCP server environment variable.\n\n- ``global``: value is provided by the admin and used for all users.\n- ``user``: each user must provide their own value via the per-user\n env-var endpoint. The admin-supplied ``value`` is treated as a\n placeholder/hint and is not used at request time.", + "enum": [ + "global", + "user" + ], + "title": "MCPEnvVarScope", + "type": "string" + }, "NewMCPServerRequest": { "properties": { "alias": { @@ -14039,6 +15137,17 @@ "title": "Args", "type": "array" }, + "audience": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Audience" + }, "auth_type": { "anyOf": [ { @@ -14050,7 +15159,11 @@ "authorization", "oauth2", "aws_sigv4", - "token" + "token", + "oauth2_token_exchange", + "oauth2_id_jag", + "true_passthrough", + "oauth_delegate" ], "type": "string" }, @@ -14115,6 +15228,22 @@ } ] }, + "dcr_bridge": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "title": "Dcr Bridge" + }, + "delegate_auth_to_upstream": { + "default": false, + "title": "Delegate Auth To Upstream", + "type": "boolean" + }, "description": { "anyOf": [ { @@ -14133,6 +15262,20 @@ "title": "Env", "type": "object" }, + "env_vars": { + "anyOf": [ + { + "items": { + "$ref": "#/components/schemas/MCPEnvVar" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Env Vars" + }, "extra_headers": { "anyOf": [ { @@ -14163,6 +15306,28 @@ "title": "Is Byok", "type": "boolean" }, + "issuer": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Issuer" + }, + "max_concurrent_requests": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Max Concurrent Requests" + }, "mcp_access_groups": { "items": { "type": "string" @@ -14197,6 +15362,11 @@ ], "title": "Oauth2 Flow" }, + "oauth_passthrough": { + "default": false, + "title": "Oauth Passthrough", + "type": "boolean" + }, "registration_url": { "anyOf": [ { @@ -14266,6 +15436,17 @@ ], "title": "Static Headers" }, + "subject_token_type": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Subject Token Type" + }, "submitted_at": { "anyOf": [ { @@ -14291,6 +15472,39 @@ "description": "Server-managed: set by the endpoint; caller values are overridden.", "title": "Submitted By" }, + "timeout": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "title": "Timeout" + }, + "token_exchange_endpoint": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Token Exchange Endpoint" + }, + "token_exchange_profile": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Token Exchange Profile" + }, "token_url": { "anyOf": [ { @@ -14357,6 +15571,13 @@ }, "ValidationError": { "properties": { + "ctx": { + "title": "Context", + "type": "object" + }, + "input": { + "title": "Input" + }, "loc": { "items": { "anyOf": [ @@ -14391,6 +15612,134 @@ } }, "paths": { + "/mcp": { + "delete": { + "description": "Serve the aggregate MCP endpoint on the bare ``/mcp`` spelling: the\n``/mcp`` mount cannot match its bare prefix, and the resulting 307 breaks\nMCP clients behind TLS-terminating proxies.", + "operationId": "aggregate_mcp_route_mcp_delete", + "responses": { + "200": { + "content": { + "application/json": { + "schema": {} + } + }, + "description": "Successful Response" + } + }, + "summary": "Aggregate Mcp Route", + "tags": [ + "mcp_app" + ] + }, + "get": { + "description": "Serve the aggregate MCP endpoint on the bare ``/mcp`` spelling: the\n``/mcp`` mount cannot match its bare prefix, and the resulting 307 breaks\nMCP clients behind TLS-terminating proxies.", + "operationId": "aggregate_mcp_route_mcp_get", + "responses": { + "200": { + "content": { + "application/json": { + "schema": {} + } + }, + "description": "Successful Response" + } + }, + "summary": "Aggregate Mcp Route", + "tags": [ + "mcp_app" + ] + }, + "head": { + "description": "Serve the aggregate MCP endpoint on the bare ``/mcp`` spelling: the\n``/mcp`` mount cannot match its bare prefix, and the resulting 307 breaks\nMCP clients behind TLS-terminating proxies.", + "operationId": "aggregate_mcp_route_mcp_head", + "responses": { + "200": { + "content": { + "application/json": { + "schema": {} + } + }, + "description": "Successful Response" + } + }, + "summary": "Aggregate Mcp Route", + "tags": [ + "mcp_app" + ] + }, + "options": { + "description": "Serve the aggregate MCP endpoint on the bare ``/mcp`` spelling: the\n``/mcp`` mount cannot match its bare prefix, and the resulting 307 breaks\nMCP clients behind TLS-terminating proxies.", + "operationId": "aggregate_mcp_route_mcp_options", + "responses": { + "200": { + "content": { + "application/json": { + "schema": {} + } + }, + "description": "Successful Response" + } + }, + "summary": "Aggregate Mcp Route", + "tags": [ + "mcp_app" + ] + }, + "patch": { + "description": "Serve the aggregate MCP endpoint on the bare ``/mcp`` spelling: the\n``/mcp`` mount cannot match its bare prefix, and the resulting 307 breaks\nMCP clients behind TLS-terminating proxies.", + "operationId": "aggregate_mcp_route_mcp_patch", + "responses": { + "200": { + "content": { + "application/json": { + "schema": {} + } + }, + "description": "Successful Response" + } + }, + "summary": "Aggregate Mcp Route", + "tags": [ + "mcp_app" + ] + }, + "post": { + "description": "Serve the aggregate MCP endpoint on the bare ``/mcp`` spelling: the\n``/mcp`` mount cannot match its bare prefix, and the resulting 307 breaks\nMCP clients behind TLS-terminating proxies.", + "operationId": "aggregate_mcp_route_mcp_post", + "responses": { + "200": { + "content": { + "application/json": { + "schema": {} + } + }, + "description": "Successful Response" + } + }, + "summary": "Aggregate Mcp Route", + "tags": [ + "mcp_app" + ] + }, + "put": { + "description": "Serve the aggregate MCP endpoint on the bare ``/mcp`` spelling: the\n``/mcp`` mount cannot match its bare prefix, and the resulting 307 breaks\nMCP clients behind TLS-terminating proxies.", + "operationId": "aggregate_mcp_route_mcp_put", + "responses": { + "200": { + "content": { + "application/json": { + "schema": {} + } + }, + "description": "Successful Response" + } + }, + "summary": "Aggregate Mcp Route", + "tags": [ + "mcp_app" + ] + } + }, "/mcp-rest/test/connection": { "post": { "description": "Test if we can connect to the provided MCP server before adding it", @@ -14508,7 +15857,7 @@ }, "/mcp-rest/tools/list": { "get": { - "description": "List all available tools with information about the server they belong to.\n\nExample response:\n{\n \"tools\": [\n {\n \"name\": \"create_zap\",\n \"description\": \"Create a new zap\",\n \"inputSchema\": \"tool_input_schema\",\n \"mcp_info\": {\n \"server_name\": \"zapier\",\n \"logo_url\": \"https://www.zapier.com/logo.png\",\n }\n }\n ],\n \"error\": null,\n \"message\": \"Successfully retrieved tools\"\n}", + "description": "List all available tools with information about the server they belong to.\n\nExample response:\n{\n \"tools\": [\n {\n \"name\": \"create_zap\",\n \"description\": \"Create a new zap\",\n \"inputSchema\": \"tool_input_schema\",\n \"mcp_info\": {\n \"server_name\": \"zapier\",\n \"logo_url\": \"https://www.zapier.com/logo.png\",\n \"server_id\": \"a1b2c3d4-...\",\n \"alias\": \"zapier_prod\",\n }\n }\n ],\n \"error\": null,\n \"message\": \"Successfully retrieved tools\"\n}", "operationId": "list_tool_rest_api_mcp_rest_tools_list_get_2", "parameters": [ { @@ -14528,6 +15877,54 @@ "description": "The server id to list tools for", "title": "Server Id" } + }, + { + "description": "Filter tools to a single MCP server by name or alias", + "in": "query", + "name": "mcp_server_name", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Filter tools to a single MCP server by name or alias", + "title": "Mcp Server Name" + } + }, + { + "description": "Filter tools to a single toolset by name", + "in": "query", + "name": "toolset_name", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Filter tools to a single toolset by name", + "title": "Toolset Name" + } + }, + { + "description": "Admin only. Return the full server tool catalog without the allowed_tools filter or per-key tool permissions, so the MCP settings UI can configure the allowlist. Ignored for non-admins.", + "in": "query", + "name": "include_disabled_tools", + "required": false, + "schema": { + "default": false, + "description": "Admin only. Return the full server tool catalog without the allowed_tools filter or per-key tool permissions, so the MCP settings UI can configure the allowlist. Ignored for non-admins.", + "title": "Include Disabled Tools", + "type": "boolean" + } } ], "responses": { @@ -14569,13 +15966,635 @@ }, "mcp_byok_oauth": { "components": { - "schemas": {} + "schemas": { + "HTTPValidationError": { + "properties": { + "detail": { + "items": { + "$ref": "#/components/schemas/ValidationError" + }, + "title": "Detail", + "type": "array" + } + }, + "title": "HTTPValidationError", + "type": "object" + }, + "ValidationError": { + "properties": { + "ctx": { + "title": "Context", + "type": "object" + }, + "input": { + "title": "Input" + }, + "loc": { + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "integer" + } + ] + }, + "title": "Location", + "type": "array" + }, + "msg": { + "title": "Message", + "type": "string" + }, + "type": { + "title": "Error Type", + "type": "string" + } + }, + "required": [ + "loc", + "msg", + "type" + ], + "title": "ValidationError", + "type": "object" + } + } }, - "paths": {} + "paths": { + "/.well-known/oauth-authorization-server": { + "get": { + "description": "OAuth authorization server discovery endpoint.\n\nSupports both legacy pattern (/{server_name}) and root endpoint.", + "operationId": "oauth_authorization_server_mcp__well_known_oauth_authorization_server_get", + "parameters": [ + { + "in": "query", + "name": "mcp_server_name", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Mcp Server Name" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": {} + } + }, + "description": "Successful Response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "summary": "Oauth Authorization Server Mcp", + "tags": [ + "mcp_byok_oauth" + ] + } + }, + "/.well-known/oauth-authorization-server/mcp": { + "get": { + "description": "OAuth authorization server discovery for the aggregate /mcp endpoint, the RFC 8414\npath-inserted form for a client that treats {base}/mcp as its authorization base URL.\n\nThe single-segment /mcp is reserved for the aggregate so the discovery chain stays\nconsistent: the aggregate protected-resource document advertises {base}/mcp as its\nauthorization server, so the document served here must have issuer {base}/mcp. A server\nliterally named ``mcp`` therefore does not take this route; it keeps its standard\ntwo-segment discovery at /.well-known/oauth-authorization-server/mcp/mcp. Letting the\nper-server row win here instead would serve an issuer of {base} against a resource that\nadvertised {base}/mcp, which fails the RFC 8414 issuer check and breaks the front door.", + "operationId": "oauth_authorization_server_aggregate__well_known_oauth_authorization_server_mcp_get", + "responses": { + "200": { + "content": { + "application/json": { + "schema": {} + } + }, + "description": "Successful Response" + } + }, + "summary": "Oauth Authorization Server Aggregate", + "tags": [ + "mcp_byok_oauth" + ] + } + }, + "/.well-known/oauth-authorization-server/mcp/{mcp_server_name}": { + "get": { + "description": "OAuth authorization server discovery endpoint using standard MCP URL pattern.\n\nStandard pattern: /mcp/{server_name}\nDiscovery path: /.well-known/oauth-authorization-server/mcp/{server_name}", + "operationId": "oauth_authorization_server_mcp_standard__well_known_oauth_authorization_server_mcp__mcp_server_name__get", + "parameters": [ + { + "in": "path", + "name": "mcp_server_name", + "required": true, + "schema": { + "title": "Mcp Server Name", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": {} + } + }, + "description": "Successful Response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "summary": "Oauth Authorization Server Mcp Standard", + "tags": [ + "mcp_byok_oauth" + ] + } + }, + "/.well-known/oauth-authorization-server/{mcp_server_name}": { + "get": { + "description": "OAuth authorization server discovery endpoint.\n\nSupports both legacy pattern (/{server_name}) and root endpoint.", + "operationId": "oauth_authorization_server_mcp__well_known_oauth_authorization_server__mcp_server_name__get", + "parameters": [ + { + "in": "path", + "name": "mcp_server_name", + "required": true, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Mcp Server Name" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": {} + } + }, + "description": "Successful Response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "summary": "Oauth Authorization Server Mcp", + "tags": [ + "mcp_byok_oauth" + ] + } + }, + "/.well-known/oauth-authorization-server/{mcp_server_name}/mcp": { + "get": { + "description": "OAuth authorization server discovery for legacy /{server_name}/mcp pattern.", + "operationId": "oauth_authorization_server_legacy__well_known_oauth_authorization_server__mcp_server_name__mcp_get", + "parameters": [ + { + "in": "path", + "name": "mcp_server_name", + "required": true, + "schema": { + "title": "Mcp Server Name", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": {} + } + }, + "description": "Successful Response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "summary": "Oauth Authorization Server Legacy", + "tags": [ + "mcp_byok_oauth" + ] + } + }, + "/.well-known/oauth-protected-resource": { + "get": { + "description": "OAuth protected resource discovery endpoint using LiteLLM legacy URL pattern.\n\nLegacy pattern: /{server_name}/mcp\nDiscovery path: /.well-known/oauth-protected-resource/{server_name}/mcp\n\nThis endpoint is kept for backward compatibility. New integrations should\nuse the standard MCP pattern (/mcp/{server_name}) instead.", + "operationId": "oauth_protected_resource_mcp__well_known_oauth_protected_resource_get", + "parameters": [ + { + "in": "query", + "name": "mcp_server_name", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Mcp Server Name" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": {} + } + }, + "description": "Successful Response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "summary": "Oauth Protected Resource Mcp", + "tags": [ + "mcp_byok_oauth" + ] + } + }, + "/.well-known/oauth-protected-resource/mcp": { + "get": { + "description": "OAuth protected resource discovery for the aggregate /mcp endpoint.\n\nThe single-segment ``/mcp`` path does not collide with any per-server PRM pattern\n(those are two-segment: ``/mcp/{server}`` or ``/{server}/mcp``), so this unambiguously\ndescribes the aggregate resource.", + "operationId": "oauth_protected_resource_aggregate__well_known_oauth_protected_resource_mcp_get", + "responses": { + "200": { + "content": { + "application/json": { + "schema": {} + } + }, + "description": "Successful Response" + } + }, + "summary": "Oauth Protected Resource Aggregate", + "tags": [ + "mcp_byok_oauth" + ] + } + }, + "/.well-known/oauth-protected-resource/mcp/{mcp_server_name}": { + "get": { + "description": "OAuth protected resource discovery endpoint using standard MCP URL pattern.\n\nStandard pattern: /mcp/{server_name}\nDiscovery path: /.well-known/oauth-protected-resource/mcp/{server_name}\n\nThis endpoint is compliant with MCP specification and works with standard\nMCP clients like mcp-inspector and VSCode Copilot.", + "operationId": "oauth_protected_resource_mcp_standard__well_known_oauth_protected_resource_mcp__mcp_server_name__get", + "parameters": [ + { + "in": "path", + "name": "mcp_server_name", + "required": true, + "schema": { + "title": "Mcp Server Name", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": {} + } + }, + "description": "Successful Response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "summary": "Oauth Protected Resource Mcp Standard", + "tags": [ + "mcp_byok_oauth" + ] + } + }, + "/.well-known/oauth-protected-resource/{mcp_server_name}/mcp": { + "get": { + "description": "OAuth protected resource discovery endpoint using LiteLLM legacy URL pattern.\n\nLegacy pattern: /{server_name}/mcp\nDiscovery path: /.well-known/oauth-protected-resource/{server_name}/mcp\n\nThis endpoint is kept for backward compatibility. New integrations should\nuse the standard MCP pattern (/mcp/{server_name}) instead.", + "operationId": "oauth_protected_resource_mcp__well_known_oauth_protected_resource__mcp_server_name__mcp_get", + "parameters": [ + { + "in": "path", + "name": "mcp_server_name", + "required": true, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Mcp Server Name" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": {} + } + }, + "description": "Successful Response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "summary": "Oauth Protected Resource Mcp", + "tags": [ + "mcp_byok_oauth" + ] + } + } + } }, "mcp_discoverable": { "components": { "schemas": { + "Body_authorize_complete_authorize_complete_post": { + "properties": { + "decision": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Decision" + }, + "delivery": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Delivery" + }, + "flow": { + "title": "Flow", + "type": "string" + }, + "team_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Team Id" + } + }, + "required": [ + "flow" + ], + "title": "Body_authorize_complete_authorize_complete_post", + "type": "object" + }, + "Body_revoke_endpoint_revoke_post": { + "properties": { + "client_id": { + "title": "Client Id", + "type": "string" + }, + "token": { + "title": "Token", + "type": "string" + } + }, + "required": [ + "token", + "client_id" + ], + "title": "Body_revoke_endpoint_revoke_post", + "type": "object" + }, + "Body_token_endpoint__mcp_server_name__token_post": { + "properties": { + "client_id": { + "title": "Client Id", + "type": "string" + }, + "client_secret": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Client Secret" + }, + "code": { + "title": "Code", + "type": "string" + }, + "code_verifier": { + "title": "Code Verifier", + "type": "string" + }, + "grant_type": { + "title": "Grant Type", + "type": "string" + }, + "redirect_uri": { + "title": "Redirect Uri", + "type": "string" + }, + "refresh_token": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Refresh Token" + }, + "resource": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Resource" + }, + "scope": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Scope" + } + }, + "required": [ + "grant_type", + "client_id" + ], + "title": "Body_token_endpoint__mcp_server_name__token_post", + "type": "object" + }, + "Body_token_endpoint_token_post": { + "properties": { + "client_id": { + "title": "Client Id", + "type": "string" + }, + "client_secret": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Client Secret" + }, + "code": { + "title": "Code", + "type": "string" + }, + "code_verifier": { + "title": "Code Verifier", + "type": "string" + }, + "grant_type": { + "title": "Grant Type", + "type": "string" + }, + "redirect_uri": { + "title": "Redirect Uri", + "type": "string" + }, + "refresh_token": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Refresh Token" + }, + "resource": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Resource" + }, + "scope": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Scope" + } + }, + "required": [ + "grant_type", + "client_id" + ], + "title": "Body_token_endpoint_token_post", + "type": "object" + }, "CallbacksByType": { "properties": { "failure": { @@ -14607,67 +16626,7 @@ ], "title": "CallbacksByType", "type": "object" - } - } - }, - "paths": { - "/callbacks/configs": { - "get": { - "description": "Get Available Callback Configurations\n\nReturns the configuration details for all available logging callbacks,\nincluding supported parameters, field types, and descriptions.", - "operationId": "get_callback_configs_callbacks_configs_get", - "responses": { - "200": { - "content": { - "application/json": { - "schema": {} - } - }, - "description": "Successful Response" - } - }, - "security": [ - { - "APIKeyHeader": [] - } - ], - "summary": "Get Callback Configs", - "tags": [ - "mcp_discoverable" - ] - } - }, - "/callbacks/list": { - "get": { - "description": "View List of Active Logging Callbacks", - "operationId": "list_callbacks_callbacks_list_get", - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CallbacksByType" - } - } - }, - "description": "Successful Response" - } - }, - "security": [ - { - "APIKeyHeader": [] - } - ], - "summary": "List Callbacks", - "tags": [ - "mcp_discoverable" - ] - } - } - } - }, - "mcp_management": { - "components": { - "schemas": { + }, "HTTPValidationError": { "properties": { "detail": { @@ -14727,6 +16686,17 @@ "title": "Args", "type": "array" }, + "audience": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Audience" + }, "auth_type": { "anyOf": [ { @@ -14738,7 +16708,11 @@ "authorization", "oauth2", "aws_sigv4", - "token" + "token", + "oauth2_token_exchange", + "oauth2_id_jag", + "true_passthrough", + "oauth_delegate" ], "type": "string" }, @@ -14793,6 +16767,17 @@ ], "title": "Command" }, + "connected_app_reachable": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "title": "Connected App Reachable" + }, "created_at": { "anyOf": [ { @@ -14826,6 +16811,22 @@ } ] }, + "dcr_bridge": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "title": "Dcr Bridge" + }, + "delegate_auth_to_upstream": { + "default": false, + "title": "Delegate Auth To Upstream", + "type": "boolean" + }, "description": { "anyOf": [ { @@ -14844,6 +16845,20 @@ "title": "Env", "type": "object" }, + "env_vars": { + "anyOf": [ + { + "items": { + "$ref": "#/components/schemas/MCPEnvVar" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Env Vars" + }, "extra_headers": { "items": { "type": "string" @@ -14889,6 +16904,17 @@ "title": "Is Byok", "type": "boolean" }, + "issuer": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Issuer" + }, "last_health_check": { "anyOf": [ { @@ -14901,6 +16927,17 @@ ], "title": "Last Health Check" }, + "max_concurrent_requests": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Max Concurrent Requests" + }, "mcp_access_groups": { "items": { "type": "string" @@ -14920,6 +16957,26 @@ ], "title": "Mcp Info" }, + "oauth2_flow": { + "anyOf": [ + { + "enum": [ + "client_credentials", + "authorization_code" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Oauth2 Flow" + }, + "oauth_passthrough": { + "default": false, + "title": "Oauth Passthrough", + "type": "boolean" + }, "registration_url": { "anyOf": [ { @@ -15023,6 +17080,17 @@ "description": "Health status: 'healthy', 'unhealthy', 'unknown'", "title": "Status" }, + "subject_token_type": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Subject Token Type" + }, "submitted_at": { "anyOf": [ { @@ -15063,6 +17131,39 @@ "title": "Teams", "type": "array" }, + "timeout": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "title": "Timeout" + }, + "token_exchange_endpoint": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Token Exchange Endpoint" + }, + "token_exchange_profile": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Token Exchange Profile" + }, "token_url": { "anyOf": [ { @@ -15155,6 +17256,17 @@ }, "MCPCredentials": { "properties": { + "audience": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Audience" + }, "auth_value": { "anyOf": [ { @@ -15243,6 +17355,17 @@ ], "title": "Aws Session Token" }, + "client_assertion_signing_alg": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Client Assertion Signing Alg" + }, "client_id": { "anyOf": [ { @@ -15254,6 +17377,28 @@ ], "title": "Client Id" }, + "client_private_key": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Client Private Key" + }, + "client_private_key_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Client Private Key Id" + }, "client_secret": { "anyOf": [ { @@ -15265,6 +17410,42 @@ ], "title": "Client Secret" }, + "id_jag_resource": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Id Jag Resource" + }, + "id_jag_resource_token_endpoint": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Id Jag Resource Token Endpoint" + }, + "redirect_uris": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Redirect Uris" + }, "scopes": { "anyOf": [ { @@ -15278,11 +17459,2947 @@ } ], "title": "Scopes" + }, + "subject_token_type": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Subject Token Type" + }, + "token_endpoint_auth_method": { + "anyOf": [ + { + "enum": [ + "client_secret_basic", + "client_secret_post" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Token Endpoint Auth Method" + }, + "token_exchange_endpoint": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Token Exchange Endpoint" + }, + "token_exchange_profile": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Token Exchange Profile" + }, + "upstream_resource": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Upstream Resource" } }, "title": "MCPCredentials", "type": "object" }, + "MCPEnvVar": { + "description": "One environment variable for an MCP server.\n\nVariables can be interpolated into ``static_headers`` using ``${NAME}``\nsyntax. ``scope=global`` values are stored on the server. ``scope=user``\nvalues are stored per-user in ``LiteLLM_MCPUserEnvVars`` and supplied by\neach user.", + "properties": { + "description": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Description" + }, + "name": { + "title": "Name", + "type": "string" + }, + "scope": { + "$ref": "#/components/schemas/MCPEnvVarScope", + "default": "global" + }, + "value": { + "default": "", + "title": "Value", + "type": "string" + } + }, + "required": [ + "name" + ], + "title": "MCPEnvVar", + "type": "object" + }, + "MCPEnvVarScope": { + "description": "Scope for an MCP server environment variable.\n\n- ``global``: value is provided by the admin and used for all users.\n- ``user``: each user must provide their own value via the per-user\n env-var endpoint. The admin-supplied ``value`` is treated as a\n placeholder/hint and is not used at request time.", + "enum": [ + "global", + "user" + ], + "title": "MCPEnvVarScope", + "type": "string" + }, + "NewMCPServerRequest": { + "properties": { + "alias": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Alias" + }, + "allow_all_keys": { + "default": false, + "title": "Allow All Keys", + "type": "boolean" + }, + "allowed_tools": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Allowed Tools" + }, + "approval_status": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Server-managed: set by the endpoint; caller values are overridden.", + "title": "Approval Status" + }, + "args": { + "items": { + "type": "string" + }, + "title": "Args", + "type": "array" + }, + "audience": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Audience" + }, + "auth_type": { + "anyOf": [ + { + "enum": [ + "none", + "api_key", + "bearer_token", + "basic", + "authorization", + "oauth2", + "aws_sigv4", + "token", + "oauth2_token_exchange", + "oauth2_id_jag", + "true_passthrough", + "oauth_delegate" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Auth Type" + }, + "authorization_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Authorization Url" + }, + "available_on_public_internet": { + "default": true, + "title": "Available On Public Internet", + "type": "boolean" + }, + "byok_api_key_help_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Byok Api Key Help Url" + }, + "byok_description": { + "items": { + "type": "string" + }, + "title": "Byok Description", + "type": "array" + }, + "command": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Command" + }, + "credentials": { + "anyOf": [ + { + "$ref": "#/components/schemas/MCPCredentials" + }, + { + "type": "null" + } + ] + }, + "dcr_bridge": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "title": "Dcr Bridge" + }, + "delegate_auth_to_upstream": { + "default": false, + "title": "Delegate Auth To Upstream", + "type": "boolean" + }, + "description": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Description" + }, + "env": { + "additionalProperties": { + "type": "string" + }, + "title": "Env", + "type": "object" + }, + "env_vars": { + "anyOf": [ + { + "items": { + "$ref": "#/components/schemas/MCPEnvVar" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Env Vars" + }, + "extra_headers": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Extra Headers" + }, + "instructions": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Instructions" + }, + "is_byok": { + "default": false, + "title": "Is Byok", + "type": "boolean" + }, + "issuer": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Issuer" + }, + "max_concurrent_requests": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Max Concurrent Requests" + }, + "mcp_access_groups": { + "items": { + "type": "string" + }, + "title": "Mcp Access Groups", + "type": "array" + }, + "mcp_info": { + "anyOf": [ + { + "additionalProperties": true, + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Mcp Info" + }, + "oauth2_flow": { + "anyOf": [ + { + "enum": [ + "client_credentials", + "authorization_code" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Oauth2 Flow" + }, + "oauth_passthrough": { + "default": false, + "title": "Oauth Passthrough", + "type": "boolean" + }, + "registration_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Registration Url" + }, + "server_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Server Id" + }, + "server_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Server Name" + }, + "source_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Source Url" + }, + "spec_path": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Spec Path" + }, + "static_headers": { + "anyOf": [ + { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Static Headers" + }, + "subject_token_type": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Subject Token Type" + }, + "submitted_at": { + "anyOf": [ + { + "format": "date-time", + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Server-managed: set by the endpoint; caller values are overridden.", + "title": "Submitted At" + }, + "submitted_by": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Server-managed: set by the endpoint; caller values are overridden.", + "title": "Submitted By" + }, + "timeout": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "title": "Timeout" + }, + "token_exchange_endpoint": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Token Exchange Endpoint" + }, + "token_exchange_profile": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Token Exchange Profile" + }, + "token_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Token Url" + }, + "tool_name_to_description": { + "anyOf": [ + { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Tool Name To Description" + }, + "tool_name_to_display_name": { + "anyOf": [ + { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Tool Name To Display Name" + }, + "transport": { + "default": "sse", + "enum": [ + "sse", + "http", + "stdio" + ], + "title": "Transport", + "type": "string" + }, + "url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Url" + } + }, + "title": "NewMCPServerRequest", + "type": "object" + }, + "RegisterGuardrailRequest": { + "description": "Request body for POST /guardrails/register. Follows Generic Guardrail API config.", + "properties": { + "guardrail_info": { + "anyOf": [ + { + "additionalProperties": true, + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Guardrail Info" + }, + "guardrail_name": { + "title": "Guardrail Name", + "type": "string" + }, + "litellm_params": { + "additionalProperties": true, + "title": "Litellm Params", + "type": "object" + }, + "team_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Team Id" + } + }, + "required": [ + "guardrail_name", + "litellm_params" + ], + "title": "RegisterGuardrailRequest", + "type": "object" + }, + "RegisterGuardrailResponse": { + "properties": { + "guardrail_id": { + "title": "Guardrail Id", + "type": "string" + }, + "guardrail_name": { + "title": "Guardrail Name", + "type": "string" + }, + "status": { + "title": "Status", + "type": "string" + }, + "submitted_at": { + "anyOf": [ + { + "format": "date-time", + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Submitted At" + } + }, + "required": [ + "guardrail_id", + "guardrail_name", + "status" + ], + "title": "RegisterGuardrailResponse", + "type": "object" + }, + "ValidationError": { + "properties": { + "ctx": { + "title": "Context", + "type": "object" + }, + "input": { + "title": "Input" + }, + "loc": { + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "integer" + } + ] + }, + "title": "Location", + "type": "array" + }, + "msg": { + "title": "Message", + "type": "string" + }, + "type": { + "title": "Error Type", + "type": "string" + } + }, + "required": [ + "loc", + "msg", + "type" + ], + "title": "ValidationError", + "type": "object" + } + } + }, + "paths": { + "/.well-known/jwks.json": { + "get": { + "description": "JSON Web Key Set endpoint.\n\nReturns the RSA public key used by MCPJWTSigner to sign outbound MCP tokens.\nMCP servers and gateways use this endpoint to verify liteLLM-issued JWTs.\n\nReturns an empty key set if MCPJWTSigner is not configured.", + "operationId": "jwks_json__well_known_jwks_json_get", + "responses": { + "200": { + "content": { + "application/json": { + "schema": {} + } + }, + "description": "Successful Response" + } + }, + "summary": "Jwks Json", + "tags": [ + "mcp_discoverable" + ] + } + }, + "/.well-known/litellm-cli-auth": { + "get": { + "description": "The versioned contract a native client (``lite login --pkce``, or a CLI in any other\nlanguage) reads to sign a user in through the browser and obtain a proxy credential.", + "operationId": "native_client_auth_discovery__well_known_litellm_cli_auth_get", + "responses": { + "200": { + "content": { + "application/json": { + "schema": {} + } + }, + "description": "Successful Response" + } + }, + "summary": "Native Client Auth Discovery", + "tags": [ + "mcp_discoverable" + ] + } + }, + "/.well-known/oauth-authorization-server": { + "get": { + "description": "OAuth authorization server discovery endpoint.\n\nSupports both legacy pattern (/{server_name}) and root endpoint.", + "operationId": "oauth_authorization_server_mcp__well_known_oauth_authorization_server_get_2", + "parameters": [ + { + "in": "query", + "name": "mcp_server_name", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Mcp Server Name" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": {} + } + }, + "description": "Successful Response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "summary": "Oauth Authorization Server Mcp", + "tags": [ + "mcp_discoverable" + ] + } + }, + "/.well-known/oauth-authorization-server/mcp": { + "get": { + "description": "OAuth authorization server discovery for the aggregate /mcp endpoint, the RFC 8414\npath-inserted form for a client that treats {base}/mcp as its authorization base URL.\n\nThe single-segment /mcp is reserved for the aggregate so the discovery chain stays\nconsistent: the aggregate protected-resource document advertises {base}/mcp as its\nauthorization server, so the document served here must have issuer {base}/mcp. A server\nliterally named ``mcp`` therefore does not take this route; it keeps its standard\ntwo-segment discovery at /.well-known/oauth-authorization-server/mcp/mcp. Letting the\nper-server row win here instead would serve an issuer of {base} against a resource that\nadvertised {base}/mcp, which fails the RFC 8414 issuer check and breaks the front door.", + "operationId": "oauth_authorization_server_aggregate__well_known_oauth_authorization_server_mcp_get_2", + "responses": { + "200": { + "content": { + "application/json": { + "schema": {} + } + }, + "description": "Successful Response" + } + }, + "summary": "Oauth Authorization Server Aggregate", + "tags": [ + "mcp_discoverable" + ] + } + }, + "/.well-known/oauth-authorization-server/mcp/{mcp_server_name}": { + "get": { + "description": "OAuth authorization server discovery endpoint using standard MCP URL pattern.\n\nStandard pattern: /mcp/{server_name}\nDiscovery path: /.well-known/oauth-authorization-server/mcp/{server_name}", + "operationId": "oauth_authorization_server_mcp_standard__well_known_oauth_authorization_server_mcp__mcp_server_name__get_2", + "parameters": [ + { + "in": "path", + "name": "mcp_server_name", + "required": true, + "schema": { + "title": "Mcp Server Name", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": {} + } + }, + "description": "Successful Response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "summary": "Oauth Authorization Server Mcp Standard", + "tags": [ + "mcp_discoverable" + ] + } + }, + "/.well-known/oauth-authorization-server/{mcp_server_name}": { + "get": { + "description": "OAuth authorization server discovery endpoint.\n\nSupports both legacy pattern (/{server_name}) and root endpoint.", + "operationId": "oauth_authorization_server_mcp__well_known_oauth_authorization_server__mcp_server_name__get_2", + "parameters": [ + { + "in": "path", + "name": "mcp_server_name", + "required": true, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Mcp Server Name" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": {} + } + }, + "description": "Successful Response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "summary": "Oauth Authorization Server Mcp", + "tags": [ + "mcp_discoverable" + ] + } + }, + "/.well-known/oauth-authorization-server/{mcp_server_name}/mcp": { + "get": { + "description": "OAuth authorization server discovery for legacy /{server_name}/mcp pattern.", + "operationId": "oauth_authorization_server_legacy__well_known_oauth_authorization_server__mcp_server_name__mcp_get_2", + "parameters": [ + { + "in": "path", + "name": "mcp_server_name", + "required": true, + "schema": { + "title": "Mcp Server Name", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": {} + } + }, + "description": "Successful Response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "summary": "Oauth Authorization Server Legacy", + "tags": [ + "mcp_discoverable" + ] + } + }, + "/.well-known/oauth-protected-resource": { + "get": { + "description": "OAuth protected resource discovery endpoint using LiteLLM legacy URL pattern.\n\nLegacy pattern: /{server_name}/mcp\nDiscovery path: /.well-known/oauth-protected-resource/{server_name}/mcp\n\nThis endpoint is kept for backward compatibility. New integrations should\nuse the standard MCP pattern (/mcp/{server_name}) instead.", + "operationId": "oauth_protected_resource_mcp__well_known_oauth_protected_resource_get_2", + "parameters": [ + { + "in": "query", + "name": "mcp_server_name", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Mcp Server Name" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": {} + } + }, + "description": "Successful Response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "summary": "Oauth Protected Resource Mcp", + "tags": [ + "mcp_discoverable" + ] + } + }, + "/.well-known/oauth-protected-resource/mcp": { + "get": { + "description": "OAuth protected resource discovery for the aggregate /mcp endpoint.\n\nThe single-segment ``/mcp`` path does not collide with any per-server PRM pattern\n(those are two-segment: ``/mcp/{server}`` or ``/{server}/mcp``), so this unambiguously\ndescribes the aggregate resource.", + "operationId": "oauth_protected_resource_aggregate__well_known_oauth_protected_resource_mcp_get_2", + "responses": { + "200": { + "content": { + "application/json": { + "schema": {} + } + }, + "description": "Successful Response" + } + }, + "summary": "Oauth Protected Resource Aggregate", + "tags": [ + "mcp_discoverable" + ] + } + }, + "/.well-known/oauth-protected-resource/mcp/{mcp_server_name}": { + "get": { + "description": "OAuth protected resource discovery endpoint using standard MCP URL pattern.\n\nStandard pattern: /mcp/{server_name}\nDiscovery path: /.well-known/oauth-protected-resource/mcp/{server_name}\n\nThis endpoint is compliant with MCP specification and works with standard\nMCP clients like mcp-inspector and VSCode Copilot.", + "operationId": "oauth_protected_resource_mcp_standard__well_known_oauth_protected_resource_mcp__mcp_server_name__get_2", + "parameters": [ + { + "in": "path", + "name": "mcp_server_name", + "required": true, + "schema": { + "title": "Mcp Server Name", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": {} + } + }, + "description": "Successful Response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "summary": "Oauth Protected Resource Mcp Standard", + "tags": [ + "mcp_discoverable" + ] + } + }, + "/.well-known/oauth-protected-resource/{mcp_server_name}/mcp": { + "get": { + "description": "OAuth protected resource discovery endpoint using LiteLLM legacy URL pattern.\n\nLegacy pattern: /{server_name}/mcp\nDiscovery path: /.well-known/oauth-protected-resource/{server_name}/mcp\n\nThis endpoint is kept for backward compatibility. New integrations should\nuse the standard MCP pattern (/mcp/{server_name}) instead.", + "operationId": "oauth_protected_resource_mcp__well_known_oauth_protected_resource__mcp_server_name__mcp_get_2", + "parameters": [ + { + "in": "path", + "name": "mcp_server_name", + "required": true, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Mcp Server Name" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": {} + } + }, + "description": "Successful Response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "summary": "Oauth Protected Resource Mcp", + "tags": [ + "mcp_discoverable" + ] + } + }, + "/.well-known/openid-configuration": { + "get": { + "operationId": "openid_configuration__well_known_openid_configuration_get", + "responses": { + "200": { + "content": { + "application/json": { + "schema": {} + } + }, + "description": "Successful Response" + } + }, + "summary": "Openid Configuration", + "tags": [ + "mcp_discoverable" + ] + } + }, + "/authorize": { + "get": { + "operationId": "authorize_authorize_get", + "parameters": [ + { + "in": "query", + "name": "redirect_uri", + "required": true, + "schema": { + "title": "Redirect Uri", + "type": "string" + } + }, + { + "in": "query", + "name": "client_id", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Client Id" + } + }, + { + "in": "query", + "name": "state", + "required": false, + "schema": { + "default": "", + "title": "State", + "type": "string" + } + }, + { + "in": "query", + "name": "mcp_server_name", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Mcp Server Name" + } + }, + { + "in": "query", + "name": "code_challenge", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Code Challenge" + } + }, + { + "in": "query", + "name": "code_challenge_method", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Code Challenge Method" + } + }, + { + "in": "query", + "name": "response_type", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Response Type" + } + }, + { + "in": "query", + "name": "scope", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Scope" + } + }, + { + "in": "query", + "name": "resource", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Resource" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": {} + } + }, + "description": "Successful Response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "summary": "Authorize", + "tags": [ + "mcp_discoverable" + ] + } + }, + "/authorize/complete": { + "post": { + "description": "Finish an aggregate connect flow: mint the gateway authorization code for the\nsigned-in user and hand it back to the DCR client, by 303 redirect (default) or, for\na loopback client on a different machine, as a copyable callback URL\n(``delivery=manual``). POST plus the per-flow HttpOnly cookie set at /authorize; an\nanonymous or bad-flow request just 400s. The native-client consent page adds\n``decision`` (approve or deny) and the ``team_id`` the credential is attributed to.", + "operationId": "authorize_complete_authorize_complete_post", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "$ref": "#/components/schemas/Body_authorize_complete_authorize_complete_post" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": {} + } + }, + "description": "Successful Response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "summary": "Authorize Complete", + "tags": [ + "mcp_discoverable" + ] + } + }, + "/callback": { + "get": { + "description": "OAuth 2.0 authorization response handler for MCP loopback clients.\n\nAccepts either:\n\n- A successful authorization response (``code`` + ``state``), which is\n forwarded back to the validated client ``redirect_uri`` with the\n original (un-wrapped) ``state``.\n- An error response (``error``[+``error_description``/``error_uri``]), per\n RFC 6749 \u00a74.1.2.1. When ``state`` is present and decodes to a trusted\n ``redirect_uri``, the error params are propagated back to the client so\n its OAuth library can surface them. Otherwise we render an HTML error\n page so the user is not left on an opaque 422 / blank screen.", + "operationId": "callback_callback_get", + "parameters": [ + { + "in": "query", + "name": "code", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Code" + } + }, + { + "in": "query", + "name": "state", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "State" + } + }, + { + "in": "query", + "name": "error", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Error" + } + }, + { + "in": "query", + "name": "error_description", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Error Description" + } + }, + { + "in": "query", + "name": "error_uri", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Error Uri" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": {} + } + }, + "description": "Successful Response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "summary": "Callback", + "tags": [ + "mcp_discoverable" + ] + } + }, + "/callbacks/configs": { + "get": { + "description": "Get Available Callback Configurations\n\nReturns the configuration details for all available logging callbacks,\nincluding supported parameters, field types, and descriptions.", + "operationId": "get_callback_configs_callbacks_configs_get", + "responses": { + "200": { + "content": { + "application/json": { + "schema": {} + } + }, + "description": "Successful Response" + } + }, + "security": [ + { + "APIKeyHeader": [] + } + ], + "summary": "Get Callback Configs", + "tags": [ + "mcp_discoverable" + ] + } + }, + "/callbacks/list": { + "get": { + "description": "View List of Active Logging Callbacks", + "operationId": "list_callbacks_callbacks_list_get", + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CallbacksByType" + } + } + }, + "description": "Successful Response" + } + }, + "security": [ + { + "APIKeyHeader": [] + } + ], + "summary": "List Callbacks", + "tags": [ + "mcp_discoverable" + ] + } + }, + "/guardrails/register": { + "post": { + "description": "Register a guardrail for onboarding (team submission).\n\nAccepts a guardrail config in the\n[Generic Guardrail API](https://docs.litellm.ai/docs/adding_provider/generic_guardrail_api) format.\nThe submission is stored with status `pending_review` until an admin approves it.", + "operationId": "register_guardrail_guardrails_register_post_2", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RegisterGuardrailRequest" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RegisterGuardrailResponse" + } + } + }, + "description": "Successful Response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + } + ], + "summary": "Register Guardrail", + "tags": [ + "mcp_discoverable" + ] + } + }, + "/register": { + "post": { + "operationId": "register_client_register_post", + "parameters": [ + { + "in": "query", + "name": "mcp_server_name", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Mcp Server Name" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": {} + } + }, + "description": "Successful Response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "summary": "Register Client", + "tags": [ + "mcp_discoverable" + ] + } + }, + "/revoke": { + "post": { + "description": "RFC 7009 revocation for the gateway's refresh tokens (``lite logout``): 200 for a known\nclient whatever the token's state, 503 when the shared single-use record cannot be written;\naccess tokens expire on their own.", + "operationId": "revoke_endpoint_revoke_post", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "$ref": "#/components/schemas/Body_revoke_endpoint_revoke_post" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": {} + } + }, + "description": "Successful Response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "summary": "Revoke Endpoint", + "tags": [ + "mcp_discoverable" + ] + } + }, + "/token": { + "post": { + "description": "Accept the authorization code from client and exchange it for OAuth token.\nSupports PKCE flow by forwarding code_verifier to upstream provider.\n\n1. Call the token endpoint with PKCE parameters\n2. Store the user's token in the db - and generate a LiteLLM virtual key\n3. Return the token\n4. Return a virtual key in this response", + "operationId": "token_endpoint_token_post", + "parameters": [ + { + "in": "query", + "name": "mcp_server_name", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Mcp Server Name" + } + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "$ref": "#/components/schemas/Body_token_endpoint_token_post" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": {} + } + }, + "description": "Successful Response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "summary": "Token Endpoint", + "tags": [ + "mcp_discoverable" + ] + } + }, + "/v1/mcp/server/register": { + "post": { + "description": "Submit a new MCP server for admin review (non-admin users). Mirrors POST /guardrails/register.", + "operationId": "register_mcp_server_v1_mcp_server_register_post_2", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NewMCPServerRequest" + } + } + }, + "required": true + }, + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LiteLLM_MCPServerTable" + } + } + }, + "description": "Successful Response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + } + ], + "summary": "Register Mcp Server", + "tags": [ + "mcp_discoverable" + ] + } + }, + "/{mcp_server_name}/authorize": { + "get": { + "operationId": "authorize__mcp_server_name__authorize_get", + "parameters": [ + { + "in": "path", + "name": "mcp_server_name", + "required": true, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Mcp Server Name" + } + }, + { + "in": "query", + "name": "redirect_uri", + "required": true, + "schema": { + "title": "Redirect Uri", + "type": "string" + } + }, + { + "in": "query", + "name": "client_id", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Client Id" + } + }, + { + "in": "query", + "name": "state", + "required": false, + "schema": { + "default": "", + "title": "State", + "type": "string" + } + }, + { + "in": "query", + "name": "code_challenge", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Code Challenge" + } + }, + { + "in": "query", + "name": "code_challenge_method", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Code Challenge Method" + } + }, + { + "in": "query", + "name": "response_type", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Response Type" + } + }, + { + "in": "query", + "name": "scope", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Scope" + } + }, + { + "in": "query", + "name": "resource", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Resource" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": {} + } + }, + "description": "Successful Response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "summary": "Authorize", + "tags": [ + "mcp_discoverable" + ] + } + }, + "/{mcp_server_name}/register": { + "post": { + "operationId": "register_client__mcp_server_name__register_post", + "parameters": [ + { + "in": "path", + "name": "mcp_server_name", + "required": true, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Mcp Server Name" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": {} + } + }, + "description": "Successful Response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "summary": "Register Client", + "tags": [ + "mcp_discoverable" + ] + } + }, + "/{mcp_server_name}/token": { + "post": { + "description": "Accept the authorization code from client and exchange it for OAuth token.\nSupports PKCE flow by forwarding code_verifier to upstream provider.\n\n1. Call the token endpoint with PKCE parameters\n2. Store the user's token in the db - and generate a LiteLLM virtual key\n3. Return the token\n4. Return a virtual key in this response", + "operationId": "token_endpoint__mcp_server_name__token_post", + "parameters": [ + { + "in": "path", + "name": "mcp_server_name", + "required": true, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Mcp Server Name" + } + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "$ref": "#/components/schemas/Body_token_endpoint__mcp_server_name__token_post" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": {} + } + }, + "description": "Successful Response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "summary": "Token Endpoint", + "tags": [ + "mcp_discoverable" + ] + } + } + } + }, + "mcp_management": { + "components": { + "schemas": { + "HTTPValidationError": { + "properties": { + "detail": { + "items": { + "$ref": "#/components/schemas/ValidationError" + }, + "title": "Detail", + "type": "array" + } + }, + "title": "HTTPValidationError", + "type": "object" + }, + "LiteLLM_MCPServerTable": { + "description": "Represents a LiteLLM_MCPServerTable record", + "properties": { + "alias": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Alias" + }, + "allow_all_keys": { + "default": false, + "title": "Allow All Keys", + "type": "boolean" + }, + "allowed_tools": { + "items": { + "type": "string" + }, + "title": "Allowed Tools", + "type": "array" + }, + "approval_status": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": "active", + "description": "Approval status: 'pending_review', 'active', 'rejected'", + "title": "Approval Status" + }, + "args": { + "items": { + "type": "string" + }, + "title": "Args", + "type": "array" + }, + "audience": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Audience" + }, + "auth_type": { + "anyOf": [ + { + "enum": [ + "none", + "api_key", + "bearer_token", + "basic", + "authorization", + "oauth2", + "aws_sigv4", + "token", + "oauth2_token_exchange", + "oauth2_id_jag", + "true_passthrough", + "oauth_delegate" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Auth Type" + }, + "authorization_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Authorization Url" + }, + "available_on_public_internet": { + "default": true, + "title": "Available On Public Internet", + "type": "boolean" + }, + "byok_api_key_help_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Byok Api Key Help Url" + }, + "byok_description": { + "items": { + "type": "string" + }, + "title": "Byok Description", + "type": "array" + }, + "command": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Command" + }, + "connected_app_reachable": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "title": "Connected App Reachable" + }, + "created_at": { + "anyOf": [ + { + "format": "date-time", + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Created At" + }, + "created_by": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Created By" + }, + "credentials": { + "anyOf": [ + { + "$ref": "#/components/schemas/MCPCredentials" + }, + { + "type": "null" + } + ] + }, + "dcr_bridge": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "title": "Dcr Bridge" + }, + "delegate_auth_to_upstream": { + "default": false, + "title": "Delegate Auth To Upstream", + "type": "boolean" + }, + "description": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Description" + }, + "env": { + "additionalProperties": { + "type": "string" + }, + "title": "Env", + "type": "object" + }, + "env_vars": { + "anyOf": [ + { + "items": { + "$ref": "#/components/schemas/MCPEnvVar" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Env Vars" + }, + "extra_headers": { + "items": { + "type": "string" + }, + "title": "Extra Headers", + "type": "array" + }, + "has_user_credential": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "title": "Has User Credential" + }, + "health_check_error": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Health Check Error" + }, + "instructions": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Instructions" + }, + "is_byok": { + "default": false, + "title": "Is Byok", + "type": "boolean" + }, + "issuer": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Issuer" + }, + "last_health_check": { + "anyOf": [ + { + "format": "date-time", + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Last Health Check" + }, + "max_concurrent_requests": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Max Concurrent Requests" + }, + "mcp_access_groups": { + "items": { + "type": "string" + }, + "title": "Mcp Access Groups", + "type": "array" + }, + "mcp_info": { + "anyOf": [ + { + "additionalProperties": true, + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Mcp Info" + }, + "oauth2_flow": { + "anyOf": [ + { + "enum": [ + "client_credentials", + "authorization_code" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Oauth2 Flow" + }, + "oauth_passthrough": { + "default": false, + "title": "Oauth Passthrough", + "type": "boolean" + }, + "registration_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Registration Url" + }, + "review_notes": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Review Notes" + }, + "reviewed_at": { + "anyOf": [ + { + "format": "date-time", + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Reviewed At" + }, + "server_id": { + "title": "Server Id", + "type": "string" + }, + "server_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Server Name" + }, + "source_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Source Url" + }, + "spec_path": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Spec Path" + }, + "static_headers": { + "anyOf": [ + { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Static Headers" + }, + "status": { + "anyOf": [ + { + "enum": [ + "healthy", + "unhealthy", + "unknown" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "default": "unknown", + "description": "Health status: 'healthy', 'unhealthy', 'unknown'", + "title": "Status" + }, + "subject_token_type": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Subject Token Type" + }, + "submitted_at": { + "anyOf": [ + { + "format": "date-time", + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Submitted At" + }, + "submitted_by": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Submitted By" + }, + "teams": { + "items": { + "additionalProperties": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "type": "object" + }, + "title": "Teams", + "type": "array" + }, + "timeout": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "title": "Timeout" + }, + "token_exchange_endpoint": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Token Exchange Endpoint" + }, + "token_exchange_profile": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Token Exchange Profile" + }, + "token_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Token Url" + }, + "tool_name_to_description": { + "anyOf": [ + { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Tool Name To Description" + }, + "tool_name_to_display_name": { + "anyOf": [ + { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Tool Name To Display Name" + }, + "transport": { + "enum": [ + "sse", + "http", + "stdio" + ], + "title": "Transport", + "type": "string" + }, + "updated_at": { + "anyOf": [ + { + "format": "date-time", + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Updated At" + }, + "updated_by": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Updated By" + }, + "url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Url" + } + }, + "required": [ + "server_id", + "transport" + ], + "title": "LiteLLM_MCPServerTable", + "type": "object" + }, + "MCPCredentials": { + "properties": { + "audience": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Audience" + }, + "auth_value": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Auth Value" + }, + "aws_access_key_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Aws Access Key Id" + }, + "aws_region_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Aws Region Name" + }, + "aws_role_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Aws Role Name" + }, + "aws_secret_access_key": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Aws Secret Access Key" + }, + "aws_service_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Aws Service Name" + }, + "aws_session_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Aws Session Name" + }, + "aws_session_token": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Aws Session Token" + }, + "client_assertion_signing_alg": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Client Assertion Signing Alg" + }, + "client_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Client Id" + }, + "client_private_key": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Client Private Key" + }, + "client_private_key_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Client Private Key Id" + }, + "client_secret": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Client Secret" + }, + "id_jag_resource": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Id Jag Resource" + }, + "id_jag_resource_token_endpoint": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Id Jag Resource Token Endpoint" + }, + "redirect_uris": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Redirect Uris" + }, + "scopes": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Scopes" + }, + "subject_token_type": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Subject Token Type" + }, + "token_endpoint_auth_method": { + "anyOf": [ + { + "enum": [ + "client_secret_basic", + "client_secret_post" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Token Endpoint Auth Method" + }, + "token_exchange_endpoint": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Token Exchange Endpoint" + }, + "token_exchange_profile": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Token Exchange Profile" + }, + "upstream_resource": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Upstream Resource" + } + }, + "title": "MCPCredentials", + "type": "object" + }, + "MCPEnvVar": { + "description": "One environment variable for an MCP server.\n\nVariables can be interpolated into ``static_headers`` using ``${NAME}``\nsyntax. ``scope=global`` values are stored on the server. ``scope=user``\nvalues are stored per-user in ``LiteLLM_MCPUserEnvVars`` and supplied by\neach user.", + "properties": { + "description": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Description" + }, + "name": { + "title": "Name", + "type": "string" + }, + "scope": { + "$ref": "#/components/schemas/MCPEnvVarScope", + "default": "global" + }, + "value": { + "default": "", + "title": "Value", + "type": "string" + } + }, + "required": [ + "name" + ], + "title": "MCPEnvVar", + "type": "object" + }, + "MCPEnvVarScope": { + "description": "Scope for an MCP server environment variable.\n\n- ``global``: value is provided by the admin and used for all users.\n- ``user``: each user must provide their own value via the per-user\n env-var endpoint. The admin-supplied ``value`` is treated as a\n placeholder/hint and is not used at request time.", + "enum": [ + "global", + "user" + ], + "title": "MCPEnvVarScope", + "type": "string" + }, "MCPOAuthUserCredentialRequest": { "description": "Stores a user's OAuth2 token for an OpenAPI MCP server.", "properties": { @@ -15537,6 +20654,112 @@ "title": "MCPUserCredentialResponse", "type": "object" }, + "MCPUserEnvVarSpec": { + "description": "Describes one per-user env var slot for the calling user.\n\nStored values are write-only: the status only reports whether a value\n``is_set`` and never echoes the decrypted secret back to the client.", + "properties": { + "description": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Description" + }, + "is_set": { + "default": false, + "title": "Is Set", + "type": "boolean" + }, + "name": { + "title": "Name", + "type": "string" + } + }, + "required": [ + "name" + ], + "title": "MCPUserEnvVarSpec", + "type": "object" + }, + "MCPUserEnvVarsRequest": { + "description": "Payload for storing the calling user's per-user env var values.", + "properties": { + "values": { + "additionalProperties": { + "type": "string" + }, + "title": "Values", + "type": "object" + } + }, + "required": [ + "values" + ], + "title": "MCPUserEnvVarsRequest", + "type": "object" + }, + "MCPUserEnvVarsStatus": { + "description": "Per-user env var status for a single MCP server.", + "properties": { + "alias": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Alias" + }, + "missing_count": { + "default": 0, + "title": "Missing Count", + "type": "integer" + }, + "required": { + "items": { + "$ref": "#/components/schemas/MCPUserEnvVarSpec" + }, + "title": "Required", + "type": "array" + }, + "server_id": { + "title": "Server Id", + "type": "string" + }, + "server_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Server Name" + }, + "setup_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Setup Url" + } + }, + "required": [ + "server_id" + ], + "title": "MCPUserEnvVarsStatus", + "type": "object" + }, "MakeMCPServersPublicRequest": { "properties": { "mcp_server_ids": { @@ -15604,6 +20827,17 @@ "title": "Args", "type": "array" }, + "audience": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Audience" + }, "auth_type": { "anyOf": [ { @@ -15615,7 +20849,11 @@ "authorization", "oauth2", "aws_sigv4", - "token" + "token", + "oauth2_token_exchange", + "oauth2_id_jag", + "true_passthrough", + "oauth_delegate" ], "type": "string" }, @@ -15680,6 +20918,22 @@ } ] }, + "dcr_bridge": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "title": "Dcr Bridge" + }, + "delegate_auth_to_upstream": { + "default": false, + "title": "Delegate Auth To Upstream", + "type": "boolean" + }, "description": { "anyOf": [ { @@ -15698,6 +20952,20 @@ "title": "Env", "type": "object" }, + "env_vars": { + "anyOf": [ + { + "items": { + "$ref": "#/components/schemas/MCPEnvVar" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Env Vars" + }, "extra_headers": { "anyOf": [ { @@ -15728,6 +20996,28 @@ "title": "Is Byok", "type": "boolean" }, + "issuer": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Issuer" + }, + "max_concurrent_requests": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Max Concurrent Requests" + }, "mcp_access_groups": { "items": { "type": "string" @@ -15762,6 +21052,11 @@ ], "title": "Oauth2 Flow" }, + "oauth_passthrough": { + "default": false, + "title": "Oauth Passthrough", + "type": "boolean" + }, "registration_url": { "anyOf": [ { @@ -15831,6 +21126,17 @@ ], "title": "Static Headers" }, + "subject_token_type": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Subject Token Type" + }, "submitted_at": { "anyOf": [ { @@ -15856,6 +21162,39 @@ "description": "Server-managed: set by the endpoint; caller values are overridden.", "title": "Submitted By" }, + "timeout": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "title": "Timeout" + }, + "token_exchange_endpoint": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Token Exchange Endpoint" + }, + "token_exchange_profile": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Token Exchange Profile" + }, "token_url": { "anyOf": [ { @@ -16008,6 +21347,17 @@ "title": "Args", "type": "array" }, + "audience": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Audience" + }, "auth_type": { "anyOf": [ { @@ -16019,7 +21369,11 @@ "authorization", "oauth2", "aws_sigv4", - "token" + "token", + "oauth2_token_exchange", + "oauth2_id_jag", + "true_passthrough", + "oauth_delegate" ], "type": "string" }, @@ -16084,6 +21438,22 @@ } ] }, + "dcr_bridge": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "title": "Dcr Bridge" + }, + "delegate_auth_to_upstream": { + "default": false, + "title": "Delegate Auth To Upstream", + "type": "boolean" + }, "description": { "anyOf": [ { @@ -16102,6 +21472,20 @@ "title": "Env", "type": "object" }, + "env_vars": { + "anyOf": [ + { + "items": { + "$ref": "#/components/schemas/MCPEnvVar" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Env Vars" + }, "extra_headers": { "anyOf": [ { @@ -16132,6 +21516,28 @@ "title": "Is Byok", "type": "boolean" }, + "issuer": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Issuer" + }, + "max_concurrent_requests": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Max Concurrent Requests" + }, "mcp_access_groups": { "items": { "type": "string" @@ -16151,6 +21557,26 @@ ], "title": "Mcp Info" }, + "oauth2_flow": { + "anyOf": [ + { + "enum": [ + "client_credentials", + "authorization_code" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Oauth2 Flow" + }, + "oauth_passthrough": { + "default": false, + "title": "Oauth Passthrough", + "type": "boolean" + }, "registration_url": { "anyOf": [ { @@ -16213,6 +21639,50 @@ ], "title": "Static Headers" }, + "subject_token_type": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Subject Token Type" + }, + "timeout": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "title": "Timeout" + }, + "token_exchange_endpoint": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Token Exchange Endpoint" + }, + "token_exchange_profile": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Token Exchange Profile" + }, "token_url": { "anyOf": [ { @@ -16331,6 +21801,13 @@ }, "ValidationError": { "properties": { + "ctx": { + "title": "Context", + "type": "object" + }, + "input": { + "title": "Input" + }, "loc": { "items": { "anyOf": [ @@ -16600,6 +22077,18 @@ "description": "Filter MCP servers by team scope. When provided, returns only servers the team has access to plus globally available (allow_all_keys) servers. Used by the Create Key UI to show team-scoped MCP servers.", "title": "Team Id" } + }, + { + "description": "Annotate each returned server with connected_app_reachable: whether a connected app authorized by the calling user (a gateway OAuth session) is served this server on the aggregate MCP endpoint.", + "in": "query", + "name": "connected_app_view", + "required": false, + "schema": { + "default": false, + "description": "Annotate each returned server with connected_app_reachable: whether a connected app authorized by the calling user (a gateway OAuth session) is served this server on the aggregate MCP endpoint.", + "title": "Connected App View", + "type": "boolean" + } } ], "responses": { @@ -17438,6 +22927,156 @@ ] } }, + "/v1/mcp/server/{server_id}/user-env-vars": { + "delete": { + "description": "Clear the calling user's per-user MCP env var values for this server.", + "operationId": "clear_mcp_user_env_vars_v1_mcp_server__server_id__user_env_vars_delete", + "parameters": [ + { + "in": "path", + "name": "server_id", + "required": true, + "schema": { + "title": "Server Id", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MCPUserEnvVarsStatus" + } + } + }, + "description": "Successful Response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + } + ], + "summary": "Clear Mcp User Env Vars", + "tags": [ + "mcp_management" + ] + }, + "get": { + "description": "Return the calling user's per-user MCP env var status for this server.", + "operationId": "get_mcp_user_env_vars_v1_mcp_server__server_id__user_env_vars_get", + "parameters": [ + { + "in": "path", + "name": "server_id", + "required": true, + "schema": { + "title": "Server Id", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MCPUserEnvVarsStatus" + } + } + }, + "description": "Successful Response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + } + ], + "summary": "Get Mcp User Env Vars", + "tags": [ + "mcp_management" + ] + }, + "post": { + "description": "Store the calling user's per-user MCP env var values for this server. Submitted values are merged over any previously stored values, so you only send the fields you want to set or change; a variable omitted (or sent empty) keeps its stored value. Use DELETE to clear all stored values.", + "operationId": "store_mcp_user_env_vars_v1_mcp_server__server_id__user_env_vars_post", + "parameters": [ + { + "in": "path", + "name": "server_id", + "required": true, + "schema": { + "title": "Server Id", + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MCPUserEnvVarsRequest" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MCPUserEnvVarsStatus" + } + } + }, + "description": "Successful Response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + } + ], + "summary": "Store Mcp User Env Vars", + "tags": [ + "mcp_management" + ] + } + }, "/v1/mcp/tools": { "get": { "description": "Get all MCP tools available for the current key, including those from access groups", @@ -17746,6 +23385,37 @@ "mcp_management" ] } + }, + "/v1/mcp/user-env-vars/status": { + "get": { + "description": "Per-user MCP env var status across every server the user can access. Used by the dashboard to highlight servers with missing per-user vars.", + "operationId": "list_mcp_user_env_var_status_v1_mcp_user_env_vars_status_get", + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/MCPUserEnvVarsStatus" + }, + "title": "Response List Mcp User Env Var Status V1 Mcp User Env Vars Status Get", + "type": "array" + } + } + }, + "description": "Successful Response" + } + }, + "security": [ + { + "APIKeyHeader": [] + } + ], + "summary": "List Mcp User Env Var Status", + "tags": [ + "mcp_management" + ] + } } } }, @@ -17767,6 +23437,17 @@ }, "MCPCredentials": { "properties": { + "audience": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Audience" + }, "auth_value": { "anyOf": [ { @@ -17855,6 +23536,17 @@ ], "title": "Aws Session Token" }, + "client_assertion_signing_alg": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Client Assertion Signing Alg" + }, "client_id": { "anyOf": [ { @@ -17866,6 +23558,28 @@ ], "title": "Client Id" }, + "client_private_key": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Client Private Key" + }, + "client_private_key_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Client Private Key Id" + }, "client_secret": { "anyOf": [ { @@ -17877,6 +23591,42 @@ ], "title": "Client Secret" }, + "id_jag_resource": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Id Jag Resource" + }, + "id_jag_resource_token_endpoint": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Id Jag Resource Token Endpoint" + }, + "redirect_uris": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Redirect Uris" + }, "scopes": { "anyOf": [ { @@ -17890,11 +23640,113 @@ } ], "title": "Scopes" + }, + "subject_token_type": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Subject Token Type" + }, + "token_endpoint_auth_method": { + "anyOf": [ + { + "enum": [ + "client_secret_basic", + "client_secret_post" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Token Endpoint Auth Method" + }, + "token_exchange_endpoint": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Token Exchange Endpoint" + }, + "token_exchange_profile": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Token Exchange Profile" + }, + "upstream_resource": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Upstream Resource" } }, "title": "MCPCredentials", "type": "object" }, + "MCPEnvVar": { + "description": "One environment variable for an MCP server.\n\nVariables can be interpolated into ``static_headers`` using ``${NAME}``\nsyntax. ``scope=global`` values are stored on the server. ``scope=user``\nvalues are stored per-user in ``LiteLLM_MCPUserEnvVars`` and supplied by\neach user.", + "properties": { + "description": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Description" + }, + "name": { + "title": "Name", + "type": "string" + }, + "scope": { + "$ref": "#/components/schemas/MCPEnvVarScope", + "default": "global" + }, + "value": { + "default": "", + "title": "Value", + "type": "string" + } + }, + "required": [ + "name" + ], + "title": "MCPEnvVar", + "type": "object" + }, + "MCPEnvVarScope": { + "description": "Scope for an MCP server environment variable.\n\n- ``global``: value is provided by the admin and used for all users.\n- ``user``: each user must provide their own value via the per-user\n env-var endpoint. The admin-supplied ``value`` is treated as a\n placeholder/hint and is not used at request time.", + "enum": [ + "global", + "user" + ], + "title": "MCPEnvVarScope", + "type": "string" + }, "NewMCPServerRequest": { "properties": { "alias": { @@ -17946,6 +23798,17 @@ "title": "Args", "type": "array" }, + "audience": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Audience" + }, "auth_type": { "anyOf": [ { @@ -17957,7 +23820,11 @@ "authorization", "oauth2", "aws_sigv4", - "token" + "token", + "oauth2_token_exchange", + "oauth2_id_jag", + "true_passthrough", + "oauth_delegate" ], "type": "string" }, @@ -18022,6 +23889,22 @@ } ] }, + "dcr_bridge": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "title": "Dcr Bridge" + }, + "delegate_auth_to_upstream": { + "default": false, + "title": "Delegate Auth To Upstream", + "type": "boolean" + }, "description": { "anyOf": [ { @@ -18040,6 +23923,20 @@ "title": "Env", "type": "object" }, + "env_vars": { + "anyOf": [ + { + "items": { + "$ref": "#/components/schemas/MCPEnvVar" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Env Vars" + }, "extra_headers": { "anyOf": [ { @@ -18070,6 +23967,28 @@ "title": "Is Byok", "type": "boolean" }, + "issuer": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Issuer" + }, + "max_concurrent_requests": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Max Concurrent Requests" + }, "mcp_access_groups": { "items": { "type": "string" @@ -18104,6 +24023,11 @@ ], "title": "Oauth2 Flow" }, + "oauth_passthrough": { + "default": false, + "title": "Oauth Passthrough", + "type": "boolean" + }, "registration_url": { "anyOf": [ { @@ -18173,6 +24097,17 @@ ], "title": "Static Headers" }, + "subject_token_type": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Subject Token Type" + }, "submitted_at": { "anyOf": [ { @@ -18198,6 +24133,39 @@ "description": "Server-managed: set by the endpoint; caller values are overridden.", "title": "Submitted By" }, + "timeout": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "title": "Timeout" + }, + "token_exchange_endpoint": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Token Exchange Endpoint" + }, + "token_exchange_profile": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Token Exchange Profile" + }, "token_url": { "anyOf": [ { @@ -18264,6 +24232,13 @@ }, "ValidationError": { "properties": { + "ctx": { + "title": "Context", + "type": "object" + }, + "input": { + "title": "Input" + }, "loc": { "items": { "anyOf": [ @@ -18415,7 +24390,7 @@ }, "/mcp-rest/tools/list": { "get": { - "description": "List all available tools with information about the server they belong to.\n\nExample response:\n{\n \"tools\": [\n {\n \"name\": \"create_zap\",\n \"description\": \"Create a new zap\",\n \"inputSchema\": \"tool_input_schema\",\n \"mcp_info\": {\n \"server_name\": \"zapier\",\n \"logo_url\": \"https://www.zapier.com/logo.png\",\n }\n }\n ],\n \"error\": null,\n \"message\": \"Successfully retrieved tools\"\n}", + "description": "List all available tools with information about the server they belong to.\n\nExample response:\n{\n \"tools\": [\n {\n \"name\": \"create_zap\",\n \"description\": \"Create a new zap\",\n \"inputSchema\": \"tool_input_schema\",\n \"mcp_info\": {\n \"server_name\": \"zapier\",\n \"logo_url\": \"https://www.zapier.com/logo.png\",\n \"server_id\": \"a1b2c3d4-...\",\n \"alias\": \"zapier_prod\",\n }\n }\n ],\n \"error\": null,\n \"message\": \"Successfully retrieved tools\"\n}", "operationId": "list_tool_rest_api_mcp_rest_tools_list_get", "parameters": [ { @@ -18435,6 +24410,54 @@ "description": "The server id to list tools for", "title": "Server Id" } + }, + { + "description": "Filter tools to a single MCP server by name or alias", + "in": "query", + "name": "mcp_server_name", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Filter tools to a single MCP server by name or alias", + "title": "Mcp Server Name" + } + }, + { + "description": "Filter tools to a single toolset by name", + "in": "query", + "name": "toolset_name", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Filter tools to a single toolset by name", + "title": "Toolset Name" + } + }, + { + "description": "Admin only. Return the full server tool catalog without the allowed_tools filter or per-key tool permissions, so the MCP settings UI can configure the allowlist. Ignored for non-admins.", + "in": "query", + "name": "include_disabled_tools", + "required": false, + "schema": { + "default": false, + "description": "Admin only. Return the full server tool catalog without the allowed_tools filter or per-key tool permissions, so the MCP settings UI can configure the allowlist. Ignored for non-admins.", + "title": "Include Disabled Tools", + "type": "boolean" + } } ], "responses": { @@ -18655,6 +24678,14 @@ }, "ChatCompletionCachedContent": { "properties": { + "ttl": { + "enum": [ + "5m", + "1h" + ], + "title": "Ttl", + "type": "string" + }, "type": { "const": "ephemeral", "title": "Type", @@ -19053,8 +25084,15 @@ "title": "Cache Control" }, "signature": { - "title": "Signature", - "type": "string" + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Signature" }, "thinking": { "title": "Thinking", @@ -19149,7 +25187,14 @@ }, { "items": { - "$ref": "#/components/schemas/ChatCompletionTextObject" + "anyOf": [ + { + "$ref": "#/components/schemas/ChatCompletionTextObject" + }, + { + "$ref": "#/components/schemas/ChatCompletionImageObject" + } + ] }, "type": "array" } @@ -19176,6 +25221,13 @@ }, "ChatCompletionToolParam": { "properties": { + "allowed_callers": { + "items": { + "type": "string" + }, + "title": "Allowed Callers", + "type": "array" + }, "cache_control": { "$ref": "#/components/schemas/ChatCompletionCachedContent" }, @@ -19437,6 +25489,13 @@ ], "title": "Model" }, + "stream_holdback_chars": { + "items": { + "type": "integer" + }, + "title": "Stream Holdback Chars", + "type": "array" + }, "structured_messages": { "items": { "anyOf": [ @@ -20096,6 +26155,13 @@ }, "ValidationError": { "properties": { + "ctx": { + "title": "Context", + "type": "object" + }, + "input": { + "title": "Input" + }, "loc": { "items": { "anyOf": [ @@ -22046,7 +28112,7 @@ }, "/policies/list": { "get": { - "description": "List all policies from the database and config.yaml. Optionally filter by version_status.\n\nConfig-defined policies are returned with definition_location \"config\" and are treated\nas production versions. On a name conflict with a DB policy, only the DB policy is returned.\n\nQuery params:\n- version_status: Optional. One of \"draft\", \"published\", \"production\".\n If omitted, all versions are returned.\n\nExample Request:\n```bash\ncurl -X GET \"http://localhost:4000/policies/list\" \\\n -H \"Authorization: Bearer \"\ncurl -X GET \"http://localhost:4000/policies/list?version_status=production\" \\\n -H \"Authorization: Bearer \"\n```\n\nExample Response:\n```json\n{\n \"policies\": [\n {\n \"policy_id\": \"123e4567-e89b-12d3-a456-426614174000\",\n \"policy_name\": \"global-baseline\",\n \"version_number\": 1,\n \"version_status\": \"production\",\n \"inherit\": null,\n \"description\": \"Base guardrails for all requests\",\n \"guardrails_add\": [\"pii_masking\"],\n \"guardrails_remove\": [],\n \"condition\": null,\n \"created_at\": \"2024-01-01T00:00:00Z\",\n \"updated_at\": \"2024-01-01T00:00:00Z\"\n }\n ],\n \"total_count\": 1\n}\n```", + "description": "List all policies from the database and config.yaml. Optionally filter by version_status.\n\nConfig-defined policies are returned with definition_location \"config\" and are treated\nas production versions. On a name conflict with a production DB policy, only the DB policy\nis returned, mirroring runtime resolution where only production DB versions override config.\nA draft or published DB version does not hide the config policy, since the config version\nis still the one being enforced.\n\nQuery params:\n- version_status: Optional. One of \"draft\", \"published\", \"production\".\n If omitted, all versions are returned.\n\nExample Request:\n```bash\ncurl -X GET \"http://localhost:4000/policies/list\" \\\n -H \"Authorization: Bearer \"\ncurl -X GET \"http://localhost:4000/policies/list?version_status=production\" \\\n -H \"Authorization: Bearer \"\n```\n\nExample Response:\n```json\n{\n \"policies\": [\n {\n \"policy_id\": \"123e4567-e89b-12d3-a456-426614174000\",\n \"policy_name\": \"global-baseline\",\n \"version_number\": 1,\n \"version_status\": \"production\",\n \"inherit\": null,\n \"description\": \"Base guardrails for all requests\",\n \"guardrails_add\": [\"pii_masking\"],\n \"guardrails_remove\": [],\n \"condition\": null,\n \"created_at\": \"2024-01-01T00:00:00Z\",\n \"updated_at\": \"2024-01-01T00:00:00Z\"\n }\n ],\n \"total_count\": 1\n}\n```", "operationId": "list_policies_policies_list_get", "parameters": [ { @@ -22946,6 +29012,13 @@ }, "ValidationError": { "properties": { + "ctx": { + "title": "Context", + "type": "object" + }, + "input": { + "title": "Input" + }, "loc": { "items": { "anyOf": [ @@ -23096,7 +29169,7 @@ "Body_convert_prompt_file_to_json_utils_dotprompt_json_converter_post": { "properties": { "file": { - "format": "binary", + "contentMediaType": "application/octet-stream", "title": "File", "type": "string" } @@ -23502,6 +29575,13 @@ }, "ValidationError": { "properties": { + "ctx": { + "title": "Context", + "type": "object" + }, + "input": { + "title": "Input" + }, "loc": { "items": { "anyOf": [ @@ -24147,6 +30227,26 @@ ], "title": "RealtimeClientSecretResponse", "type": "object" + }, + "RealtimeTranscriptionSessionResponse": { + "additionalProperties": true, + "description": "Response from POST /v1/realtime/transcription_sessions.\n\n`client_secret.value` contains the encrypted token instead of the raw\nephemeral key. Unknown fields pass through unchanged.", + "properties": { + "client_secret": { + "anyOf": [ + { + "additionalProperties": true, + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Client Secret" + } + }, + "title": "RealtimeTranscriptionSessionResponse", + "type": "object" } } }, @@ -24196,6 +30296,33 @@ ] } }, + "/openai/v1/realtime/transcription_sessions": { + "post": { + "description": "Create an ephemeral Realtime transcription session\n(POST /v1/realtime/transcription_sessions) for the WebRTC/WebSocket flow.\n\nMirrors the client_secrets route but targets the transcription_sessions\nendpoint and encrypts the ephemeral key returned under `client_secret.value`.", + "operationId": "create_realtime_transcription_session_openai_v1_realtime_transcription_sessions_post", + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RealtimeTranscriptionSessionResponse" + } + } + }, + "description": "Successful Response" + } + }, + "security": [ + { + "APIKeyHeader": [] + } + ], + "summary": "Create Realtime Transcription Session", + "tags": [ + "realtime" + ] + } + }, "/realtime/calls": { "post": { "operationId": "proxy_realtime_calls_realtime_calls_post", @@ -24241,6 +30368,33 @@ ] } }, + "/realtime/transcription_sessions": { + "post": { + "description": "Create an ephemeral Realtime transcription session\n(POST /v1/realtime/transcription_sessions) for the WebRTC/WebSocket flow.\n\nMirrors the client_secrets route but targets the transcription_sessions\nendpoint and encrypts the ephemeral key returned under `client_secret.value`.", + "operationId": "create_realtime_transcription_session_realtime_transcription_sessions_post", + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RealtimeTranscriptionSessionResponse" + } + } + }, + "description": "Successful Response" + } + }, + "security": [ + { + "APIKeyHeader": [] + } + ], + "summary": "Create Realtime Transcription Session", + "tags": [ + "realtime" + ] + } + }, "/v1/realtime/calls": { "post": { "operationId": "proxy_realtime_calls_v1_realtime_calls_post", @@ -24285,6 +30439,33 @@ "realtime" ] } + }, + "/v1/realtime/transcription_sessions": { + "post": { + "description": "Create an ephemeral Realtime transcription session\n(POST /v1/realtime/transcription_sessions) for the WebRTC/WebSocket flow.\n\nMirrors the client_secrets route but targets the transcription_sessions\nendpoint and encrypts the ephemeral key returned under `client_secret.value`.", + "operationId": "create_realtime_transcription_session_v1_realtime_transcription_sessions_post", + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RealtimeTranscriptionSessionResponse" + } + } + }, + "description": "Successful Response" + } + }, + "security": [ + { + "APIKeyHeader": [] + } + ], + "summary": "Create Realtime Transcription Session", + "tags": [ + "realtime" + ] + } } } }, @@ -24304,6 +30485,77 @@ "title": "HTTPValidationError", "type": "object" }, + "SCIMEnterpriseUser": { + "properties": { + "costCenter": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Costcenter" + }, + "department": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Department" + }, + "division": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Division" + }, + "employeeNumber": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Employeenumber" + }, + "manager": { + "anyOf": [ + { + "$ref": "#/components/schemas/SCIMUserManager" + }, + { + "type": "null" + } + ] + }, + "organization": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Organization" + } + }, + "title": "SCIMEnterpriseUser", + "type": "object" + }, "SCIMFeature": { "properties": { "maxOperations": { @@ -24425,7 +30677,7 @@ "anyOf": [ { "items": { - "$ref": "#/components/schemas/SCIMUser" + "$ref": "#/components/schemas/SCIMUser-Output" }, "type": "array" }, @@ -24497,6 +30749,17 @@ ], "title": "Display" }, + "type": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Type" + }, "value": { "title": "Value", "type": "string" @@ -24508,6 +30771,52 @@ "title": "SCIMMember", "type": "object" }, + "SCIMMultiValuedAttribute": { + "properties": { + "display": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Display" + }, + "primary": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "title": "Primary" + }, + "type": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Type" + }, + "value": { + "title": "Value", + "type": "string" + } + }, + "required": [ + "value" + ], + "title": "SCIMMultiValuedAttribute", + "type": "object" + }, "SCIMPatchOp": { "properties": { "Operations": { @@ -24646,7 +30955,7 @@ "title": "SCIMServiceProviderConfig", "type": "object" }, - "SCIMUser": { + "SCIMUser-Input": { "properties": { "active": { "default": true, @@ -24678,6 +30987,20 @@ ], "title": "Emails" }, + "entitlements": { + "anyOf": [ + { + "items": { + "$ref": "#/components/schemas/SCIMMultiValuedAttribute" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Entitlements" + }, "externalId": { "anyOf": [ { @@ -24736,6 +31059,20 @@ } ] }, + "roles": { + "anyOf": [ + { + "items": { + "$ref": "#/components/schemas/SCIMMultiValuedAttribute" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Roles" + }, "schemas": { "items": { "type": "string" @@ -24743,6 +31080,16 @@ "title": "Schemas", "type": "array" }, + "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": { + "anyOf": [ + { + "$ref": "#/components/schemas/SCIMEnterpriseUser" + }, + { + "type": "null" + } + ] + }, "userName": { "anyOf": [ { @@ -24761,6 +31108,10 @@ "title": "SCIMUser", "type": "object" }, + "SCIMUser-Output": { + "additionalProperties": true, + "type": "object" + }, "SCIMUserEmail": { "properties": { "primary": { @@ -24833,6 +31184,45 @@ "title": "SCIMUserGroup", "type": "object" }, + "SCIMUserManager": { + "properties": { + "$ref": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "$Ref" + }, + "displayName": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Displayname" + }, + "value": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Value" + } + }, + "title": "SCIMUserManager", + "type": "object" + }, "SCIMUserName": { "properties": { "familyName": { @@ -24907,6 +31297,13 @@ }, "ValidationError": { "properties": { + "ctx": { + "title": "Context", + "type": "object" + }, + "input": { + "title": "Input" + }, "loc": { "items": { "anyOf": [ @@ -25817,7 +32214,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/SCIMUser" + "$ref": "#/components/schemas/SCIMUser-Input" } } }, @@ -25828,7 +32225,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/SCIMUser" + "$ref": "#/components/schemas/SCIMUser-Output" } } }, @@ -25947,7 +32344,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/SCIMUser" + "$ref": "#/components/schemas/SCIMUser-Output" } } }, @@ -26019,7 +32416,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/SCIMUser" + "$ref": "#/components/schemas/SCIMUser-Output" } } }, @@ -26080,7 +32477,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/SCIMUser" + "$ref": "#/components/schemas/SCIMUser-Input" } } }, @@ -26091,7 +32488,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/SCIMUser" + "$ref": "#/components/schemas/SCIMUser-Output" } } }, @@ -26387,6 +32784,13 @@ }, "ValidationError": { "properties": { + "ctx": { + "title": "Context", + "type": "object" + }, + "input": { + "title": "Input" + }, "loc": { "items": { "anyOf": [ @@ -28290,6 +34694,13 @@ }, "ValidationError": { "properties": { + "ctx": { + "title": "Context", + "type": "object" + }, + "input": { + "title": "Input" + }, "loc": { "items": { "anyOf": [ @@ -28389,6 +34800,13 @@ }, "ValidationError": { "properties": { + "ctx": { + "title": "Context", + "type": "object" + }, + "input": { + "title": "Input" + }, "loc": { "items": { "anyOf": [ @@ -28937,6 +35355,13 @@ }, "ValidationError": { "properties": { + "ctx": { + "title": "Context", + "type": "object" + }, + "input": { + "title": "Input" + }, "loc": { "items": { "anyOf": [ @@ -30490,16 +36915,7 @@ }, "required": [ "vector_store_id", - "custom_llm_provider", - "vector_store_name", - "vector_store_description", - "vector_store_metadata", - "created_at", - "updated_at", - "litellm_credential_name", - "litellm_params", - "team_id", - "user_id" + "custom_llm_provider" ], "title": "LiteLLM_ManagedVectorStoresTable", "type": "object" @@ -30515,6 +36931,13 @@ }, "ValidationError": { "properties": { + "ctx": { + "title": "Context", + "type": "object" + }, + "input": { + "title": "Input" + }, "loc": { "items": { "anyOf": [ @@ -30998,8 +37421,118 @@ "title": "IndexCreateRequest", "type": "object" }, + "IndexListResponse": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/LiteLLM_ManagedVectorStoreIndex" + }, + "title": "Data", + "type": "array" + }, + "object": { + "const": "list", + "default": "list", + "title": "Object", + "type": "string" + } + }, + "required": [ + "data" + ], + "title": "IndexListResponse", + "type": "object" + }, + "LiteLLM_ManagedVectorStoreIndex": { + "description": "LiteLLM managed vector store index object - this is is the object stored in the database", + "properties": { + "created_at": { + "anyOf": [ + { + "format": "date-time", + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Created At" + }, + "created_by": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Created By" + }, + "id": { + "title": "Id", + "type": "string" + }, + "index_info": { + "anyOf": [ + { + "additionalProperties": true, + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Index Info" + }, + "index_name": { + "title": "Index Name", + "type": "string" + }, + "litellm_params": { + "$ref": "#/components/schemas/IndexCreateLiteLLMParams" + }, + "updated_at": { + "anyOf": [ + { + "format": "date-time", + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Updated At" + }, + "updated_by": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Updated By" + } + }, + "required": [ + "id", + "index_name", + "litellm_params" + ], + "title": "LiteLLM_ManagedVectorStoreIndex", + "type": "object" + }, "ValidationError": { "properties": { + "ctx": { + "title": "Context", + "type": "object" + }, + "input": { + "title": "Input" + }, "loc": { "items": { "anyOf": [ @@ -31035,8 +37568,33 @@ }, "paths": { "/v1/indexes": { + "get": { + "description": "List all vector store indexes. Proxy admin only.\n\n```bash\ncurl -L -X GET 'http://0.0.0.0:4000/v1/indexes' -H 'Authorization: Bearer sk-1234'\n```", + "operationId": "index_list_v1_indexes_get", + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IndexListResponse" + } + } + }, + "description": "Successful Response" + } + }, + "security": [ + { + "APIKeyHeader": [] + } + ], + "summary": "Index List", + "tags": [ + "vector_stores" + ] + }, "post": { - "description": "Create an index. Just writes the index to the database.\n\n```bash\ncurl -L -X POST 'http://0.0.0.0:4000/indexes/create' -H 'Content-Type: application/json' -H 'Authorization: Bearer sk-1234' -H 'LiteLLM-Beta: indexes_beta=v1' -d '{ \n \"index_name\": \"dall-e-3\",\n \"vector_store_index\": \"real-index-name\",\n \"vector_store_name\": \"azure-ai-search\"\n }'\n```", + "description": "Create an index. Just writes the index to the database.\n\n```bash\ncurl -L -X POST 'http://0.0.0.0:4000/v1/indexes' -H 'Content-Type: application/json' -H 'Authorization: Bearer sk-1234' -d '{\n \"index_name\": \"dall-e-3\",\n \"litellm_params\": {\n \"vector_store_index\": \"real-index-name\",\n \"vector_store_name\": \"azure-ai-search\"\n }\n }'\n```", "operationId": "index_create_v1_indexes_post", "requestBody": { "content": { diff --git a/litellm/proxy/_lazy_openapi_snapshot.py b/litellm/proxy/_lazy_openapi_snapshot.py index 41359d44b27..a895a0809b1 100644 --- a/litellm/proxy/_lazy_openapi_snapshot.py +++ b/litellm/proxy/_lazy_openapi_snapshot.py @@ -3,18 +3,25 @@ Per-feature OpenAPI snapshot for lazy-loaded routers. The committed JSON is generated by `python -m litellm.proxy._lazy_openapi_snapshot` and consumed at runtime so /openapi.json can show full route info for unloaded -features without importing them. No CI job regenerates this file; drift surfaces -only indirectly through check-ui-api-types.yml, which rebuilds schema.d.ts from -app.openapi() with the committed snapshot injected. After changing any lazily -loaded route or this generator, rerun the module and commit the JSON, then run -`npm run gen:api` in ui/litellm-dashboard and commit schema.d.ts. +features without importing them. check-ui-api-types.yml (mirrored locally by +`make check`) regenerates this file and fails when the committed copy differs, +then rebuilds schema.d.ts from app.openapi() with the snapshot injected. After +changing any lazily loaded route or this generator, rerun the module and commit +the JSON, then run `npm run gen:api` in ui/litellm-dashboard and commit schema.d.ts. """ import json import re import sys +from collections.abc import Callable +from dataclasses import dataclass from pathlib import Path -from typing import Final +from typing import TYPE_CHECKING, Final + +if TYPE_CHECKING: + from fastapi import FastAPI + + from litellm.proxy._lazy_features import LazyFeature SNAPSHOT_FILE: Final = Path(__file__).parent / "_lazy_openapi_snapshot.json" HTTP_METHOD_SUFFIXES: Final = { @@ -83,20 +90,30 @@ def _normalize_operation_ids(paths: dict[str, dict]) -> None: break -def generate_snapshot() -> dict[str, dict]: +@dataclass(frozen=True, slots=True) +class SnapshotResult: + fragments: dict[str, dict] + skipped: tuple[str, ...] + + +def _register_feature(app: "FastAPI", feat: "LazyFeature") -> str | None: import importlib + try: + feat.register_fn(app, importlib.import_module(feat.module_path)) + except Exception as exc: + sys.stderr.write(f"warning: skip {feat.name}: {exc}\n") + return feat.name + return None + + +def generate_snapshot() -> SnapshotResult: from fastapi.openapi.utils import get_openapi from litellm.proxy._lazy_features import LAZY_FEATURES from litellm.proxy.proxy_server import app, ensure_unique_openapi_operation_ids - for feat in LAZY_FEATURES: - try: - module = importlib.import_module(feat.module_path) - feat.register_fn(app, module) - except Exception as exc: - sys.stderr.write(f"warning: skip {feat.name}: {exc}\n") + skipped: Final = tuple(name for feat in LAZY_FEATURES if (name := _register_feature(app, feat)) is not None) fragments: Final[dict[str, dict]] = {} used_operation_ids: Final[set[str]] = set() @@ -124,10 +141,21 @@ def generate_snapshot() -> dict[str, dict]: "paths": paths, "components": {"schemas": full.get("components", {}).get("schemas", {})}, } - return fragments + return SnapshotResult(fragments=fragments, skipped=skipped) + + +def main(snapshot_file: Path = SNAPSHOT_FILE, generate: Callable[[], SnapshotResult] = generate_snapshot) -> int: + result: Final = generate() + if result.skipped: + sys.stderr.write( + f"error: {len(result.skipped)} feature(s) failed to import, so their fragments would vanish from the " + f"snapshot: {', '.join(result.skipped)}\n" + ) + return 1 + snapshot_file.write_text(json.dumps(result.fragments, indent=2, sort_keys=True) + "\n") + sys.stdout.write(f"wrote {len(result.fragments)} feature fragments to {snapshot_file}\n") + return 0 if __name__ == "__main__": - fragments: Final = generate_snapshot() - SNAPSHOT_FILE.write_text(json.dumps(fragments, indent=2, sort_keys=True) + "\n") - sys.stdout.write(f"wrote {len(fragments)} feature fragments to {SNAPSHOT_FILE}\n") + sys.exit(main()) diff --git a/scripts/pre_commit_lint.sh b/scripts/pre_commit_lint.sh index 0861172056e..ff553be6461 100755 --- a/scripts/pre_commit_lint.sh +++ b/scripts/pre_commit_lint.sh @@ -13,7 +13,7 @@ # - tests/e2e Python -> `make lint-e2e-basedpyright` (test-linting.yml's e2e type-check step) # + raw HTTP client ban (test-code-quality.yml's check_e2e_no_raw_requests) # - dashboard -> prettier + eslint + lint budgets (test-litellm-ui-build.yml's frontend-lint) -# - proxy/types -> regenerate dashboard API types and fail on drift (check-ui-api-types.yml) +# - proxy/types -> regenerate the lazy OpenAPI snapshot and dashboard API types, fail on drift (check-ui-api-types.yml) # # Each block is skipped when no matching files are in scope, so unrelated commits # stay fast. This is intentionally not auto-installed as a git hook (see @@ -244,7 +244,7 @@ fi genapi_checks() { local status=0 - echo "check: checking dashboard API types are in sync (npm run gen:api)" + echo "check: checking the lazy OpenAPI snapshot and dashboard API types are in sync (npm run gen:api)" # gen-api-types.mjs imports litellm.proxy.proxy_server, which needs the proxy deps # and an up-to-date Prisma client; check-ui-api-types.yml installs those and runs # prisma generate before gen:api, so mirror that here or a stale client can mask @@ -260,7 +260,14 @@ genapi_checks() { elif ! uv run --no-sync python scripts/prisma_generate_if_needed.py; then echo "✗ Could not regenerate Prisma client (prisma generate failed)." >&2 status=1 + elif ! uv run --no-sync python -m litellm.proxy._lazy_openapi_snapshot; then + echo "✗ Could not regenerate the lazy OpenAPI snapshot (python -m litellm.proxy._lazy_openapi_snapshot failed)." >&2 + status=1 elif ( cd ui/litellm-dashboard && LITELLM_PYTHON="uv run --no-sync python" npm run gen:api ); then + if ! git diff --quiet -- litellm/proxy/_lazy_openapi_snapshot.json; then + echo "✗ The lazy OpenAPI snapshot is stale; regenerated litellm/proxy/_lazy_openapi_snapshot.json. Stage it and commit; re-run make check only if other checks failed too." >&2 + status=1 + fi if ! git diff --quiet -- ui/litellm-dashboard/src/lib/http/schema.d.ts; then echo "✗ Dashboard API types are stale; regenerated src/lib/http/schema.d.ts. Stage it and commit; re-run make check only if other checks failed too." >&2 status=1 diff --git a/tests/test_litellm/proxy/test_lazy_openapi_snapshot.py b/tests/test_litellm/proxy/test_lazy_openapi_snapshot.py index 79330b0e3a6..c513bd83b66 100644 --- a/tests/test_litellm/proxy/test_lazy_openapi_snapshot.py +++ b/tests/test_litellm/proxy/test_lazy_openapi_snapshot.py @@ -1,8 +1,9 @@ +import json import sys from types import ModuleType, SimpleNamespace from litellm.proxy._lazy_features import LazyFeature -from litellm.proxy._lazy_openapi_snapshot import _normalize_operation_ids +from litellm.proxy._lazy_openapi_snapshot import SnapshotResult, _normalize_operation_ids, main def test_generate_snapshot_uses_shared_operation_id_reservations(monkeypatch): @@ -61,7 +62,7 @@ def test_generate_snapshot_uses_shared_operation_id_reservations(monkeypatch): monkeypatch.setitem(sys.modules, "litellm.proxy.proxy_server", fake_proxy_server_module) monkeypatch.setattr("fastapi.openapi.utils.get_openapi", fake_get_openapi) - fragments = _lazy_openapi_snapshot.generate_snapshot() + fragments = _lazy_openapi_snapshot.generate_snapshot().fragments assert fragments["feature-a"]["paths"]["/feature-a/items"]["get"]["operationId"] == "shared_operation_id_get" assert fragments["feature-b"]["paths"]["/feature-b/items"]["get"]["operationId"] == "shared_operation_id_get_2" @@ -106,7 +107,7 @@ def test_generate_snapshot_registers_transitively_imported_modules(monkeypatch): monkeypatch.setitem(sys.modules, "litellm.proxy.proxy_server", fake_proxy_server_module) monkeypatch.setattr("fastapi.openapi.utils.get_openapi", fake_get_openapi) - fragments = _lazy_openapi_snapshot.generate_snapshot() + fragments = _lazy_openapi_snapshot.generate_snapshot().fragments assert fragments["transitive"]["paths"]["/transitive/items"]["get"]["tags"] == ["transitive"] assert "/v1/{param}/deep/leaf" in fragments["transitive"]["paths"] @@ -144,3 +145,63 @@ def test_normalize_operation_ids_preserves_custom_ids(): operations = paths["/proxy/{endpoint}"] assert operations["get"]["operationId"] == "custom_operation" assert operations["post"]["operationId"] == "custom_operation" + + +def test_generate_snapshot_reports_features_whose_import_fails(monkeypatch): + from litellm.proxy import _lazy_openapi_snapshot + + fake_app = SimpleNamespace(title="LiteLLM test", version="0.0.0", routes=[]) + + fake_module = ModuleType("fake_importable_feature") + monkeypatch.setitem(sys.modules, "fake_importable_feature", fake_module) + + def register_fn(app, module): + app.routes.append(SimpleNamespace(path="/importable/items")) + + fake_lazy_features_module = ModuleType("litellm.proxy._lazy_features") + fake_lazy_features_module.LAZY_FEATURES = [ + LazyFeature( + name="importable", + module_path="fake_importable_feature", + path_prefixes=("/importable",), + register_fn=register_fn, + ), + LazyFeature( + name="broken", + module_path="litellm.proxy.this_module_does_not_exist", + path_prefixes=("/broken",), + ), + ] + monkeypatch.setitem(sys.modules, "litellm.proxy._lazy_features", fake_lazy_features_module) + + def fake_get_openapi(title, version, routes): + return {"paths": {route.path: {"get": {"operationId": "importable_get"}} for route in routes}} + + fake_proxy_server_module = ModuleType("litellm.proxy.proxy_server") + fake_proxy_server_module.app = fake_app + fake_proxy_server_module.ensure_unique_openapi_operation_ids = lambda schema, reserved_operation_ids: schema + monkeypatch.setitem(sys.modules, "litellm.proxy.proxy_server", fake_proxy_server_module) + monkeypatch.setattr("fastapi.openapi.utils.get_openapi", fake_get_openapi) + + result = _lazy_openapi_snapshot.generate_snapshot() + + assert result.skipped == ("broken",) + assert sorted(result.fragments) == ["importable"] + + +def test_main_refuses_to_write_a_snapshot_missing_skipped_features(tmp_path, capsys): + snapshot_file = tmp_path / "snapshot.json" + result = SnapshotResult(fragments={"importable": {"paths": {}, "components": {"schemas": {}}}}, skipped=("broken",)) + + assert main(snapshot_file, generate=lambda: result) == 1 + assert not snapshot_file.exists() + assert "broken" in capsys.readouterr().err + + +def test_main_writes_sorted_snapshot_when_every_feature_loads(tmp_path): + snapshot_file = tmp_path / "snapshot.json" + fragments = {"zeta": {"paths": {"/z": {}}, "components": {"schemas": {}}}, "alpha": {"paths": {}, "components": {"schemas": {}}}} + + assert main(snapshot_file, generate=lambda: SnapshotResult(fragments=fragments, skipped=())) == 0 + assert json.loads(snapshot_file.read_text()) == fragments + assert snapshot_file.read_text() == json.dumps(fragments, indent=2, sort_keys=True) + "\n" diff --git a/ui/litellm-dashboard/src/lib/http/schema.d.ts b/ui/litellm-dashboard/src/lib/http/schema.d.ts index 9af332abd2f..cc496566d85 100644 --- a/ui/litellm-dashboard/src/lib/http/schema.d.ts +++ b/ui/litellm-dashboard/src/lib/http/schema.d.ts @@ -21,6 +21,52 @@ export interface paths { patch?: never; trace?: never; }; + "/.well-known/jwks.json": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Jwks Json + * @description JSON Web Key Set endpoint. + * + * Returns the RSA public key used by MCPJWTSigner to sign outbound MCP tokens. + * MCP servers and gateways use this endpoint to verify liteLLM-issued JWTs. + * + * Returns an empty key set if MCPJWTSigner is not configured. + */ + get: operations["jwks_json__well_known_jwks_json_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/.well-known/litellm-cli-auth": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Native Client Auth Discovery + * @description The versioned contract a native client (``lite login --pkce``, or a CLI in any other + * language) reads to sign a user in through the browser and obtain a proxy credential. + */ + get: operations["native_client_auth_discovery__well_known_litellm_cli_auth_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/.well-known/litellm-ui-config": { parameters: { query?: never; @@ -38,6 +84,241 @@ export interface paths { patch?: never; trace?: never; }; + "/.well-known/oauth-authorization-server": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Oauth Authorization Server Mcp + * @description OAuth authorization server discovery endpoint. + * + * Supports both legacy pattern (/{server_name}) and root endpoint. + */ + get: operations["oauth_authorization_server_mcp__well_known_oauth_authorization_server_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/.well-known/oauth-authorization-server/mcp": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Oauth Authorization Server Aggregate + * @description OAuth authorization server discovery for the aggregate /mcp endpoint, the RFC 8414 + * path-inserted form for a client that treats {base}/mcp as its authorization base URL. + * + * The single-segment /mcp is reserved for the aggregate so the discovery chain stays + * consistent: the aggregate protected-resource document advertises {base}/mcp as its + * authorization server, so the document served here must have issuer {base}/mcp. A server + * literally named ``mcp`` therefore does not take this route; it keeps its standard + * two-segment discovery at /.well-known/oauth-authorization-server/mcp/mcp. Letting the + * per-server row win here instead would serve an issuer of {base} against a resource that + * advertised {base}/mcp, which fails the RFC 8414 issuer check and breaks the front door. + */ + get: operations["oauth_authorization_server_aggregate__well_known_oauth_authorization_server_mcp_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/.well-known/oauth-authorization-server/mcp/{mcp_server_name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Oauth Authorization Server Mcp Standard + * @description OAuth authorization server discovery endpoint using standard MCP URL pattern. + * + * Standard pattern: /mcp/{server_name} + * Discovery path: /.well-known/oauth-authorization-server/mcp/{server_name} + */ + get: operations["oauth_authorization_server_mcp_standard__well_known_oauth_authorization_server_mcp__mcp_server_name__get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/.well-known/oauth-authorization-server/{mcp_server_name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Oauth Authorization Server Mcp + * @description OAuth authorization server discovery endpoint. + * + * Supports both legacy pattern (/{server_name}) and root endpoint. + */ + get: operations["oauth_authorization_server_mcp__well_known_oauth_authorization_server__mcp_server_name__get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/.well-known/oauth-authorization-server/{mcp_server_name}/mcp": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Oauth Authorization Server Legacy + * @description OAuth authorization server discovery for legacy /{server_name}/mcp pattern. + */ + get: operations["oauth_authorization_server_legacy__well_known_oauth_authorization_server__mcp_server_name__mcp_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/.well-known/oauth-protected-resource": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Oauth Protected Resource Mcp + * @description OAuth protected resource discovery endpoint using LiteLLM legacy URL pattern. + * + * Legacy pattern: /{server_name}/mcp + * Discovery path: /.well-known/oauth-protected-resource/{server_name}/mcp + * + * This endpoint is kept for backward compatibility. New integrations should + * use the standard MCP pattern (/mcp/{server_name}) instead. + */ + get: operations["oauth_protected_resource_mcp__well_known_oauth_protected_resource_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/.well-known/oauth-protected-resource/mcp": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Oauth Protected Resource Aggregate + * @description OAuth protected resource discovery for the aggregate /mcp endpoint. + * + * The single-segment ``/mcp`` path does not collide with any per-server PRM pattern + * (those are two-segment: ``/mcp/{server}`` or ``/{server}/mcp``), so this unambiguously + * describes the aggregate resource. + */ + get: operations["oauth_protected_resource_aggregate__well_known_oauth_protected_resource_mcp_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/.well-known/oauth-protected-resource/mcp/{mcp_server_name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Oauth Protected Resource Mcp Standard + * @description OAuth protected resource discovery endpoint using standard MCP URL pattern. + * + * Standard pattern: /mcp/{server_name} + * Discovery path: /.well-known/oauth-protected-resource/mcp/{server_name} + * + * This endpoint is compliant with MCP specification and works with standard + * MCP clients like mcp-inspector and VSCode Copilot. + */ + get: operations["oauth_protected_resource_mcp_standard__well_known_oauth_protected_resource_mcp__mcp_server_name__get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/.well-known/oauth-protected-resource/{mcp_server_name}/mcp": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Oauth Protected Resource Mcp + * @description OAuth protected resource discovery endpoint using LiteLLM legacy URL pattern. + * + * Legacy pattern: /{server_name}/mcp + * Discovery path: /.well-known/oauth-protected-resource/{server_name}/mcp + * + * This endpoint is kept for backward compatibility. New integrations should + * use the standard MCP pattern (/mcp/{server_name}) instead. + */ + get: operations["oauth_protected_resource_mcp__well_known_oauth_protected_resource__mcp_server_name__mcp_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/.well-known/openid-configuration": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Openid Configuration */ + get: operations["openid_configuration__well_known_openid_configuration_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/a2a/{agent_id}": { parameters: { query?: never; @@ -760,6 +1041,48 @@ export interface paths { patch?: never; trace?: never; }; + "/authorize": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Authorize */ + get: operations["authorize_authorize_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/authorize/complete": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Authorize Complete + * @description Finish an aggregate connect flow: mint the gateway authorization code for the + * signed-in user and hand it back to the DCR client, by 303 redirect (default) or, for + * a loopback client on a different machine, as a copyable callback URL + * (``delivery=manual``). POST plus the per-flow HttpOnly cookie set at /authorize; an + * anonymous or bad-flow request just 400s. The native-client consent page adds + * ``decision`` (approve or deny) and the ``team_id`` the credential is attributed to. + */ + post: operations["authorize_complete_authorize_complete_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/auto_router/benchmarks": { parameters: { query?: never; @@ -1535,6 +1858,37 @@ export interface paths { patch?: never; trace?: never; }; + "/callback": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Callback + * @description OAuth 2.0 authorization response handler for MCP loopback clients. + * + * Accepts either: + * + * - A successful authorization response (``code`` + ``state``), which is + * forwarded back to the validated client ``redirect_uri`` with the + * original (un-wrapped) ``state``. + * - An error response (``error``[+``error_description``/``error_uri``]), per + * RFC 6749 §4.1.2.1. When ``state`` is present and decodes to a trusted + * ``redirect_uri``, the error params are propagated back to the client so + * its OAuth library can surface them. Otherwise we render an HTML error + * page so the user is not left on an opaque 422 / blank screen. + */ + get: operations["callback_callback_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/callbacks/configs": { parameters: { query?: never; @@ -1677,6 +2031,8 @@ export interface paths { * the same name already exists it returns 409 Conflict; use * PUT /claude-code/plugins/{plugin_name} to update an existing plugin. * + * Requires a proxy admin API key. + * * Parameters: * - name: Plugin name (kebab-case) * - source: Git source reference (github, url, or git-subdir format) @@ -1741,6 +2097,8 @@ export interface paths { * Returns 404 if no plugin with the given name exists; use * POST /claude-code/plugins to create a new plugin. * + * Requires a proxy admin API key. + * * Parameters: * - plugin_name: Name of the plugin to update (path parameter) * - source: Git source reference (github, url, or git-subdir format) @@ -1772,6 +2130,8 @@ export interface paths { * Delete Plugin * @description Delete a plugin from the marketplace. * + * Requires a proxy admin API key. + * * Parameters: * - plugin_name: The name of the plugin to delete */ @@ -1794,6 +2154,8 @@ export interface paths { * Disable Plugin * @description Disable a plugin without deleting it. * + * Requires a proxy admin API key. + * * Parameters: * - plugin_name: The name of the plugin to disable */ @@ -1817,6 +2179,8 @@ export interface paths { * Enable Plugin * @description Enable a disabled plugin. * + * Requires a proxy admin API key. + * * Parameters: * - plugin_name: The name of the plugin to enable */ @@ -7886,6 +8250,8 @@ export interface paths { * "mcp_info": { * "server_name": "zapier", * "logo_url": "https://www.zapier.com/logo.png", + * "server_id": "a1b2c3d4-...", + * "alias": "zapier_prod", * } * } * ], @@ -9049,6 +9415,30 @@ export interface paths { patch?: never; trace?: never; }; + "/openai/v1/realtime/transcription_sessions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Create Realtime Transcription Session + * @description Create an ephemeral Realtime transcription session + * (POST /v1/realtime/transcription_sessions) for the WebRTC/WebSocket flow. + * + * Mirrors the client_secrets route but targets the transcription_sessions + * endpoint and encrypts the ephemeral key returned under `client_secret.value`. + */ + post: operations["create_realtime_transcription_session_openai_v1_realtime_transcription_sessions_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/openai/v1/responses": { parameters: { query?: never; @@ -10207,7 +10597,10 @@ export interface paths { * @description List all policies from the database and config.yaml. Optionally filter by version_status. * * Config-defined policies are returned with definition_location "config" and are treated - * as production versions. On a name conflict with a DB policy, only the DB policy is returned. + * as production versions. On a name conflict with a production DB policy, only the DB policy + * is returned, mirroring runtime resolution where only production DB versions override config. + * A draft or published DB version does not hide the config policy, since the config version + * is still the one being enforced. * * Query params: * - version_status: Optional. One of "draft", "published", "production". @@ -11829,6 +12222,47 @@ export interface paths { patch?: never; trace?: never; }; + "/realtime/transcription_sessions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Create Realtime Transcription Session + * @description Create an ephemeral Realtime transcription session + * (POST /v1/realtime/transcription_sessions) for the WebRTC/WebSocket flow. + * + * Mirrors the client_secrets route but targets the transcription_sessions + * endpoint and encrypts the ephemeral key returned under `client_secret.value`. + */ + post: operations["create_realtime_transcription_session_realtime_transcription_sessions_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/register": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Register Client */ + post: operations["register_client_register_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/reload/anthropic_beta_headers": { parameters: { query?: never; @@ -12068,6 +12502,28 @@ export interface paths { patch?: never; trace?: never; }; + "/revoke": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Revoke Endpoint + * @description RFC 7009 revocation for the gateway's refresh tokens (``lite logout``): 200 for a known + * client whatever the token's state, 503 when the shared single-use record cannot be written; + * access tokens expire on their own. + */ + post: operations["revoke_endpoint_revoke_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/robots.txt": { parameters: { query?: never; @@ -15116,6 +15572,32 @@ export interface paths { patch?: never; trace?: never; }; + "/token": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Token Endpoint + * @description Accept the authorization code from client and exchange it for OAuth token. + * Supports PKCE flow by forwarding code_verifier to upstream provider. + * + * 1. Call the token endpoint with PKCE parameters + * 2. Store the user's token in the db - and generate a LiteLLM virtual key + * 3. Return the token + * 4. Return a virtual key in this response + */ + post: operations["token_endpoint_token_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/toolset/{toolset_name}/mcp": { parameters: { query?: never; @@ -15976,27 +16458,25 @@ export interface paths { path?: never; cookie?: never; }; - /** a2a_registration */ - get: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; + get?: never; put?: never; - post?: never; + /** + * Discover Agent Card + * @description Fetch the upstream agent's well-known card so the UI can show the admin + * which skills/capabilities the agent exposes. + * + * Only proxy admins can call this — the UI uses it during agent registration, + * and we don't want arbitrary keys probing internal URLs. + * + * Example: + * ```bash + * curl -X POST "http://localhost:4000/v1/a2a/discover" \ + * -H "Authorization: Bearer " \ + * -H "Content-Type: application/json" \ + * -d '{"url": "https://upstream-agent.example.com"}' + * ``` + */ + post: operations["discover_agent_card_v1_a2a_discover_post"]; delete?: never; options?: never; head?: never; @@ -16096,30 +16576,30 @@ export interface paths { * -H "Content-Type: application/json" \ * -d '{ * "agent_name": "my-custom-agent", - * "agent_card_params": { - * "protocolVersion": "1.0", - * "name": "Hello World Agent", - * "description": "Just a hello world agent", - * "url": "http://localhost:9999/", - * "version": "1.0.0", - * "defaultInputModes": ["text"], - * "defaultOutputModes": ["text"], - * "capabilities": { - * "streaming": true - * }, - * "skills": [ - * { - * "id": "hello_world", - * "name": "Returns hello world", - * "description": "just returns hello world", - * "tags": ["hello world"], - * "examples": ["hi", "hello world"] - * } - * ] + * "agent_card_params": { + * "protocolVersion": "1.0", + * "name": "Hello World Agent", + * "description": "Just a hello world agent", + * "url": "http://localhost:9999/", + * "version": "1.0.0", + * "defaultInputModes": ["text"], + * "defaultOutputModes": ["text"], + * "capabilities": { + * "streaming": true * }, - * "litellm_params": { - * "make_public": true - * } + * "skills": [ + * { + * "id": "hello_world", + * "name": "Returns hello world", + * "description": "just returns hello world", + * "tags": ["hello world"], + * "examples": ["hi", "hello world"] + * } + * ] + * }, + * "litellm_params": { + * "make_public": true + * } * }' * ``` */ @@ -16189,7 +16669,7 @@ export interface paths { * * Example Request: * ```bash - * curl -X GET "http://localhost:4000/agents/123e4567-e89b-12d3-a456-426614174000" \ + * curl -X GET "http://localhost:4000/v1/agents/123e4567-e89b-12d3-a456-426614174000" \ * -H "Authorization: Bearer " * ``` */ @@ -16200,28 +16680,26 @@ export interface paths { * * Example Request: * ```bash - * curl -X PUT "http://localhost:4000/agents/123e4567-e89b-12d3-a456-426614174000" \ + * curl -X PUT "http://localhost:4000/v1/agents/123e4567-e89b-12d3-a456-426614174000" \ * -H "Authorization: Bearer " \ * -H "Content-Type: application/json" \ * -d '{ - * "agent": { - * "agent_name": "updated-agent", - * "agent_card_params": { - * "protocolVersion": "1.0", - * "name": "Updated Agent", - * "description": "Updated description", - * "url": "http://localhost:9999/", - * "version": "1.1.0", - * "defaultInputModes": ["text"], - * "defaultOutputModes": ["text"], - * "capabilities": { - * "streaming": true - * }, - * "skills": [] + * "agent_name": "updated-agent", + * "agent_card_params": { + * "protocolVersion": "1.0", + * "name": "Updated Agent", + * "description": "Updated description", + * "url": "http://localhost:9999/", + * "version": "1.1.0", + * "defaultInputModes": ["text"], + * "defaultOutputModes": ["text"], + * "capabilities": { + * "streaming": true * }, - * "litellm_params": { - * "make_public": false - * } + * "skills": [] + * }, + * "litellm_params": { + * "make_public": false * } * }' * ``` @@ -16234,7 +16712,7 @@ export interface paths { * * Example Request: * ```bash - * curl -X DELETE "http://localhost:4000/agents/123e4567-e89b-12d3-a456-426614174000" \ + * curl -X DELETE "http://localhost:4000/v1/agents/123e4567-e89b-12d3-a456-426614174000" \ * -H "Authorization: Bearer " * ``` * @@ -16254,28 +16732,26 @@ export interface paths { * * Example Request: * ```bash - * curl -X PUT "http://localhost:4000/agents/123e4567-e89b-12d3-a456-426614174000" \ + * curl -X PATCH "http://localhost:4000/v1/agents/123e4567-e89b-12d3-a456-426614174000" \ * -H "Authorization: Bearer " \ * -H "Content-Type: application/json" \ * -d '{ - * "agent": { - * "agent_name": "updated-agent", - * "agent_card_params": { - * "protocolVersion": "1.0", - * "name": "Updated Agent", - * "description": "Updated description", - * "url": "http://localhost:9999/", - * "version": "1.1.0", - * "defaultInputModes": ["text"], - * "defaultOutputModes": ["text"], - * "capabilities": { - * "streaming": true - * }, - * "skills": [] + * "agent_name": "updated-agent", + * "agent_card_params": { + * "protocolVersion": "1.0", + * "name": "Updated Agent", + * "description": "Updated description", + * "url": "http://localhost:9999/", + * "version": "1.1.0", + * "defaultInputModes": ["text"], + * "defaultOutputModes": ["text"], + * "capabilities": { + * "streaming": true * }, - * "litellm_params": { - * "make_public": false - * } + * "skills": [] + * }, + * "litellm_params": { + * "make_public": false * } * }' * ``` @@ -17292,17 +17768,27 @@ export interface paths { path?: never; cookie?: never; }; - get?: never; + /** + * Index List + * @description List all vector store indexes. Proxy admin only. + * + * ```bash + * curl -L -X GET 'http://0.0.0.0:4000/v1/indexes' -H 'Authorization: Bearer sk-1234' + * ``` + */ + get: operations["index_list_v1_indexes_get"]; put?: never; /** * Index Create * @description Create an index. Just writes the index to the database. * * ```bash - * curl -L -X POST 'http://0.0.0.0:4000/indexes/create' -H 'Content-Type: application/json' -H 'Authorization: Bearer sk-1234' -H 'LiteLLM-Beta: indexes_beta=v1' -d '{ + * curl -L -X POST 'http://0.0.0.0:4000/v1/indexes' -H 'Content-Type: application/json' -H 'Authorization: Bearer sk-1234' -d '{ * "index_name": "dall-e-3", - * "vector_store_index": "real-index-name", - * "vector_store_name": "azure-ai-search" + * "litellm_params": { + * "vector_store_index": "real-index-name", + * "vector_store_name": "azure-ai-search" + * } * }' * ``` */ @@ -17673,6 +18159,34 @@ export interface paths { patch?: never; trace?: never; }; + "/v1/mcp/server/{server_id}/user-env-vars": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get Mcp User Env Vars + * @description Return the calling user's per-user MCP env var status for this server. + */ + get: operations["get_mcp_user_env_vars_v1_mcp_server__server_id__user_env_vars_get"]; + put?: never; + /** + * Store Mcp User Env Vars + * @description Store the calling user's per-user MCP env var values for this server. Submitted values are merged over any previously stored values, so you only send the fields you want to set or change; a variable omitted (or sent empty) keeps its stored value. Use DELETE to clear all stored values. + */ + post: operations["store_mcp_user_env_vars_v1_mcp_server__server_id__user_env_vars_post"]; + /** + * Clear Mcp User Env Vars + * @description Clear the calling user's per-user MCP env var values for this server. + */ + delete: operations["clear_mcp_user_env_vars_v1_mcp_server__server_id__user_env_vars_delete"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/v1/mcp/tools": { parameters: { query?: never; @@ -17765,6 +18279,26 @@ export interface paths { patch?: never; trace?: never; }; + "/v1/mcp/user-env-vars/status": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List Mcp User Env Var Status + * @description Per-user MCP env var status across every server the user can access. Used by the dashboard to highlight servers with missing per-user vars. + */ + get: operations["list_mcp_user_env_var_status_v1_mcp_user_env_vars_status_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/v1/memory": { parameters: { query?: never; @@ -18274,6 +18808,30 @@ export interface paths { patch?: never; trace?: never; }; + "/v1/realtime/transcription_sessions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Create Realtime Transcription Session + * @description Create an ephemeral Realtime transcription session + * (POST /v1/realtime/transcription_sessions) for the WebRTC/WebSocket flow. + * + * Mirrors the client_secrets route but targets the transcription_sessions + * endpoint and encrypts the ephemeral key returned under `client_secret.value`. + */ + post: operations["create_realtime_transcription_session_v1_realtime_transcription_sessions_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/v1/rerank": { parameters: { query?: never; @@ -19660,25 +20218,118 @@ export interface paths { path?: never; cookie?: never; }; - /** gemini_agents */ - get: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; + /** + * List Gemini Agents + * @description List all custom agents on the Gemini side. + * + * Pass per-request Gemini credentials via the JSON-encoded + * ``litellm_params_template`` query parameter. Flat query parameters + * (e.g. ``?api_key=AIza...``) are intentionally ignored — see + * ``_merge_query_params_into_data`` for the rationale. + * + * ```bash + * curl "http://localhost:4000/v1beta/agents?litellm_params_template=%7B%22api_key%22%3A%22AIza...%22%7D" \ + * -H "Authorization: Bearer sk-..." + * ``` + */ + get: operations["list_gemini_agents_v1beta_agents_get"]; + put?: never; + /** + * Create Gemini Agent + * @description Create a named custom agent on the Gemini side. + * + * Example: + * ```bash + * curl -X POST "http://localhost:4000/v1beta/agents" \ + * -H "Authorization: Bearer sk-..." \ + * -H "Content-Type: application/json" \ + * -d '{ + * "name": "my-custom-slides-agent", + * "base_agent": "waverunner", + * "instructions": "You are a helpful assistant that creates slides.", + * "base_environment": { + * "type": "remote", + * "sources": [ + * {"type": "gcs", "source": "gs://eap-templates/slides-skill", + * "target": "/.agents/skills/slides-skill"} + * ] + * } + * }' + * ``` + */ + post: operations["create_gemini_agent_v1beta_agents_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1beta/agents/{name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; }; + /** + * Get Gemini Agent + * @description Get a specific custom agent by name. + * + * Pass per-request Gemini credentials via the JSON-encoded + * ``litellm_params_template`` query parameter. Flat query parameters + * (e.g. ``?api_key=AIza...``) are intentionally ignored — see + * ``_merge_query_params_into_data`` for the rationale. + * + * ```bash + * curl "http://localhost:4000/v1beta/agents/my-custom-slides-agent?litellm_params_template=%7B%22api_key%22%3A%22AIza...%22%7D" \ + * -H "Authorization: Bearer sk-..." + * ``` + */ + get: operations["get_gemini_agent_v1beta_agents__name__get"]; + put?: never; + post?: never; + /** + * Delete Gemini Agent + * @description Delete a custom agent by name. + * + * Pass per-request Gemini credentials via the JSON-encoded + * ``litellm_params_template`` query parameter. Flat query parameters + * (e.g. ``?api_key=AIza...``) are intentionally ignored — see + * ``_merge_query_params_into_data`` for the rationale. + * + * ```bash + * curl -X DELETE "http://localhost:4000/v1beta/agents/my-custom-slides-agent?litellm_params_template=%7B%22api_key%22%3A%22AIza...%22%7D" \ + * -H "Authorization: Bearer sk-..." + * ``` + */ + delete: operations["delete_gemini_agent_v1beta_agents__name__delete"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1beta/agents/{name}/versions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List Gemini Agent Versions + * @description List versions of a custom agent. + * + * Pass per-request Gemini credentials via the JSON-encoded + * ``litellm_params_template`` query parameter. Flat query parameters + * (e.g. ``?api_key=AIza...``) are intentionally ignored — see + * ``_merge_query_params_into_data`` for the rationale. + * + * ```bash + * curl "http://localhost:4000/v1beta/agents/my-custom-slides-agent/versions?litellm_params_template=%7B%22api_key%22%3A%22AIza...%22%7D" \ + * -H "Authorization: Bearer sk-..." + * ``` + */ + get: operations["list_gemini_agent_versions_v1beta_agents__name__versions_get"]; put?: never; post?: never; delete?: never; @@ -21059,6 +21710,23 @@ export interface paths { patch: operations["watsonx_proxy_route_watsonx__endpoint__patch"]; trace?: never; }; + "/{mcp_server_name}/authorize": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Authorize */ + get: operations["authorize__mcp_server_name__authorize_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/{mcp_server_name}/mcp": { parameters: { query?: never; @@ -21145,6 +21813,49 @@ export interface paths { patch: operations["dynamic_mcp_route__mcp_server_name__mcp_patch"]; trace?: never; }; + "/{mcp_server_name}/register": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Register Client */ + post: operations["register_client__mcp_server_name__register_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/{mcp_server_name}/token": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Token Endpoint + * @description Accept the authorization code from client and exchange it for OAuth token. + * Supports PKCE flow by forwarding code_verifier to upstream provider. + * + * 1. Call the token endpoint with PKCE parameters + * 2. Store the user's token in the db - and generate a LiteLLM virtual key + * 3. Return the token + * 4. Return a virtual key in this response + */ + post: operations["token_endpoint__mcp_server_name__token_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/{provider}/v1/batches": { parameters: { query?: never; @@ -21678,6 +22389,15 @@ export interface components { /** Url */ url?: string; }; + /** AgentKeySummary */ + AgentKeySummary: { + /** Key Alias */ + key_alias?: string | null; + /** Key Name */ + key_name?: string | null; + /** Token */ + token: string; + }; /** AgentMakePublicResponse */ AgentMakePublicResponse: { /** Message */ @@ -21728,6 +22448,8 @@ export interface components { created_by?: string | null; /** Extra Headers */ extra_headers?: string[] | null; + /** Keys */ + keys?: components["schemas"]["AgentKeySummary"][] | null; /** Litellm Params */ litellm_params?: { [key: string]: unknown; @@ -22147,7 +22869,7 @@ export interface components { routing_decision: components["schemas"]["StandardLoggingRoutingDecision"]; }; /** BaseLitellmParams */ - "BaseLitellmParams-Input": { + BaseLitellmParams: { /** * Additional Provider Specific Params * @description Additional provider-specific parameters for generic guardrail APIs @@ -22227,7 +22949,7 @@ export interface components { extra_headers?: string[] | null; /** * Fail On Error - * @description Whether to fail the request if Model Armor encounters an error + * @description Whether to fail the request if the guardrail encounters an error. Implemented by guardrail='model_armor' and 'generic_guardrail_api'. True (default) raises the error. False logs a critical error and lets the request proceed, so only a valid guardrail response can block or modify it. * @default true */ fail_on_error: boolean | null; @@ -22261,186 +22983,22 @@ export interface components { * @description Optional field if guardrail requires a 'model' parameter */ model?: string | null; + /** + * On Sensitive Data + * @description Action to take when sensitive data is detected. 'block' raises an exception (default behavior). 'route' reroutes the request to the model specified in sensitive_data_route_to_model. + */ + on_sensitive_data?: ("block" | "route") | null; /** * On Violation * @description For /v1/realtime sessions: 'warn' speaks the violation message and continues; 'end_session' speaks the message and closes the connection. */ on_violation?: ("warn" | "end_session") | null; /** - * Pangea Input Recipe - * @description Recipe for input (LLM request) - */ - pangea_input_recipe?: string | null; - /** - * Pangea Output Recipe - * @description Recipe for output (LLM response) - */ - pangea_output_recipe?: string | null; - /** - * Pattern Redaction Format - * @description Format string for pattern redaction (use {pattern_name} placeholder) - */ - pattern_redaction_format?: string | null; - /** - * Patterns - * @description List of patterns (prebuilt or custom regex) to detect - */ - patterns?: components["schemas"]["ContentFilterPattern"][] | null; - /** - * Realtime Violation Message - * @description The message the bot speaks aloud when a /v1/realtime guardrail fires. Falls back to violation_message_template if not set. - */ - realtime_violation_message?: string | null; - /** - * Severity Threshold - * @description Minimum severity to block (high, medium, low) - */ - severity_threshold?: string | null; - /** - * Skip System Message In Guardrail - * @description When True, unified guardrails skip system-role messages when building evaluation inputs (texts and structured_messages). When False, system messages are included even if litellm_settings sets a global skip. When None, use the global litellm.skip_system_message_in_guardrail setting. - */ - skip_system_message_in_guardrail?: boolean | null; - /** - * Template Id - * @description The ID of your Model Armor template - */ - template_id?: string | null; - /** - * Unreachable Fallback - * @description Behavior when a guardrail endpoint is unreachable due to network errors. NOTE: This is currently only implemented by guardrail='generic_guardrail_api'. 'fail_closed' raises an error (default). 'fail_open' logs a critical error and allows the request to proceed. - * @default fail_closed - * @enum {string} - */ - unreachable_fallback: "fail_closed" | "fail_open"; - /** - * Violation Message Template - * @description Custom message when a guardrail blocks an action. Supports placeholders like {tool_name}, {rule_id}, and {default_message}. - */ - violation_message_template?: string | null; - } & { - [key: string]: unknown; - }; - /** BaseLitellmParams */ - "BaseLitellmParams-Output": { - /** - * Additional Provider Specific Params - * @description Additional provider-specific parameters for generic guardrail APIs - */ - additional_provider_specific_params?: { - [key: string]: unknown; - } | null; - /** - * Api Base - * @description Base URL for the guardrail service API - */ - api_base?: string | null; - /** - * Api Endpoint - * @description Optional custom API endpoint for Model Armor - */ - api_endpoint?: string | null; - /** - * Api Key - * @description API key for the guardrail service - */ - api_key?: string | null; - /** - * Blocked Words - * @description List of blocked words with individual actions - */ - blocked_words?: components["schemas"]["BlockedWord"][] | null; - /** - * Blocked Words File - * @description Path to YAML file containing blocked_words list - */ - blocked_words_file?: string | null; - /** - * Categories - * @description List of prebuilt categories to enable (harmful_*, bias_*) - */ - categories?: components["schemas"]["ContentFilterCategoryConfig"][] | null; - /** @description Threshold configuration for Lakera guardrail categories */ - category_thresholds?: components["schemas"]["LakeraCategoryThresholds"] | null; - /** - * Credentials - * @description Path to Google Cloud credentials JSON file or JSON string - */ - credentials?: string | null; - /** - * Custom Code - * @description Python-like code containing the apply_guardrail function for custom guardrail logic - */ - custom_code?: string | null; - /** - * Default On - * @description Whether the guardrail is enabled by default - */ - default_on?: boolean | null; - /** - * Detect Secrets Config - * @description Configuration for detect-secrets guardrail - */ - detect_secrets_config?: { - [key: string]: unknown; - } | null; - /** - * End Session After N Fails - * @description For /v1/realtime sessions: automatically close the session after this many guardrail violations. - */ - end_session_after_n_fails?: number | null; - /** - * Experimental Use Latest Role Message Only - * @description When True, guardrails only receive the latest message for the relevant role (e.g., newest user input pre-call, newest assistant output post-call) + * Only Scan New Messages + * @description When True, the guardrail only scans messages that have not already been scanned earlier in the same session (identified by litellm_session_id / session_id). Message content is hashed per session and cached; only the diff (new or edited messages) is sent to the guardrail provider on follow-up calls. Falls back to a full scan when the request has no session id or the cache is unavailable. Intended for blocking/detection guardrails; not applied when mask_request_content is set. * @default false */ - experimental_use_latest_role_message_only: boolean | null; - /** - * Extra Headers - * @description Header names to forward from the client request to the guardrail (e.g. x-request-id). Only these headers' values are sent; others may be omitted or sent as [present]. Used by generic_guardrail_api (similar to MCP extra_headers). - */ - extra_headers?: string[] | null; - /** - * Fail On Error - * @description Whether to fail the request if Model Armor encounters an error - * @default true - */ - fail_on_error: boolean | null; - /** - * Guard Name - * @description Name of the guardrail in guardrails.ai - */ - guard_name?: string | null; - /** - * Keyword Redaction Tag - * @description Tag to use for keyword redaction - */ - keyword_redaction_tag?: string | null; - /** - * Location - * @description Google Cloud location/region (e.g., us-central1) - */ - location?: string | null; - /** - * Mask Request Content - * @description Will mask request content if guardrail makes any changes - */ - mask_request_content?: boolean | null; - /** - * Mask Response Content - * @description Will mask response content if guardrail makes any changes - */ - mask_response_content?: boolean | null; - /** - * Model - * @description Optional field if guardrail requires a 'model' parameter - */ - model?: string | null; - /** - * On Violation - * @description For /v1/realtime sessions: 'warn' speaks the violation message and continues; 'end_session' speaks the message and closes the connection. - */ - on_violation?: ("warn" | "end_session") | null; + only_scan_new_messages: boolean | null; /** * Pangea Input Recipe * @description Recipe for input (LLM request) @@ -22466,6 +23024,27 @@ export interface components { * @description The message the bot speaks aloud when a /v1/realtime guardrail fires. Falls back to violation_message_template if not set. */ realtime_violation_message?: string | null; + /** + * Run In Parallel + * @description When True, this pre_call or post_call guardrail runs concurrently with other opted-in guardrails of the same hook, after the sequential guardrails have run. Use only for block-only guardrails that inspect and reject; do not enable it for guardrails that modify the request or response (e.g. PII masking or sensitive-data routing), since parallel runs share one snapshot and their mutations would race. + */ + run_in_parallel?: boolean | null; + /** + * Sanitize Error Detail + * @description For guardrail='model_armor': omit the raw Model Armor response from caller-facing errors and logs by default. Set False to restore verbose output. + * @default true + */ + sanitize_error_detail: boolean | null; + /** + * Scan Only Tool Results + * @description When True, unified guardrails only evaluate tool results, the untrusted data an agent feeds back into the model, and skip system, user, and assistant content. Intended for agent harnesses whose own prompt scaffolding is trusted but often trips prompt-attack detectors. + */ + scan_only_tool_results?: boolean | null; + /** + * Sensitive Data Route To Model + * @description Model to route requests to when sensitive data is detected and on_sensitive_data='route'. This is typically an on-premise model for data privacy. The routing decision persists for the entire session. + */ + sensitive_data_route_to_model?: string | null; /** * Severity Threshold * @description Minimum severity to block (high, medium, low) @@ -22473,17 +23052,39 @@ export interface components { severity_threshold?: string | null; /** * Skip System Message In Guardrail - * @description When True, unified guardrails skip system-role messages when building evaluation inputs (texts and structured_messages). When False, system messages are included even if litellm_settings sets a global skip. When None, use the global litellm.skip_system_message_in_guardrail setting. + * @description When True, unified guardrails skip system-role messages when building evaluation inputs (texts and structured_messages). When False, system messages are included even if litellm_settings sets a global skip. When None, use the global litellm.skip_system_message_in_guardrail setting. For Anthropic /v1/messages, the flag applies only to the trusted top-level system prompt. In-sequence system entries are untrusted client input and remain in texts and structured_messages. */ skip_system_message_in_guardrail?: boolean | null; + /** + * Skip Tool Message In Guardrail + * @description When True, unified guardrails skip tool-role messages when building evaluation inputs (texts and structured_messages). When False, tool messages are included even if litellm_settings sets a global skip. When None, use the global litellm.skip_tool_message_in_guardrail setting. + */ + skip_tool_message_in_guardrail?: boolean | null; + /** + * Skip Unscannable Attachments + * @description Implemented by guardrail='model_armor'. When True, attachment references that carry no inline bytes (file_id, gs://, or http(s) URLs) pass through unscanned instead of blocking, while fail_on_error still governs real Model Armor API errors. Default False blocks them. + * @default false + */ + skip_unscannable_attachments: boolean | null; + /** + * Sticky Session Routing + * @description When True (default), after sensitive data is detected and routed, all subsequent requests in the same session will continue routing to the same model. + * @default true + */ + sticky_session_routing: boolean | null; /** * Template Id * @description The ID of your Model Armor template */ template_id?: string | null; + /** + * Timeout + * @description Per-request timeout for the guardrail provider API call (seconds). Accepts int, float, or numeric string; coerced to float on load. Each guardrail handler chooses its own default when unset. + */ + timeout?: number | null; /** * Unreachable Fallback - * @description Behavior when a guardrail endpoint is unreachable due to network errors. NOTE: This is currently only implemented by guardrail='generic_guardrail_api'. 'fail_closed' raises an error (default). 'fail_open' logs a critical error and allows the request to proceed. + * @description Behavior when a guardrail endpoint is unreachable due to network errors. Implemented by guardrail='generic_guardrail_api', 'akto', 'vigil_guard', 'repelloai', 'headroom', and 'compresr'. 'fail_closed' raises an error (default). 'fail_open' logs a critical error and allows the request to proceed. * @default fail_closed * @enum {string} */ @@ -22498,6 +23099,56 @@ export interface components { }; /** BaseModel */ BaseModel: Record; + /** + * BedrockChecksConfigModel + * @description Inline `checks` config for the resource-less Bedrock InvokeGuardrailChecks API. + * + * Include only the checks you want to run; at least one must be set. + */ + BedrockChecksConfigModel: { + contentFilter?: components["schemas"]["BedrockChecksContentFilterModel"] | null; + promptAttack?: components["schemas"]["BedrockChecksPromptAttackModel"] | null; + sensitiveInformation?: components["schemas"]["BedrockChecksSensitiveInformationModel"] | null; + }; + /** BedrockChecksContentFilterCategoryItem */ + BedrockChecksContentFilterCategoryItem: { + /** + * Category + * @enum {string} + */ + category: "VIOLENCE" | "HATE" | "SEXUAL" | "MISCONDUCT" | "INSULTS"; + }; + /** BedrockChecksContentFilterModel */ + BedrockChecksContentFilterModel: { + /** Categories */ + categories: components["schemas"]["BedrockChecksContentFilterCategoryItem"][]; + }; + /** BedrockChecksPromptAttackCategoryItem */ + BedrockChecksPromptAttackCategoryItem: { + /** + * Category + * @enum {string} + */ + category: "JAILBREAK" | "PROMPT_INJECTION" | "PROMPT_LEAKAGE"; + }; + /** BedrockChecksPromptAttackModel */ + BedrockChecksPromptAttackModel: { + /** Categories */ + categories: components["schemas"]["BedrockChecksPromptAttackCategoryItem"][]; + }; + /** BedrockChecksSensitiveInformationEntityItem */ + BedrockChecksSensitiveInformationEntityItem: { + /** + * Type + * @enum {string} + */ + type: "ADDRESS" | "AGE" | "AWS_ACCESS_KEY" | "AWS_SECRET_KEY" | "CA_HEALTH_NUMBER" | "CA_SOCIAL_INSURANCE_NUMBER" | "CREDIT_DEBIT_CARD_CVV" | "CREDIT_DEBIT_CARD_EXPIRY" | "CREDIT_DEBIT_CARD_NUMBER" | "DRIVER_ID" | "EMAIL" | "INTERNATIONAL_BANK_ACCOUNT_NUMBER" | "IP_ADDRESS" | "LICENSE_PLATE" | "MAC_ADDRESS" | "NAME" | "PASSWORD" | "PHONE" | "PIN" | "SWIFT_CODE" | "UK_NATIONAL_HEALTH_SERVICE_NUMBER" | "UK_NATIONAL_INSURANCE_NUMBER" | "UK_UNIQUE_TAXPAYER_REFERENCE_NUMBER" | "URL" | "USERNAME" | "US_BANK_ACCOUNT_NUMBER" | "US_BANK_ROUTING_NUMBER" | "US_INDIVIDUAL_TAX_IDENTIFICATION_NUMBER" | "US_PASSPORT_NUMBER" | "US_SOCIAL_SECURITY_NUMBER" | "VEHICLE_IDENTIFICATION_NUMBER"; + }; + /** BedrockChecksSensitiveInformationModel */ + BedrockChecksSensitiveInformationModel: { + /** Entities */ + entities: components["schemas"]["BedrockChecksSensitiveInformationEntityItem"][]; + }; /** BlockKeyRequest */ BlockKeyRequest: { /** Key */ @@ -22577,12 +23228,20 @@ export interface components { /** File */ file: string; }; + /** Body_authorize_complete_authorize_complete_post */ + Body_authorize_complete_authorize_complete_post: { + /** Decision */ + decision?: string | null; + /** Delivery */ + delivery?: string | null; + /** Flow */ + flow: string; + /** Team Id */ + team_id?: string | null; + }; /** Body_convert_prompt_file_to_json_utils_dotprompt_json_converter_post */ Body_convert_prompt_file_to_json_utils_dotprompt_json_converter_post: { - /** - * File - * Format: binary - */ + /** File */ file: string; }; /** Body_create_file__provider__v1_files_post */ @@ -22690,6 +23349,13 @@ export interface components { /** Mask[] */ "mask[]"?: string[] | null; }; + /** Body_revoke_endpoint_revoke_post */ + Body_revoke_endpoint_revoke_post: { + /** Client Id */ + client_id: string; + /** Token */ + token: string; + }; /** Body_test_model_connection_health_test_connection_post */ Body_test_model_connection_health_test_connection_post: { /** @@ -22712,6 +23378,48 @@ export interface components { [key: string]: unknown; }; }; + /** Body_token_endpoint__mcp_server_name__token_post */ + Body_token_endpoint__mcp_server_name__token_post: { + /** Client Id */ + client_id: string; + /** Client Secret */ + client_secret?: string | null; + /** Code */ + code?: string; + /** Code Verifier */ + code_verifier?: string; + /** Grant Type */ + grant_type: string; + /** Redirect Uri */ + redirect_uri?: string; + /** Refresh Token */ + refresh_token?: string | null; + /** Resource */ + resource?: string | null; + /** Scope */ + scope?: string | null; + }; + /** Body_token_endpoint_token_post */ + Body_token_endpoint_token_post: { + /** Client Id */ + client_id: string; + /** Client Secret */ + client_secret?: string | null; + /** Code */ + code?: string; + /** Code Verifier */ + code_verifier?: string; + /** Grant Type */ + grant_type: string; + /** Redirect Uri */ + redirect_uri?: string; + /** Refresh Token */ + refresh_token?: string | null; + /** Resource */ + resource?: string | null; + /** Scope */ + scope?: string | null; + }; /** Body_upload_logo_upload_logo_post */ Body_upload_logo_upload_logo_post: { /** File */ @@ -23629,6 +24337,8 @@ export interface components { }; /** ChatCompletionToolParam */ ChatCompletionToolParam: { + /** Allowed Callers */ + allowed_callers?: string[]; cache_control?: components["schemas"]["ChatCompletionCachedContent"]; function: components["schemas"]["ChatCompletionToolParamFunctionChunk"]; /** Type */ @@ -23711,6 +24421,86 @@ export interface components { } & { [key: string]: unknown; }; + /** + * CiscoAIDefenseGuardrailConfigModelOptionalParams + * @description Optional parameters for the Cisco AI Defense guardrail. + */ + CiscoAIDefenseGuardrailConfigModelOptionalParams: { + /** + * Enabled Rules + * @description Explicit list of Cisco AI Defense rules to evaluate. If omitted, the policies configured for the API key in the Cisco AI Defense UI are used. + */ + enabled_rules?: components["schemas"]["CiscoAIDefenseRule"][] | null; + /** + * Fallback On Error + * @description Behaviour when the Cisco AI Defense API is unavailable: 'allow' proceeds without scanning (high availability), 'block' rejects the request (maximum security). + * @default block + */ + fallback_on_error: ("allow" | "block") | null; + /** + * Inspect Path + * @description Override for the inspection endpoint path. Defaults to /api/v1/inspect/chat when inspection_type='chat' and /api/v1/inspect/mcp when inspection_type='mcp'. + */ + inspect_path?: string | null; + /** + * Inspection Type + * @description Which Cisco AI Defense inspection surface to use. 'chat' scans LLM model conversations via /api/v1/inspect/chat. 'mcp' scans MCP tool calls via /api/v1/inspect/mcp. Each guardrail instance targets exactly one surface; configure two guardrails to scan both chat and MCP traffic. + * @default chat + * @enum {string} + */ + inspection_type: "chat" | "mcp"; + /** + * Integration Profile Id + * @description Integration profile id to apply (advanced). + */ + integration_profile_id?: string | null; + /** + * Integration Profile Version + * @description Integration profile version to apply (advanced). + */ + integration_profile_version?: string | null; + /** + * Integration Tenant Id + * @description Integration tenant id to apply (advanced). + */ + integration_tenant_id?: string | null; + /** + * Integration Type + * @description Integration type to apply (advanced). + */ + integration_type?: string | null; + /** + * On Flagged Action + * @description Action to take when Cisco AI Defense flags content. 'block' raises an HTTPException; 'monitor' logs the detection and lets the request continue. + * @default block + */ + on_flagged_action: string | null; + /** + * Timeout + * @description Timeout (seconds) for Cisco AI Defense API calls (1-60). + * @default 10 + */ + timeout: number | null; + } & { + [key: string]: unknown; + }; + /** + * CiscoAIDefenseRule + * @description A single rule to enable for Cisco AI Defense inspection. + */ + CiscoAIDefenseRule: { + /** + * Entity Types + * @description Optional list of entity types for the rule (e.g. 'Email Address', 'Phone Number'). Applies to rules such as PII, PCI, and PHI. + */ + entity_types?: string[] | null; + /** + * Rule Name + * @description The canonical Cisco AI Defense rule name to evaluate. + * @enum {string} + */ + rule_name: "Code Detection" | "Harassment" | "Hate Speech" | "PCI" | "PHI" | "PII" | "Prompt Injection" | "Profanity" | "Sexual Content & Exploitation" | "Social Division & Polarization" | "Violence & Public Safety Threats"; + }; /** CitationsObject */ CitationsObject: { /** Enabled */ @@ -25145,6 +25935,43 @@ export interface components { } & { [key: string]: unknown; }; + /** DiscoverAgentRequest */ + DiscoverAgentRequest: { + /** + * @description How to locate the upstream card. ``well_known_fallback`` for pure A2A agents (try standard paths); ``langgraph_platform`` for LangGraph Platform deployments where the card is shared across assistants and disambiguated by a query parameter. + * @default well_known_fallback + */ + discovery_mode: components["schemas"]["DiscoveryMode"]; + /** + * Params + * @description Mode-specific parameters. ``langgraph_platform`` requires ``{'assistant_id': }``. ``well_known_fallback`` ignores this. + */ + params?: { + [key: string]: unknown; + } | null; + /** + * Url + * @description Base URL of the upstream agent. Behavior depends on ``discovery_mode``: ``well_known_fallback`` (default) tries /.well-known/agent-card.json, /.well-known/agent.json, /agent.json under this URL in order; ``langgraph_platform`` hits ``/.well-known/agent-card.json?assistant_id=`` instead. + */ + url: string; + }; + /** DiscoverAgentResponse */ + DiscoverAgentResponse: { + /** Agent Card */ + agent_card: { + [key: string]: unknown; + }; + /** Url */ + url: string; + }; + /** + * DiscoveryMode + * @description How to locate the upstream agent card. + * + * String-valued so it serializes cleanly over JSON / Pydantic. + * @enum {string} + */ + DiscoveryMode: "well_known_fallback" | "langgraph_platform"; /** * DistinctTagResponse * @description Response for distinct user agent tags @@ -25929,6 +26756,8 @@ export interface components { images?: string[]; /** Model */ model?: string | null; + /** Stream Holdback Chars */ + stream_holdback_chars?: number[]; /** Structured Messages */ structured_messages?: (components["schemas"]["ChatCompletionUserMessage"] | components["schemas"]["ChatCompletionAssistantMessage"] | components["schemas"]["ChatCompletionToolMessage"] | components["schemas"]["ChatCompletionSystemMessage"] | components["schemas"]["ChatCompletionFunctionMessage"] | components["schemas"]["ChatCompletionDeveloperMessage"])[]; /** Texts */ @@ -25962,53 +26791,6 @@ export interface components { /** Starttime */ startTime?: string | null; }; - /** - * GraySwanGuardrailConfigModelOptionalParams - * @description Optional parameters for the Gray Swan guardrail. - */ - GraySwanGuardrailConfigModelOptionalParams: { - /** - * Categories - * @description Default Gray Swan category definitions to send with each request. - */ - categories?: { - [key: string]: string; - } | null; - /** - * Fail Open - * @description If true (default), errors contacting Gray Swan are logged and the request proceeds. If false, errors propagate and block the request. - * @default true - */ - fail_open: boolean | null; - /** - * Guardrail Timeout - * @description Timeout in seconds for calling the Gray Swan guardrail service. - * @default 30 - */ - guardrail_timeout: number | null; - /** - * On Flagged Action - * @description Action when a violation is detected: 'block' rejects the call (400 error), 'monitor' logs only, 'passthrough' replaces response content with violation message (200 status). - * @default passthrough - */ - on_flagged_action: string | null; - /** - * Policy Id - * @description Gray Swan policy identifier to apply during monitoring. - */ - policy_id?: string | null; - /** - * Reasoning Mode - * @description Gray Swan reasoning mode override. Accepted values: 'off', 'hybrid', 'thinking'. - */ - reasoning_mode?: string | null; - /** - * Violation Threshold - * @description Threshold between 0 and 1 at which Gray Swan violations trigger the configured action. - * @default 0.5 - */ - violation_threshold: number | null; - }; /** Guardrail */ Guardrail: { /** Created At */ @@ -26041,7 +26823,7 @@ export interface components { } | null; /** Guardrail Name */ guardrail_name: string; - litellm_params?: components["schemas"]["BaseLitellmParams-Output"] | null; + litellm_params?: components["schemas"]["BaseLitellmParams"] | null; /** Updated At */ updated_at?: string | null; }; @@ -26241,6 +27023,17 @@ export interface components { index_name: string; litellm_params: components["schemas"]["IndexCreateLiteLLMParams"]; }; + /** IndexListResponse */ + IndexListResponse: { + /** Data */ + data: components["schemas"]["LiteLLM_ManagedVectorStoreIndex"][]; + /** + * Object + * @default list + * @constant + */ + object: "list"; + }; /** InputAudio */ InputAudio: { /** Data */ @@ -27028,8 +27821,10 @@ export interface components { approval_status: string | null; /** Args */ args?: string[]; + /** Audience */ + audience?: string | null; /** Auth Type */ - auth_type?: ("none" | "api_key" | "bearer_token" | "basic" | "authorization" | "oauth2" | "aws_sigv4" | "token") | null; + auth_type?: ("none" | "api_key" | "bearer_token" | "basic" | "authorization" | "oauth2" | "aws_sigv4" | "token" | "oauth2_token_exchange" | "oauth2_id_jag" | "true_passthrough" | "oauth_delegate") | null; /** Authorization Url */ authorization_url?: string | null; /** @@ -27043,17 +27838,28 @@ export interface components { byok_description?: string[]; /** Command */ command?: string | null; + /** Connected App Reachable */ + connected_app_reachable?: boolean | null; /** Created At */ created_at?: string | null; /** Created By */ created_by?: string | null; credentials?: components["schemas"]["MCPCredentials"] | null; + /** Dcr Bridge */ + dcr_bridge?: boolean | null; + /** + * Delegate Auth To Upstream + * @default false + */ + delegate_auth_to_upstream: boolean; /** Description */ description?: string | null; /** Env */ env?: { [key: string]: string; }; + /** Env Vars */ + env_vars?: components["schemas"]["MCPEnvVar"][] | null; /** Extra Headers */ extra_headers?: string[]; /** Has User Credential */ @@ -27067,14 +27873,25 @@ export interface components { * @default false */ is_byok: boolean; + /** Issuer */ + issuer?: string | null; /** Last Health Check */ last_health_check?: string | null; + /** Max Concurrent Requests */ + max_concurrent_requests?: number | null; /** Mcp Access Groups */ mcp_access_groups?: string[]; /** Mcp Info */ mcp_info?: { [key: string]: unknown; } | null; + /** Oauth2 Flow */ + oauth2_flow?: ("client_credentials" | "authorization_code") | null; + /** + * Oauth Passthrough + * @default false + */ + oauth_passthrough: boolean; /** Registration Url */ registration_url?: string | null; /** Review Notes */ @@ -27099,6 +27916,8 @@ export interface components { * @default unknown */ status: ("healthy" | "unhealthy" | "unknown") | null; + /** Subject Token Type */ + subject_token_type?: string | null; /** Submitted At */ submitted_at?: string | null; /** Submitted By */ @@ -27107,6 +27926,12 @@ export interface components { teams?: { [key: string]: string | null; }[]; + /** Timeout */ + timeout?: number | null; + /** Token Exchange Endpoint */ + token_exchange_endpoint?: string | null; + /** Token Exchange Profile */ + token_exchange_profile?: string | null; /** Token Url */ token_url?: string | null; /** Tool Name To Description */ @@ -27161,6 +27986,29 @@ export interface components { /** Vector Store Name */ vector_store_name?: string | null; }; + /** + * LiteLLM_ManagedVectorStoreIndex + * @description LiteLLM managed vector store index object - this is is the object stored in the database + */ + LiteLLM_ManagedVectorStoreIndex: { + /** Created At */ + created_at?: string | null; + /** Created By */ + created_by?: string | null; + /** Id */ + id: string; + /** Index Info */ + index_info?: { + [key: string]: unknown; + } | null; + /** Index Name */ + index_name: string; + litellm_params: components["schemas"]["IndexCreateLiteLLMParams"]; + /** Updated At */ + updated_at?: string | null; + /** Updated By */ + updated_by?: string | null; + }; /** * LiteLLM_ManagedVectorStoreListResponse * @description Response format for listing vector stores @@ -27183,31 +28031,31 @@ export interface components { /** LiteLLM_ManagedVectorStoresTable */ LiteLLM_ManagedVectorStoresTable: { /** Created At */ - created_at: string | null; + created_at?: string | null; /** Custom Llm Provider */ custom_llm_provider: string; /** Litellm Credential Name */ - litellm_credential_name: string | null; + litellm_credential_name?: string | null; /** Litellm Params */ - litellm_params: { + litellm_params?: { [key: string]: unknown; } | null; /** Team Id */ - team_id: string | null; + team_id?: string | null; /** Updated At */ - updated_at: string | null; + updated_at?: string | null; /** User Id */ - user_id: string | null; + user_id?: string | null; /** Vector Store Description */ - vector_store_description: string | null; + vector_store_description?: string | null; /** Vector Store Id */ vector_store_id: string; /** Vector Store Metadata */ - vector_store_metadata: { + vector_store_metadata?: { [key: string]: unknown; } | null; /** Vector Store Name */ - vector_store_name: string | null; + vector_store_name?: string | null; }; /** LiteLLM_MemoryRow */ LiteLLM_MemoryRow: { @@ -28502,7 +29350,7 @@ export interface components { anonymize_input?: boolean | null; /** * Api Base - * @description Base URL for the Lakera AI API + * @description Regional base URL for the Cisco AI Defense Inspection API. Defaults to https://us.api.inspect.aidefense.security.cisco.com. Supported regions: us (us-west-2), ap (ap-ne-1), eu (eu-central-1). The environment variable `CISCO_AI_DEFENSE_API_BASE` is consulted as a fallback. The endpoint path is derived from inspection_type (/api/v1/inspect/chat for 'chat', /api/v1/inspect/mcp for 'mcp'). */ api_base?: string | null; /** @@ -28517,7 +29365,7 @@ export interface components { api_id?: string | null; /** * Api Key - * @description API key for the Lakera AI service + * @description API key for the Cisco AI Defense inspection endpoint. If not provided, the `CISCO_AI_DEFENSE_API_KEY` environment variable is used. Sent in the `X-Cisco-AI-Defense-API-Key` header. Both the chat and MCP endpoints use this key. */ api_key?: string | null; /** @@ -28541,6 +29389,11 @@ export interface components { * @description Custom assertions to validate against the output. Each assertion is a string describing a condition. */ assertions?: string[] | null; + /** + * Asset Id + * @description Repello asset ID whose dashboard policies are enforced. Required; the guardrail raises at init if it is missing. + */ + asset_id?: string | null; /** * Async Mode * @description Set to True to request asynchronous analysis (sets `plr_async` header). Defaults to provider behaviour when omitted. @@ -28650,6 +29503,14 @@ export interface components { categories?: components["schemas"]["ContentFilterCategoryConfig"][] | null; /** @description Threshold configuration for Lakera guardrail categories */ category_thresholds?: components["schemas"]["LakeraCategoryThresholds"] | null; + /** @description Inline safeguards for the resource-less InvokeGuardrailChecks API (contentFilter / promptAttack / sensitiveInformation). When set, the guardrail calls InvokeGuardrailChecks instead of ApplyGuardrail and no guardrailIdentifier is required. Mutually exclusive with guardrailIdentifier. */ + checks?: components["schemas"]["BedrockChecksConfigModel"] | null; + /** + * Chunk Budget Chars + * @description ApplyGuardrail: batch size, in characters, used to re-send content after AWS has rejected a request as too large. Requests AWS accepts are always sent in a single call, so this has no effect until a rejection happens. Defaults to 25,000; a batch AWS still rejects is bisected automatically, so this value only trades round trips against batch size and cannot fail a request on its own. + * @default 25000 + */ + chunk_budget_chars: number; /** * Confidence Threshold * @description Only block or mask when detection confidence >= this value; below threshold, allow or log_only. @@ -28663,6 +29524,12 @@ export interface components { config?: { [key: string]: unknown; } | null; + /** + * Content Filter Threshold + * @description InvokeGuardrailChecks: block when any contentFilter severityScore >= this value (scores are in [0,1]). Set to null to make the content filter detect-only (logged, never blocks). + * @default 0.5 + */ + content_filter_threshold: number | null; /** * Content Moderation Check * @description Enable content moderation to check for harmful content (harassment, hate speech, etc.). @@ -28678,6 +29545,11 @@ export interface components { * @description Python-like code containing the apply_guardrail function for custom guardrail logic */ custom_code?: string | null; + /** + * Deepkeep Firewall Id + * @description The DeepKeep Firewall ID to use for guardrail evaluation. If not provided, the `DEEPKEEP_FIREWALL_ID` environment variable is checked. + */ + deepkeep_firewall_id?: string | null; /** * Default Action * @description Fallback decision when no rule matches @@ -28755,7 +29627,7 @@ export interface components { extra_headers?: string[] | null; /** * Fail On Error - * @description Whether to fail the request if Model Armor encounters an error + * @description Whether to fail the request if the guardrail encounters an error. Implemented by guardrail='model_armor' and 'generic_guardrail_api'. True (default) raises the error. False logs a critical error and lets the request proceed, so only a valid guardrail response can block or modify it. * @default true */ fail_on_error: boolean | null; @@ -28874,7 +29746,7 @@ export interface components { mode: string | string[] | components["schemas"]["Mode"]; /** * Model - * @description Optional field if guardrail requires a 'model' parameter + * @description Model name forwarded to the headroom /v1/compress endpoint. */ model?: string | null; /** @@ -28901,13 +29773,24 @@ export interface components { * @default monitor */ on_flagged_action: string | null; + /** + * On Sensitive Data + * @description Action to take when sensitive data is detected. 'block' raises an exception (default behavior). 'route' reroutes the request to the model specified in sensitive_data_route_to_model. + */ + on_sensitive_data?: ("block" | "route") | null; /** * On Violation * @description For /v1/realtime sessions: 'warn' speaks the violation message and continues; 'end_session' speaks the message and closes the connection. */ on_violation?: ("warn" | "end_session") | null; + /** + * Only Scan New Messages + * @description When True, the guardrail only scans messages that have not already been scanned earlier in the same session (identified by litellm_session_id / session_id). Message content is hashed per session and cached; only the diff (new or edited messages) is sent to the guardrail provider on follow-up calls. Falls back to a full scan when the request has no session id or the cache is unavailable. Intended for blocking/detection guardrails; not applied when mask_request_content is set. + * @default false + */ + only_scan_new_messages: boolean | null; /** @description Optional parameters for the guardrail */ - optional_params?: components["schemas"]["GraySwanGuardrailConfigModelOptionalParams"] | null; + optional_params?: components["schemas"]["CiscoAIDefenseGuardrailConfigModelOptionalParams"] | null; /** * Output Parse Pii * @description When True, LiteLLM will replace the masked text with the original text in the response @@ -28949,6 +29832,12 @@ export interface components { * @description Enable PII (Personally Identifiable Information) detection. */ pii_check?: boolean | null; + /** + * Pii Confidence Threshold + * @description InvokeGuardrailChecks: block when any sensitiveInformation confidenceScore >= this value (scores are in [0,1]). Set to null to make PII detection detect-only. + * @default 0.5 + */ + pii_confidence_threshold: number | null; /** * Pii Entities Config * @description Configuration for PII entity types and actions @@ -28971,6 +29860,16 @@ export interface components { * @description XecGuard policies to apply on each scan. Select one or more of the built-in default policies; if none are selected, the guardrail defaults to System Prompt Enforcement + Harmful Content Protection. */ policy_names?: string[] | null; + /** + * Post Checkpoint Id + * @description Post-checkpoint ID for the Ovalix Tracker service. + */ + post_checkpoint_id?: string | null; + /** + * Pre Checkpoint Id + * @description Pre-checkpoint ID for the Ovalix Tracker service. + */ + pre_checkpoint_id?: string | null; /** * Presidio Ad Hoc Recognizers * @description Path to a JSON file containing ad-hoc recognizers for Presidio @@ -29019,6 +29918,12 @@ export interface components { * @description Project ID for the Lakera AI project */ project_id?: string | null; + /** + * Prompt Attack Threshold + * @description InvokeGuardrailChecks: block when any promptAttack severityScore >= this value (scores are in [0,1]). Set to null to make prompt-attack detection detect-only. + * @default 0.5 + */ + prompt_attack_threshold: number | null; /** * Prompt Injections * @description Enable prompt injection detection. Default check if no evaluation_id and no other checks are specified. @@ -29034,6 +29939,22 @@ export interface components { * @description Ordered allow/deny rules. Patterns use regex for tool names/types and optional regex constraints on tool arguments. */ rules?: components["schemas"]["ToolPermissionRule"][] | null; + /** + * Run In Parallel + * @description When True, this pre_call or post_call guardrail runs concurrently with other opted-in guardrails of the same hook, after the sequential guardrails have run. Use only for block-only guardrails that inspect and reject; do not enable it for guardrails that modify the request or response (e.g. PII masking or sensitive-data routing), since parallel runs share one snapshot and their mutations would race. + */ + run_in_parallel?: boolean | null; + /** + * Sanitize Error Detail + * @description For guardrail='model_armor': omit the raw Model Armor response from caller-facing errors and logs by default. Set False to restore verbose output. + * @default true + */ + sanitize_error_detail: boolean | null; + /** + * Scan Only Tool Results + * @description When True, unified guardrails only evaluate tool results, the untrusted data an agent feeds back into the model, and skip system, user, and assistant content. Intended for agent harnesses whose own prompt scaffolding is trusted but often trips prompt-attack detectors. + */ + scan_only_tool_results?: boolean | null; /** * Send User Api Key Alias * @description Whether to send user_API_key_alias in headers @@ -29052,29 +29973,86 @@ export interface components { * @default false */ send_user_api_key_user_id: boolean | null; + /** + * Sensitive Data Route To Model + * @description Model to route requests to when sensitive data is detected and on_sensitive_data='route'. This is typically an on-premise model for data privacy. The routing decision persists for the entire session. + */ + sensitive_data_route_to_model?: string | null; /** * Severity Threshold * @description Minimum severity to block (high, medium, low) */ severity_threshold?: string | null; + /** + * Singulr Api Base + * @description The Singulr API base URL. Get base URL from Singulr Platform. + */ + singulr_api_base?: string | null; + /** + * Singulr Api Key + * @description The Singulr API key. Generate API key from Singulr Platform. + */ + singulr_api_key?: string | null; + /** + * Singulr Application Id + * @description The Singulr application ID. Get application ID from Singulr Platform. + */ + singulr_application_id?: string | null; + /** + * Singulr Guardrail Id + * @description The Singulr Guardrail ID. Get guardrail ID from Singulr Platform. + */ + singulr_guardrail_id?: string | null; /** * Skip System Message In Guardrail - * @description When True, unified guardrails skip system-role messages when building evaluation inputs (texts and structured_messages). When False, system messages are included even if litellm_settings sets a global skip. When None, use the global litellm.skip_system_message_in_guardrail setting. + * @description When True, unified guardrails skip system-role messages when building evaluation inputs (texts and structured_messages). When False, system messages are included even if litellm_settings sets a global skip. When None, use the global litellm.skip_system_message_in_guardrail setting. For Anthropic /v1/messages, the flag applies only to the trusted top-level system prompt. In-sequence system entries are untrusted client input and remain in texts and structured_messages. */ skip_system_message_in_guardrail?: boolean | null; + /** + * Skip Tool Message In Guardrail + * @description When True, unified guardrails skip tool-role messages when building evaluation inputs (texts and structured_messages). When False, tool messages are included even if litellm_settings sets a global skip. When None, use the global litellm.skip_tool_message_in_guardrail setting. + */ + skip_tool_message_in_guardrail?: boolean | null; + /** + * Skip Unscannable Attachments + * @description Implemented by guardrail='model_armor'. When True, attachment references that carry no inline bytes (file_id, gs://, or http(s) URLs) pass through unscanned instead of blocking, while fail_on_error still governs real Model Armor API errors. Default False blocks them. + * @default false + */ + skip_unscannable_attachments: boolean | null; + /** + * Sticky Session Routing + * @description When True (default), after sensitive data is detected and routed, all subsequent requests in the same session will continue routing to the same model. + * @default true + */ + sticky_session_routing: boolean | null; /** * Template Id * @description The ID of your Model Armor template */ template_id?: string | null; + /** + * Timeout + * @description Per-request timeout for the guardrail provider API call (seconds). Accepts int, float, or numeric string; coerced to float on load. Each guardrail handler chooses its own default when unset. + */ + timeout?: number | null; /** * Tool Selection Quality Check * @description Enable tool selection quality check to evaluate quality of tool/function calls. */ tool_selection_quality_check?: boolean | null; + /** + * Tracker Api Base + * @description Base URL for the Ovalix Tracker service. + */ + tracker_api_base?: string | null; + /** + * Tracker Api Key + * @description API key for the Ovalix Tracker service. + */ + tracker_api_key?: string | null; /** * Unreachable Fallback - * @description What to do when Akto is unreachable. 'fail_open' = allow, 'fail_closed' = block. + * @description Behavior when the headroom compression service is unreachable or errors. 'fail_closed' raises an error (default). 'fail_open' logs a critical error and forwards the request uncompressed instead of blocking it. * @default fail_closed * @enum {string} */ @@ -29145,6 +30123,8 @@ export interface components { }; /** MCPCredentials */ MCPCredentials: { + /** Audience */ + audience?: string | null; /** Auth Value */ auth_value?: string | null; /** Aws Access Key Id */ @@ -29161,13 +30141,68 @@ export interface components { aws_session_name?: string | null; /** Aws Session Token */ aws_session_token?: string | null; + /** Client Assertion Signing Alg */ + client_assertion_signing_alg?: string | null; /** Client Id */ client_id?: string | null; + /** Client Private Key */ + client_private_key?: string | null; + /** Client Private Key Id */ + client_private_key_id?: string | null; /** Client Secret */ client_secret?: string | null; + /** Id Jag Resource */ + id_jag_resource?: string | null; + /** Id Jag Resource Token Endpoint */ + id_jag_resource_token_endpoint?: string | null; + /** Redirect Uris */ + redirect_uris?: string[] | null; /** Scopes */ scopes?: string[] | null; + /** Subject Token Type */ + subject_token_type?: string | null; + /** Token Endpoint Auth Method */ + token_endpoint_auth_method?: ("client_secret_basic" | "client_secret_post") | null; + /** Token Exchange Endpoint */ + token_exchange_endpoint?: string | null; + /** Token Exchange Profile */ + token_exchange_profile?: string | null; + /** Upstream Resource */ + upstream_resource?: string | null; }; + /** + * MCPEnvVar + * @description One environment variable for an MCP server. + * + * Variables can be interpolated into ``static_headers`` using ``${NAME}`` + * syntax. ``scope=global`` values are stored on the server. ``scope=user`` + * values are stored per-user in ``LiteLLM_MCPUserEnvVars`` and supplied by + * each user. + */ + MCPEnvVar: { + /** Description */ + description?: string | null; + /** Name */ + name: string; + /** @default global */ + scope: components["schemas"]["MCPEnvVarScope"]; + /** + * Value + * @default + */ + value: string; + }; + /** + * MCPEnvVarScope + * @description Scope for an MCP server environment variable. + * + * - ``global``: value is provided by the admin and used for all users. + * - ``user``: each user must provide their own value via the per-user + * env-var endpoint. The admin-supplied ``value`` is treated as a + * placeholder/hint and is not used at request time. + * @enum {string} + */ + MCPEnvVarScope: "global" | "user"; /** * MCPOAuthUserCredentialRequest * @description Stores a user's OAuth2 token for an OpenAPI MCP server. @@ -29329,6 +30364,55 @@ export interface components { /** Server Id */ server_id: string; }; + /** + * MCPUserEnvVarSpec + * @description Describes one per-user env var slot for the calling user. + * + * Stored values are write-only: the status only reports whether a value + * ``is_set`` and never echoes the decrypted secret back to the client. + */ + MCPUserEnvVarSpec: { + /** Description */ + description?: string | null; + /** + * Is Set + * @default false + */ + is_set: boolean; + /** Name */ + name: string; + }; + /** + * MCPUserEnvVarsRequest + * @description Payload for storing the calling user's per-user env var values. + */ + MCPUserEnvVarsRequest: { + /** Values */ + values: { + [key: string]: string; + }; + }; + /** + * MCPUserEnvVarsStatus + * @description Per-user env var status for a single MCP server. + */ + MCPUserEnvVarsStatus: { + /** Alias */ + alias?: string | null; + /** + * Missing Count + * @default 0 + */ + missing_count: number; + /** Required */ + required?: components["schemas"]["MCPUserEnvVarSpec"][]; + /** Server Id */ + server_id: string; + /** Server Name */ + server_name?: string | null; + /** Setup Url */ + setup_url?: string | null; + }; /** MakeAgentsPublicRequest */ MakeAgentsPublicRequest: { /** Agent Ids */ @@ -29741,8 +30825,10 @@ export interface components { approval_status?: string | null; /** Args */ args?: string[]; + /** Audience */ + audience?: string | null; /** Auth Type */ - auth_type?: ("none" | "api_key" | "bearer_token" | "basic" | "authorization" | "oauth2" | "aws_sigv4" | "token") | null; + auth_type?: ("none" | "api_key" | "bearer_token" | "basic" | "authorization" | "oauth2" | "aws_sigv4" | "token" | "oauth2_token_exchange" | "oauth2_id_jag" | "true_passthrough" | "oauth_delegate") | null; /** Authorization Url */ authorization_url?: string | null; /** @@ -29757,12 +30843,21 @@ export interface components { /** Command */ command?: string | null; credentials?: components["schemas"]["MCPCredentials"] | null; + /** Dcr Bridge */ + dcr_bridge?: boolean | null; + /** + * Delegate Auth To Upstream + * @default false + */ + delegate_auth_to_upstream: boolean; /** Description */ description?: string | null; /** Env */ env?: { [key: string]: string; }; + /** Env Vars */ + env_vars?: components["schemas"]["MCPEnvVar"][] | null; /** Extra Headers */ extra_headers?: string[] | null; /** Instructions */ @@ -29772,6 +30867,10 @@ export interface components { * @default false */ is_byok: boolean; + /** Issuer */ + issuer?: string | null; + /** Max Concurrent Requests */ + max_concurrent_requests?: number | null; /** Mcp Access Groups */ mcp_access_groups?: string[]; /** Mcp Info */ @@ -29780,6 +30879,11 @@ export interface components { } | null; /** Oauth2 Flow */ oauth2_flow?: ("client_credentials" | "authorization_code") | null; + /** + * Oauth Passthrough + * @default false + */ + oauth_passthrough: boolean; /** Registration Url */ registration_url?: string | null; /** Server Id */ @@ -29794,6 +30898,8 @@ export interface components { static_headers?: { [key: string]: string; } | null; + /** Subject Token Type */ + subject_token_type?: string | null; /** * Submitted At * @description Server-managed: set by the endpoint; caller values are overridden. @@ -29804,6 +30910,12 @@ export interface components { * @description Server-managed: set by the endpoint; caller values are overridden. */ submitted_by?: string | null; + /** Timeout */ + timeout?: number | null; + /** Token Exchange Endpoint */ + token_exchange_endpoint?: string | null; + /** Token Exchange Profile */ + token_exchange_profile?: string | null; /** Token Url */ token_url?: string | null; /** Tool Name To Description */ @@ -30847,7 +31959,7 @@ export interface components { } | null; /** Guardrail Name */ guardrail_name?: string | null; - litellm_params?: components["schemas"]["BaseLitellmParams-Input"] | null; + litellm_params?: components["schemas"]["BaseLitellmParams"] | null; }; /** PatchPromptRequest */ PatchPromptRequest: { @@ -31029,7 +32141,7 @@ export interface components { * PiiEntityType * @enum {string} */ - PiiEntityType: "CREDIT_CARD" | "CRYPTO" | "DATE_TIME" | "EMAIL_ADDRESS" | "IBAN_CODE" | "IP_ADDRESS" | "NRP" | "LOCATION" | "PERSON" | "PHONE_NUMBER" | "MEDICAL_LICENSE" | "URL" | "US_BANK_NUMBER" | "US_DRIVER_LICENSE" | "US_ITIN" | "US_PASSPORT" | "US_SSN" | "UK_NHS" | "UK_NINO" | "ES_NIF" | "ES_NIE" | "IT_FISCAL_CODE" | "IT_DRIVER_LICENSE" | "IT_VAT_CODE" | "IT_PASSPORT" | "IT_IDENTITY_CARD" | "PL_PESEL" | "SG_NRIC_FIN" | "SG_UEN" | "AU_ABN" | "AU_ACN" | "AU_TFN" | "AU_MEDICARE" | "IN_PAN" | "IN_AADHAAR" | "IN_VEHICLE_REGISTRATION" | "IN_VOTER" | "IN_PASSPORT" | "FI_PERSONAL_IDENTITY_CODE"; + PiiEntityType: "CREDIT_CARD" | "CRYPTO" | "DATE_TIME" | "EMAIL_ADDRESS" | "IBAN_CODE" | "IP_ADDRESS" | "NRP" | "LOCATION" | "PERSON" | "PHONE_NUMBER" | "MEDICAL_LICENSE" | "URL" | "US_BANK_NUMBER" | "US_DRIVER_LICENSE" | "US_ITIN" | "US_PASSPORT" | "US_SSN" | "UK_NHS" | "UK_NINO" | "UK_PASSPORT" | "UK_POSTCODE" | "UK_VEHICLE_REGISTRATION" | "ES_NIF" | "ES_NIE" | "IT_FISCAL_CODE" | "IT_DRIVER_LICENSE" | "IT_VAT_CODE" | "IT_PASSPORT" | "IT_IDENTITY_CARD" | "PL_PESEL" | "SG_NRIC_FIN" | "SG_UEN" | "AU_ABN" | "AU_ACN" | "AU_TFN" | "AU_MEDICARE" | "IN_PAN" | "IN_AADHAAR" | "IN_VEHICLE_REGISTRATION" | "IN_VOTER" | "IN_PASSPORT" | "FI_PERSONAL_IDENTITY_CODE"; /** * PipelineTestRequest * @description Request body for testing a guardrail pipeline with sample messages. @@ -32190,6 +33302,21 @@ export interface components { /** Value */ value: string; }; + /** + * RealtimeTranscriptionSessionResponse + * @description Response from POST /v1/realtime/transcription_sessions. + * + * `client_secret.value` contains the encrypted token instead of the raw + * ephemeral key. Unknown fields pass through unchanged. + */ + RealtimeTranscriptionSessionResponse: { + /** Client Secret */ + client_secret?: { + [key: string]: unknown; + } | null; + } & { + [key: string]: unknown; + }; /** RegenerateKeyRequest */ RegenerateKeyRequest: { /** Access Group Ids */ @@ -32955,6 +34082,20 @@ export interface components { /** Run Id */ run_id: string; }; + /** SCIMEnterpriseUser */ + SCIMEnterpriseUser: { + /** Costcenter */ + costCenter?: string | null; + /** Department */ + department?: string | null; + /** Division */ + division?: string | null; + /** Employeenumber */ + employeeNumber?: string | null; + manager?: components["schemas"]["SCIMUserManager"] | null; + /** Organization */ + organization?: string | null; + }; /** SCIMFeature */ SCIMFeature: { /** Maxoperations */ @@ -32986,7 +34127,7 @@ export interface components { /** SCIMListResponse */ SCIMListResponse: { /** Resources */ - Resources: components["schemas"]["SCIMUser"][] | components["schemas"]["SCIMGroup"][]; + Resources: components["schemas"]["SCIMUser-Output"][] | components["schemas"]["SCIMGroup"][]; /** * Itemsperpage * @default 10 @@ -33011,6 +34152,19 @@ export interface components { SCIMMember: { /** Display */ display?: string | null; + /** Type */ + type?: string | null; + /** Value */ + value: string; + }; + /** SCIMMultiValuedAttribute */ + SCIMMultiValuedAttribute: { + /** Display */ + display?: string | null; + /** Primary */ + primary?: boolean | null; + /** Type */ + type?: string | null; /** Value */ value: string; }; @@ -33090,7 +34244,7 @@ export interface components { sort: components["schemas"]["SCIMFeature"]; }; /** SCIMUser */ - SCIMUser: { + "SCIMUser-Input": { /** * Active * @default true @@ -33100,6 +34254,8 @@ export interface components { displayName?: string | null; /** Emails */ emails?: components["schemas"]["SCIMUserEmail"][] | null; + /** Entitlements */ + entitlements?: components["schemas"]["SCIMMultiValuedAttribute"][] | null; /** Externalid */ externalId?: string | null; /** Groups */ @@ -33111,11 +34267,17 @@ export interface components { [key: string]: unknown; } | null; name?: components["schemas"]["SCIMUserName"] | null; + /** Roles */ + roles?: components["schemas"]["SCIMMultiValuedAttribute"][] | null; /** Schemas */ schemas: string[]; + "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User"?: components["schemas"]["SCIMEnterpriseUser"] | null; /** Username */ userName?: string | null; }; + "SCIMUser-Output": { + [key: string]: unknown; + }; /** SCIMUserEmail */ SCIMUserEmail: { /** Primary */ @@ -33140,6 +34302,15 @@ export interface components { /** Value */ value: string; }; + /** SCIMUserManager */ + SCIMUserManager: { + /** $Ref */ + $ref?: string | null; + /** Displayname */ + displayName?: string | null; + /** Value */ + value?: string | null; + }; /** SCIMUserName */ SCIMUserName: { /** Familyname */ @@ -35097,8 +36268,10 @@ export interface components { allowed_tools?: string[] | null; /** Args */ args?: string[]; + /** Audience */ + audience?: string | null; /** Auth Type */ - auth_type?: ("none" | "api_key" | "bearer_token" | "basic" | "authorization" | "oauth2" | "aws_sigv4" | "token") | null; + auth_type?: ("none" | "api_key" | "bearer_token" | "basic" | "authorization" | "oauth2" | "aws_sigv4" | "token" | "oauth2_token_exchange" | "oauth2_id_jag" | "true_passthrough" | "oauth_delegate") | null; /** Authorization Url */ authorization_url?: string | null; /** @@ -35113,12 +36286,21 @@ export interface components { /** Command */ command?: string | null; credentials?: components["schemas"]["MCPCredentials"] | null; + /** Dcr Bridge */ + dcr_bridge?: boolean | null; + /** + * Delegate Auth To Upstream + * @default false + */ + delegate_auth_to_upstream: boolean; /** Description */ description?: string | null; /** Env */ env?: { [key: string]: string; }; + /** Env Vars */ + env_vars?: components["schemas"]["MCPEnvVar"][] | null; /** Extra Headers */ extra_headers?: string[] | null; /** Instructions */ @@ -35128,12 +36310,23 @@ export interface components { * @default false */ is_byok: boolean; + /** Issuer */ + issuer?: string | null; + /** Max Concurrent Requests */ + max_concurrent_requests?: number | null; /** Mcp Access Groups */ mcp_access_groups?: string[]; /** Mcp Info */ mcp_info?: { [key: string]: unknown; } | null; + /** Oauth2 Flow */ + oauth2_flow?: ("client_credentials" | "authorization_code") | null; + /** + * Oauth Passthrough + * @default false + */ + oauth_passthrough: boolean; /** Registration Url */ registration_url?: string | null; /** Server Id */ @@ -35148,6 +36341,14 @@ export interface components { static_headers?: { [key: string]: string; } | null; + /** Subject Token Type */ + subject_token_type?: string | null; + /** Timeout */ + timeout?: number | null; + /** Token Exchange Endpoint */ + token_exchange_endpoint?: string | null; + /** Token Exchange Profile */ + token_exchange_profile?: string | null; /** Token Url */ token_url?: string | null; /** Tool Name To Description */ @@ -37047,6 +38248,46 @@ export interface operations { }; }; }; + jwks_json__well_known_jwks_json_get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + }; + }; + native_client_auth_discovery__well_known_litellm_cli_auth_get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + }; + }; get_ui_config__well_known_litellm_ui_config_get: { parameters: { query?: never; @@ -37067,6 +38308,283 @@ export interface operations { }; }; }; + oauth_authorization_server_mcp__well_known_oauth_authorization_server_get: { + parameters: { + query?: { + mcp_server_name?: string | null; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + oauth_authorization_server_aggregate__well_known_oauth_authorization_server_mcp_get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + }; + }; + oauth_authorization_server_mcp_standard__well_known_oauth_authorization_server_mcp__mcp_server_name__get: { + parameters: { + query?: never; + header?: never; + path: { + mcp_server_name: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + oauth_authorization_server_mcp__well_known_oauth_authorization_server__mcp_server_name__get: { + parameters: { + query?: never; + header?: never; + path: { + mcp_server_name: string | null; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + oauth_authorization_server_legacy__well_known_oauth_authorization_server__mcp_server_name__mcp_get: { + parameters: { + query?: never; + header?: never; + path: { + mcp_server_name: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + oauth_protected_resource_mcp__well_known_oauth_protected_resource_get: { + parameters: { + query?: { + mcp_server_name?: string | null; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + oauth_protected_resource_aggregate__well_known_oauth_protected_resource_mcp_get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + }; + }; + oauth_protected_resource_mcp_standard__well_known_oauth_protected_resource_mcp__mcp_server_name__get: { + parameters: { + query?: never; + header?: never; + path: { + mcp_server_name: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + oauth_protected_resource_mcp__well_known_oauth_protected_resource__mcp_server_name__mcp_get: { + parameters: { + query?: never; + header?: never; + path: { + mcp_server_name: string | null; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + openid_configuration__well_known_openid_configuration_get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + }; + }; invoke_agent_a2a_a2a__agent_id__post: { parameters: { query?: never; @@ -38113,6 +39631,78 @@ export interface operations { }; }; }; + authorize_authorize_get: { + parameters: { + query: { + redirect_uri: string; + client_id?: string | null; + state?: string; + mcp_server_name?: string | null; + code_challenge?: string | null; + code_challenge_method?: string | null; + response_type?: string | null; + scope?: string | null; + resource?: string | null; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + authorize_complete_authorize_complete_post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": components["schemas"]["Body_authorize_complete_authorize_complete_post"]; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; get_auto_router_benchmarks_auto_router_benchmarks_get: { parameters: { query?: { @@ -39324,6 +40914,41 @@ export interface operations { }; }; }; + callback_callback_get: { + parameters: { + query?: { + code?: string | null; + state?: string | null; + error?: string | null; + error_description?: string | null; + error_uri?: string | null; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; get_callback_configs_callbacks_configs_get: { parameters: { query?: never; @@ -40860,7 +42485,10 @@ export interface operations { update_hashicorp_vault_config_config_overrides_hashicorp_vault_post: { parameters: { query?: never; - header?: never; + header?: { + /** @description The litellm-changed-by header enables tracking of actions performed by authorized users on behalf of other users, providing an audit trail for accountability */ + "litellm-changed-by"?: string | null; + }; path?: never; cookie?: never; }; @@ -40893,7 +42521,10 @@ export interface operations { delete_hashicorp_vault_config_config_overrides_hashicorp_vault_delete: { parameters: { query?: never; - header?: never; + header?: { + /** @description The litellm-changed-by header enables tracking of actions performed by authorized users on behalf of other users, providing an audit trail for accountability */ + "litellm-changed-by"?: string | null; + }; path?: never; cookie?: never; }; @@ -40908,6 +42539,15 @@ export interface operations { "application/json": unknown; }; }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; }; }; test_hashicorp_vault_connection_config_overrides_hashicorp_vault_test_connection_post: { @@ -47133,6 +48773,12 @@ export interface operations { query?: { /** @description The server id to list tools for */ server_id?: string | null; + /** @description Filter tools to a single MCP server by name or alias */ + mcp_server_name?: string | null; + /** @description Filter tools to a single toolset by name */ + toolset_name?: string | null; + /** @description Admin only. Return the full server tool catalog without the allowed_tools filter or per-key tool permissions, so the MCP settings UI can configure the allowlist. Ignored for non-admins. */ + include_disabled_tools?: boolean; }; header?: never; path?: never; @@ -48886,6 +50532,26 @@ export interface operations { }; }; }; + create_realtime_transcription_session_openai_v1_realtime_transcription_sessions_post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["RealtimeTranscriptionSessionResponse"]; + }; + }; + }; + }; responses_api_openai_v1_responses_post: { parameters: { query?: never; @@ -51701,6 +53367,57 @@ export interface operations { }; }; }; + create_realtime_transcription_session_realtime_transcription_sessions_post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["RealtimeTranscriptionSessionResponse"]; + }; + }; + }; + }; + register_client_register_post: { + parameters: { + query?: { + mcp_server_name?: string | null; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; reload_anthropic_beta_headers_reload_anthropic_beta_headers_post: { parameters: { query?: never; @@ -51943,6 +53660,39 @@ export interface operations { }; }; }; + revoke_endpoint_revoke_post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": components["schemas"]["Body_revoke_endpoint_revoke_post"]; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; get_robots_robots_txt_get: { parameters: { query?: never; @@ -52607,7 +54357,7 @@ export interface operations { }; requestBody: { content: { - "application/json": components["schemas"]["SCIMUser"]; + "application/json": components["schemas"]["SCIMUser-Input"]; }; }; responses: { @@ -52617,7 +54367,7 @@ export interface operations { [name: string]: unknown; }; content: { - "application/json": components["schemas"]["SCIMUser"]; + "application/json": components["schemas"]["SCIMUser-Output"]; }; }; /** @description Validation Error */ @@ -52650,7 +54400,7 @@ export interface operations { [name: string]: unknown; }; content: { - "application/json": components["schemas"]["SCIMUser"]; + "application/json": components["schemas"]["SCIMUser-Output"]; }; }; /** @description Validation Error */ @@ -52677,7 +54427,7 @@ export interface operations { }; requestBody: { content: { - "application/json": components["schemas"]["SCIMUser"]; + "application/json": components["schemas"]["SCIMUser-Input"]; }; }; responses: { @@ -52687,7 +54437,7 @@ export interface operations { [name: string]: unknown; }; content: { - "application/json": components["schemas"]["SCIMUser"]; + "application/json": components["schemas"]["SCIMUser-Output"]; }; }; /** @description Validation Error */ @@ -52755,7 +54505,7 @@ export interface operations { [name: string]: unknown; }; content: { - "application/json": components["schemas"]["SCIMUser"]; + "application/json": components["schemas"]["SCIMUser-Output"]; }; }; /** @description Validation Error */ @@ -55345,6 +57095,41 @@ export interface operations { }; }; }; + token_endpoint_token_post: { + parameters: { + query?: { + mcp_server_name?: string | null; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": components["schemas"]["Body_token_endpoint_token_post"]; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; toolset_mcp_route_toolset__toolset_name__mcp_get: { parameters: { query?: never; @@ -56458,6 +58243,39 @@ export interface operations { }; }; }; + discover_agent_card_v1_a2a_discover_post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["DiscoverAgentRequest"]; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["DiscoverAgentResponse"]; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; invoke_agent_a2a_v1_a2a__agent_id__message_send_post: { parameters: { query?: never; @@ -58482,6 +60300,26 @@ export interface operations { }; }; }; + index_list_v1_indexes_get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["IndexListResponse"]; + }; + }; + }; + }; index_create_v1_indexes_post: { parameters: { query?: never; @@ -58667,6 +60505,8 @@ export interface operations { query?: { /** @description Filter MCP servers by team scope. When provided, returns only servers the team has access to plus globally available (allow_all_keys) servers. Used by the Create Key UI to show team-scoped MCP servers. */ team_id?: string | null; + /** @description Annotate each returned server with connected_app_reachable: whether a connected app authorized by the calling user (a gateway OAuth session) is served this server on the aggregate MCP endpoint. */ + connected_app_view?: boolean; }; header?: never; path?: never; @@ -59181,6 +61021,103 @@ export interface operations { }; }; }; + get_mcp_user_env_vars_v1_mcp_server__server_id__user_env_vars_get: { + parameters: { + query?: never; + header?: never; + path: { + server_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["MCPUserEnvVarsStatus"]; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + store_mcp_user_env_vars_v1_mcp_server__server_id__user_env_vars_post: { + parameters: { + query?: never; + header?: never; + path: { + server_id: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["MCPUserEnvVarsRequest"]; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["MCPUserEnvVarsStatus"]; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + clear_mcp_user_env_vars_v1_mcp_server__server_id__user_env_vars_delete: { + parameters: { + query?: never; + header?: never; + path: { + server_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["MCPUserEnvVarsStatus"]; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; get_mcp_tools_v1_mcp_tools_get: { parameters: { query?: never; @@ -59375,6 +61312,26 @@ export interface operations { }; }; }; + list_mcp_user_env_var_status_v1_mcp_user_env_vars_status_get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["MCPUserEnvVarsStatus"][]; + }; + }; + }; + }; list_memory_v1_memory_get: { parameters: { query?: { @@ -59857,6 +61814,26 @@ export interface operations { }; }; }; + create_realtime_transcription_session_v1_realtime_transcription_sessions_post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["RealtimeTranscriptionSessionResponse"]; + }; + }; + }; + }; rerank_v1_rerank_post: { parameters: { query?: never; @@ -61767,6 +63744,139 @@ export interface operations { }; }; }; + list_gemini_agents_v1beta_agents_get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + }; + }; + create_gemini_agent_v1beta_agents_post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + }; + }; + get_gemini_agent_v1beta_agents__name__get: { + parameters: { + query?: never; + header?: never; + path: { + name: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + delete_gemini_agent_v1beta_agents__name__delete: { + parameters: { + query?: never; + header?: never; + path: { + name: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + list_gemini_agent_versions_v1beta_agents__name__versions_get: { + parameters: { + query?: never; + header?: never; + path: { + name: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; create_interaction_v1beta_interactions_post: { parameters: { query?: never; @@ -64023,6 +66133,46 @@ export interface operations { }; }; }; + authorize__mcp_server_name__authorize_get: { + parameters: { + query: { + redirect_uri: string; + client_id?: string | null; + state?: string; + code_challenge?: string | null; + code_challenge_method?: string | null; + response_type?: string | null; + scope?: string | null; + resource?: string | null; + }; + header?: never; + path: { + mcp_server_name: string | null; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; dynamic_mcp_route__mcp_server_name__mcp_get: { parameters: { query?: never; @@ -64240,6 +66390,72 @@ export interface operations { }; }; }; + register_client__mcp_server_name__register_post: { + parameters: { + query?: never; + header?: never; + path: { + mcp_server_name: string | null; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + token_endpoint__mcp_server_name__token_post: { + parameters: { + query?: never; + header?: never; + path: { + mcp_server_name: string | null; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": components["schemas"]["Body_token_endpoint__mcp_server_name__token_post"]; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; list_batches__provider__v1_batches_get: { parameters: { query?: { From 898ff746731ff8005dc088cdad6f34939bbeb5c4 Mon Sep 17 00:00:00 2001 From: mateo-berri <277851410+mateo-berri@users.noreply.github.com> Date: Wed, 26 Aug 2026 14:39:51 -0700 Subject: [PATCH 09/32] refactor(proxy): type the snapshot fragments and wrap a long test line --- litellm/proxy/_lazy_openapi_snapshot.py | 11 +++++++++-- .../test_litellm/proxy/test_lazy_openapi_snapshot.py | 5 ++++- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/litellm/proxy/_lazy_openapi_snapshot.py b/litellm/proxy/_lazy_openapi_snapshot.py index a895a0809b1..d5b49a473df 100644 --- a/litellm/proxy/_lazy_openapi_snapshot.py +++ b/litellm/proxy/_lazy_openapi_snapshot.py @@ -18,6 +18,8 @@ from dataclasses import dataclass from pathlib import Path from typing import TYPE_CHECKING, Final +from typing_extensions import ReadOnly, TypedDict + if TYPE_CHECKING: from fastapi import FastAPI @@ -90,9 +92,14 @@ def _normalize_operation_ids(paths: dict[str, dict]) -> None: break +class SnapshotFragment(TypedDict): + paths: ReadOnly[dict[str, dict[str, object]]] + components: ReadOnly[dict[str, dict[str, object]]] + + @dataclass(frozen=True, slots=True) class SnapshotResult: - fragments: dict[str, dict] + fragments: dict[str, SnapshotFragment] skipped: tuple[str, ...] @@ -115,7 +122,7 @@ def generate_snapshot() -> SnapshotResult: skipped: Final = tuple(name for feat in LAZY_FEATURES if (name := _register_feature(app, feat)) is not None) - fragments: Final[dict[str, dict]] = {} + fragments: Final[dict[str, SnapshotFragment]] = {} used_operation_ids: Final[set[str]] = set() for feat in LAZY_FEATURES: feat_routes = [r for r in app.routes if feat.matches(getattr(r, "path", ""))] diff --git a/tests/test_litellm/proxy/test_lazy_openapi_snapshot.py b/tests/test_litellm/proxy/test_lazy_openapi_snapshot.py index c513bd83b66..f9ef98bc474 100644 --- a/tests/test_litellm/proxy/test_lazy_openapi_snapshot.py +++ b/tests/test_litellm/proxy/test_lazy_openapi_snapshot.py @@ -200,7 +200,10 @@ def test_main_refuses_to_write_a_snapshot_missing_skipped_features(tmp_path, cap def test_main_writes_sorted_snapshot_when_every_feature_loads(tmp_path): snapshot_file = tmp_path / "snapshot.json" - fragments = {"zeta": {"paths": {"/z": {}}, "components": {"schemas": {}}}, "alpha": {"paths": {}, "components": {"schemas": {}}}} + fragments = { + "zeta": {"paths": {"/z": {}}, "components": {"schemas": {}}}, + "alpha": {"paths": {}, "components": {"schemas": {}}}, + } assert main(snapshot_file, generate=lambda: SnapshotResult(fragments=fragments, skipped=())) == 0 assert json.loads(snapshot_file.read_text()) == fragments From e9f3963869e968dea86e919e3c6dfb09b3e72271 Mon Sep 17 00:00:00 2001 From: mateo-berri <277851410+mateo-berri@users.noreply.github.com> Date: Wed, 26 Aug 2026 14:44:31 -0700 Subject: [PATCH 10/32] refactor(proxy): build snapshot fragments immutably to satisfy the type-discipline gate --- litellm/proxy/_lazy_openapi_snapshot.py | 71 ++++++++++++++----------- 1 file changed, 39 insertions(+), 32 deletions(-) diff --git a/litellm/proxy/_lazy_openapi_snapshot.py b/litellm/proxy/_lazy_openapi_snapshot.py index d5b49a473df..49d277cd3d1 100644 --- a/litellm/proxy/_lazy_openapi_snapshot.py +++ b/litellm/proxy/_lazy_openapi_snapshot.py @@ -13,7 +13,7 @@ the JSON, then run `npm run gen:api` in ui/litellm-dashboard and commit schema.d import json import re import sys -from collections.abc import Callable +from collections.abc import Callable, Mapping from dataclasses import dataclass from pathlib import Path from typing import TYPE_CHECKING, Final @@ -93,13 +93,13 @@ def _normalize_operation_ids(paths: dict[str, dict]) -> None: class SnapshotFragment(TypedDict): - paths: ReadOnly[dict[str, dict[str, object]]] - components: ReadOnly[dict[str, dict[str, object]]] + paths: ReadOnly[Mapping[str, Mapping[str, object]]] + components: ReadOnly[Mapping[str, Mapping[str, object]]] @dataclass(frozen=True, slots=True) class SnapshotResult: - fragments: dict[str, SnapshotFragment] + fragments: Mapping[str, SnapshotFragment] skipped: tuple[str, ...] @@ -114,40 +114,47 @@ def _register_feature(app: "FastAPI", feat: "LazyFeature") -> str | None: return None -def generate_snapshot() -> SnapshotResult: +def _feature_fragment(app: "FastAPI", feat: "LazyFeature", used_operation_ids: set[str]) -> SnapshotFragment | None: from fastapi.openapi.utils import get_openapi + from litellm.proxy.proxy_server import ensure_unique_openapi_operation_ids + + feat_routes: Final = [r for r in app.routes if feat.matches(getattr(r, "path", ""))] + if not feat_routes: + return None + _stabilize_multi_method_route_ids(feat_routes) + full: Final = get_openapi(title=app.title, version=app.version, routes=feat_routes) + paths: Final = full.get("paths", {}) + _normalize_operation_ids(paths) + # Group all of a feature's routes under one tag. + for path_ops in paths.values(): + for method, op in path_ops.items(): + if isinstance(op, dict): + operation_id = op.get("operationId") + if isinstance(operation_id, str): + for suffix in HTTP_METHOD_SUFFIXES: + if operation_id.endswith(f"_{suffix}"): + op["operationId"] = operation_id[: -len(suffix)] + method + break + op["tags"] = [feat.name] + unique: Final = ensure_unique_openapi_operation_ids(full, used_operation_ids) + return { + "paths": paths, + "components": {"schemas": unique.get("components", {}).get("schemas", {})}, + } + + +def generate_snapshot() -> SnapshotResult: from litellm.proxy._lazy_features import LAZY_FEATURES - from litellm.proxy.proxy_server import app, ensure_unique_openapi_operation_ids + from litellm.proxy.proxy_server import app skipped: Final = tuple(name for feat in LAZY_FEATURES if (name := _register_feature(app, feat)) is not None) - - fragments: Final[dict[str, SnapshotFragment]] = {} used_operation_ids: Final[set[str]] = set() - for feat in LAZY_FEATURES: - feat_routes = [r for r in app.routes if feat.matches(getattr(r, "path", ""))] - if not feat_routes: - continue - _stabilize_multi_method_route_ids(feat_routes) - full = get_openapi(title=app.title, version=app.version, routes=feat_routes) - paths = full.get("paths", {}) - _normalize_operation_ids(paths) - # Group all of a feature's routes under one tag. - for path_ops in full.get("paths", {}).values(): - for method, op in path_ops.items(): - if isinstance(op, dict): - operation_id = op.get("operationId") - if isinstance(operation_id, str): - for suffix in HTTP_METHOD_SUFFIXES: - if operation_id.endswith(f"_{suffix}"): - op["operationId"] = operation_id[: -len(suffix)] + method - break - op["tags"] = [feat.name] - full = ensure_unique_openapi_operation_ids(full, used_operation_ids) - fragments[feat.name] = { - "paths": paths, - "components": {"schemas": full.get("components", {}).get("schemas", {})}, - } + fragments: Final = { + feat.name: fragment + for feat in LAZY_FEATURES + if (fragment := _feature_fragment(app, feat, used_operation_ids)) is not None + } return SnapshotResult(fragments=fragments, skipped=skipped) From e8a683e7a853fcfd9a1cce43573ebc260b7c6c13 Mon Sep 17 00:00:00 2001 From: mateo-berri <277851410+mateo-berri@users.noreply.github.com> Date: Wed, 26 Aug 2026 17:48:43 -0700 Subject: [PATCH 11/32] test(cost): cover warm prefix cache spanning text and image tokens --- .../llm_cost_calc/test_llm_cost_calc_utils.py | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/tests/test_litellm/litellm_core_utils/llm_cost_calc/test_llm_cost_calc_utils.py b/tests/test_litellm/litellm_core_utils/llm_cost_calc/test_llm_cost_calc_utils.py index e32743a7e47..ee8527c487c 100644 --- a/tests/test_litellm/litellm_core_utils/llm_cost_calc/test_llm_cost_calc_utils.py +++ b/tests/test_litellm/litellm_core_utils/llm_cost_calc/test_llm_cost_calc_utils.py @@ -1586,6 +1586,42 @@ def test_generic_cost_per_token_overlapping_cached_and_image_tokens(): assert completion_cost == pytest.approx(10 * 2e-6) +def test_generic_cost_per_token_warm_prefix_cache_spanning_text_and_image_tokens(): + """xAI reports text_tokens + image_tokens = prompt_tokens with cached_tokens overlapping + both, so a warm prefix cache covering the whole image exceeds the text-only count. + Observed live on grok-4.6 (issue #37281): the image tokens were billed a second time at + the full input rate on top of the cache-read bucket, 0.003500 in vs the provider's own + 0.001274 bill.""" + model = "litellm-test-warm-prefix-cache-overlap" + litellm.register_model( + { + model: { + "litellm_provider": "openai", + "mode": "chat", + "input_cost_per_token": 2e-6, + "cache_read_input_token_cost": 5e-7, + "output_cost_per_token": 6e-6, + } + } + ) + usage = Usage( + prompt_tokens=2461, + completion_tokens=440, + total_tokens=2901, + prompt_tokens_details=PromptTokensDetailsWrapper( + text_tokens=1319, cached_tokens=2432, image_tokens=1142 + ), + ) + + prompt_cost, completion_cost = generic_cost_per_token( + model=model, usage=usage, custom_llm_provider="openai" + ) + + # 2432 cached at the cache-read rate, the 29 uncached tokens once at the input rate + assert prompt_cost == pytest.approx(2432 * 5e-7 + 29 * 2e-6) + assert completion_cost == pytest.approx(440 * 6e-6) + + def test_calculate_cost_component_with_string_values(): """Test the calculate_cost_component function directly with string cost values.""" from litellm.litellm_core_utils.llm_cost_calc.utils import calculate_cost_component From 26b7bc3583de451aaf4f3809dfc65d7a435f3ead Mon Sep 17 00:00:00 2001 From: mateo-berri <277851410+mateo-berri@users.noreply.github.com> Date: Wed, 26 Aug 2026 18:01:08 -0700 Subject: [PATCH 12/32] fix(prompts): propagate prompt deletes to every worker and pod --- litellm/proxy/prompts/prompt_endpoints.py | 14 +-- litellm/proxy/prompts/prompt_registry.py | 23 +++- litellm/proxy/proxy_server.py | 10 ++ .../prompts/test_prompt_endpoints_crud.py | 35 +++++- .../proxy/prompts/test_prompt_registry.py | 52 +++++++++ tests/test_litellm/proxy/test_proxy_server.py | 108 ++++++++++++++++++ 6 files changed, 221 insertions(+), 21 deletions(-) diff --git a/litellm/proxy/prompts/prompt_endpoints.py b/litellm/proxy/prompts/prompt_endpoints.py index 425ff7572d0..9cfd6959a66 100644 --- a/litellm/proxy/prompts/prompt_endpoints.py +++ b/litellm/proxy/prompts/prompt_endpoints.py @@ -1021,19 +1021,7 @@ async def delete_prompt( # Delete versions from the database (scoped to environment if provided) await _prompt_table(prisma_client).delete_many(where=delete_where) - # Remove matching prompts from memory — scope to environment if provided - if environment: - prompts_to_delete: Final = [ - pid - for pid, prompt in IN_MEMORY_PROMPT_REGISTRY.IN_MEMORY_PROMPTS.items() - if get_base_prompt_id(prompt_id=pid) == base_prompt_id and prompt.environment == environment - ] - for pid in prompts_to_delete: - del IN_MEMORY_PROMPT_REGISTRY.IN_MEMORY_PROMPTS[pid] - if pid in IN_MEMORY_PROMPT_REGISTRY.prompt_id_to_custom_prompt: - del IN_MEMORY_PROMPT_REGISTRY.prompt_id_to_custom_prompt[pid] - else: - IN_MEMORY_PROMPT_REGISTRY.delete_prompts_by_base_id(base_prompt_id) + IN_MEMORY_PROMPT_REGISTRY.delete_prompts_by_base_id(base_prompt_id, environment=environment or None) env_msg: Final = f" from {environment}" if environment else "" return {"message": f"Prompt {base_prompt_id} deleted successfully{env_msg}"} diff --git a/litellm/proxy/prompts/prompt_registry.py b/litellm/proxy/prompts/prompt_registry.py index d4342773a85..addfb3f80d5 100644 --- a/litellm/proxy/prompts/prompt_registry.py +++ b/litellm/proxy/prompts/prompt_registry.py @@ -195,12 +195,22 @@ class InMemoryPromptRegistry: """ return self.prompt_id_to_custom_prompt.get(prompt_id) - def delete_prompts_by_base_id(self, base_prompt_id: str) -> list[str]: + def remove_prompt(self, prompt_id: str) -> None: + import litellm + + self.IN_MEMORY_PROMPTS.pop(prompt_id, None) + stale_callback: Final = self.prompt_id_to_custom_prompt.pop(prompt_id, None) + if stale_callback is not None: + litellm.logging_callback_manager.remove_callback_from_all_lists(stale_callback) + + def delete_prompts_by_base_id(self, base_prompt_id: str, environment: str | None = None) -> list[str]: """ - Delete all prompts matching the given base prompt ID from memory. + Delete all prompts matching the given base prompt ID from memory, along with their + registered callbacks; scoped to one environment when given. Args: base_prompt_id: The base prompt ID (without version suffix) + environment: When set, only delete prompts deployed to this environment Returns: List of prompt IDs that were deleted @@ -208,13 +218,14 @@ class InMemoryPromptRegistry: from litellm.proxy.prompts.prompt_endpoints import get_base_prompt_id prompts_to_delete: Final = [ - pid for pid in self.IN_MEMORY_PROMPTS if get_base_prompt_id(prompt_id=pid) == base_prompt_id + pid + for pid, prompt in self.IN_MEMORY_PROMPTS.items() + if get_base_prompt_id(prompt_id=pid) == base_prompt_id + and (environment is None or prompt.environment == environment) ] for pid in prompts_to_delete: - del self.IN_MEMORY_PROMPTS[pid] - if pid in self.prompt_id_to_custom_prompt: - del self.prompt_id_to_custom_prompt[pid] + self.remove_prompt(prompt_id=pid) return prompts_to_delete diff --git a/litellm/proxy/proxy_server.py b/litellm/proxy/proxy_server.py index 2cfe08fe332..4adbabae1fa 100644 --- a/litellm/proxy/proxy_server.py +++ b/litellm/proxy/proxy_server.py @@ -7291,6 +7291,16 @@ class ProxyConfig: prompt_spec.prompt_id, prompt_sync_error, ) + # An unparsable row still exists in the DB, so skip the sweep rather than unload its in-memory copy + every_row_parsed: Final = len(parsed_specs) == len(prompts_in_db) + if every_row_parsed: + deleted_db_prompt_ids: Final = tuple( + prompt_id + for prompt_id, spec in IN_MEMORY_PROMPT_REGISTRY.IN_MEMORY_PROMPTS.items() + if spec.prompt_info.prompt_type == "db" and prompt_id not in newest_spec_per_id + ) + for deleted_prompt_id in deleted_db_prompt_ids: + IN_MEMORY_PROMPT_REGISTRY.remove_prompt(prompt_id=deleted_prompt_id) except Exception as e: verbose_proxy_logger.debug("litellm.proxy.proxy_server.py::ProxyConfig:_init_prompts_in_db - %s", e) diff --git a/tests/test_litellm/proxy/prompts/test_prompt_endpoints_crud.py b/tests/test_litellm/proxy/prompts/test_prompt_endpoints_crud.py index 688b739fb5a..b5792ac7572 100644 --- a/tests/test_litellm/proxy/prompts/test_prompt_endpoints_crud.py +++ b/tests/test_litellm/proxy/prompts/test_prompt_endpoints_crud.py @@ -79,7 +79,7 @@ async def test_delete_prompt_success(): # 2. Memory deletion should use base ID mock_registry.delete_prompts_by_base_id.assert_called_once_with( - expected_base_id + expected_base_id, environment=None ) assert response == { @@ -150,7 +150,7 @@ async def test_delete_prompt_by_base_id_success(): # 2. Memory deletion should use base ID mock_registry.delete_prompts_by_base_id.assert_called_once_with( - expected_base_id + expected_base_id, environment=None ) assert response == { @@ -158,6 +158,37 @@ async def test_delete_prompt_by_base_id_success(): } +@pytest.mark.asyncio +async def test_delete_prompt_environment_scope_reaches_db_and_registry(): + from litellm.proxy.prompts.prompt_endpoints import delete_prompt + + mock_user_auth = UserAPIKeyAuth(api_key="sk-1234", user_role=LitellmUserRoles.PROXY_ADMIN) + mock_prisma_client = MagicMock() + mock_prisma_client.db.litellm_prompttable.delete_many = AsyncMock(return_value=None) + + with patch( # test-quality-ok: stubs the collaborator so the test pins what the endpoint deletes + "litellm.proxy.prompts.prompt_registry.IN_MEMORY_PROMPT_REGISTRY" + ) as mock_registry: + mock_registry.get_prompt_by_id.return_value = PromptSpec( + prompt_id="test_prompt.v2", + litellm_params=PromptLiteLLMParams(prompt_id="test_prompt", prompt_integration="dotprompt"), + prompt_info=PromptInfo(prompt_type="db"), + ) + + with patch("litellm.proxy.proxy_server.prisma_client", mock_prisma_client): # test-quality-ok: proxy_server module global is the endpoint's only injection point + response = await delete_prompt( + prompt_id="test_prompt.v2", + environment="production", + user_api_key_dict=mock_user_auth, + ) + + mock_prisma_client.db.litellm_prompttable.delete_many.assert_called_once_with( + where={"prompt_id": "test_prompt", "environment": "production"} + ) + mock_registry.delete_prompts_by_base_id.assert_called_once_with("test_prompt", environment="production") + assert response == {"message": "Prompt test_prompt deleted successfully from production"} + + @pytest.mark.asyncio async def test_get_prompt_info_by_base_id(): """ diff --git a/tests/test_litellm/proxy/prompts/test_prompt_registry.py b/tests/test_litellm/proxy/prompts/test_prompt_registry.py index 47f1ba13627..3008821974e 100644 --- a/tests/test_litellm/proxy/prompts/test_prompt_registry.py +++ b/tests/test_litellm/proxy/prompts/test_prompt_registry.py @@ -88,3 +88,55 @@ def test_reload_prompt_keeps_the_old_template_when_the_replacement_fails(isolate assert registry.get_prompt_callback_by_id("greeting.v1") is old_callback assert _served_content(registry) == "begin every reply with AHOY" assert isolated_callbacks == [old_callback] + + +def _versioned_prompt_spec(version: int, environment: str) -> PromptSpec: + return PromptSpec( + prompt_id=f"greeting.v{version}", + litellm_params=PromptLiteLLMParams( + prompt_id="greeting", + prompt_integration="dotprompt", + prompt_data={"content": f"begin every reply with AHOY v{version}", "metadata": {}}, + ), + prompt_info=PromptInfo(prompt_type="db", environment=environment), + version=version, + environment=environment, + ) + + +def test_delete_prompts_by_base_id_removes_the_callbacks_from_litellm_callbacks(isolated_callbacks: list) -> None: + registry = InMemoryPromptRegistry() + registry.initialize_prompt(prompt=_versioned_prompt_spec(1, "development")) + registry.initialize_prompt(prompt=_versioned_prompt_spec(2, "development")) + assert len(isolated_callbacks) == 1 + + deleted = registry.delete_prompts_by_base_id("greeting") + + assert sorted(deleted) == ["greeting.v1", "greeting.v2"] + assert registry.get_prompt_by_id("greeting.v1") is None + assert registry.get_prompt_callback_by_id("greeting.v2") is None + assert isolated_callbacks == [] + + +def test_delete_prompts_by_base_id_environment_scope_keeps_other_environments(isolated_callbacks: list) -> None: + registry = InMemoryPromptRegistry() + registry.initialize_prompt(prompt=_versioned_prompt_spec(1, "development")) + registry.initialize_prompt(prompt=_versioned_prompt_spec(2, "production")) + production_callback = registry.get_prompt_callback_by_id("greeting.v2") + + deleted = registry.delete_prompts_by_base_id("greeting", environment="development") + + assert deleted == ["greeting.v1"] + assert registry.get_prompt_by_id("greeting.v1") is None + assert registry.get_prompt_by_id("greeting.v2") is not None + assert registry.get_prompt_callback_by_id("greeting.v2") is production_callback + + +def test_remove_prompt_is_a_no_op_for_an_unknown_id(isolated_callbacks: list) -> None: + registry = InMemoryPromptRegistry() + registry.initialize_prompt(prompt=_versioned_prompt_spec(1, "development")) + + registry.remove_prompt(prompt_id="not_there.v1") + + assert registry.get_prompt_by_id("greeting.v1") is not None + assert len(isolated_callbacks) == 1 diff --git a/tests/test_litellm/proxy/test_proxy_server.py b/tests/test_litellm/proxy/test_proxy_server.py index 4266a13bf11..4d429abd96e 100644 --- a/tests/test_litellm/proxy/test_proxy_server.py +++ b/tests/test_litellm/proxy/test_proxy_server.py @@ -11492,6 +11492,114 @@ async def test_init_prompts_in_db_serves_the_newest_row_when_environments_collid IN_MEMORY_PROMPT_REGISTRY.delete_prompts_by_base_id("greeting_env") +def _prompt_db_row(prompt_id: str, litellm_params: str) -> MagicMock: + row = MagicMock() + row.model_dump.return_value = { + "prompt_id": prompt_id, + "version": 1, + "environment": "development", + "created_by": None, + "litellm_params": litellm_params, + "prompt_info": json.dumps({"prompt_type": "db"}), + "created_at": None, + "updated_at": None, + } + return row + + +def _dotprompt_params(prompt_id: str) -> str: + return json.dumps( + { + "prompt_id": prompt_id, + "prompt_integration": "dotprompt", + "prompt_data": {"content": "Begin every reply with AHOY", "metadata": {}}, + } + ) + + +@pytest.mark.asyncio +async def test_init_prompts_in_db_unloads_rows_deleted_on_another_worker(monkeypatch): + from litellm.proxy.prompts.prompt_registry import IN_MEMORY_PROMPT_REGISTRY + from litellm.proxy.proxy_server import ProxyConfig + + monkeypatch.setattr(litellm, "callbacks", []) + + prisma_client = MagicMock() + try: + prisma_client.db.litellm_prompttable.find_many = AsyncMock( + return_value=[_prompt_db_row("greeting_del", _dotprompt_params("greeting_del"))] + ) + await ProxyConfig()._init_prompts_in_db(prisma_client=prisma_client) + assert IN_MEMORY_PROMPT_REGISTRY.get_prompt_callback_by_id("greeting_del.v1") is not None + + prisma_client.db.litellm_prompttable.find_many = AsyncMock(return_value=[]) + await ProxyConfig()._init_prompts_in_db(prisma_client=prisma_client) + + assert IN_MEMORY_PROMPT_REGISTRY.get_prompt_by_id("greeting_del.v1") is None + assert IN_MEMORY_PROMPT_REGISTRY.get_prompt_callback_by_id("greeting_del.v1") is None + assert litellm.callbacks == [] + finally: + IN_MEMORY_PROMPT_REGISTRY.delete_prompts_by_base_id("greeting_del") + + +@pytest.mark.asyncio +async def test_init_prompts_in_db_keeps_config_prompts_when_their_id_has_no_db_row(monkeypatch): + from litellm.proxy.prompts.prompt_registry import IN_MEMORY_PROMPT_REGISTRY + from litellm.proxy.proxy_server import ProxyConfig + from litellm.types.prompts.init_prompts import PromptInfo, PromptLiteLLMParams, PromptSpec + + monkeypatch.setattr(litellm, "callbacks", []) + + config_prompt = PromptSpec( + prompt_id="greeting_cfg", + litellm_params=PromptLiteLLMParams( + prompt_id="greeting_cfg", + prompt_integration="dotprompt", + prompt_data={"content": "Begin every reply with AHOY", "metadata": {}}, + ), + prompt_info=PromptInfo(prompt_type="config"), + ) + + prisma_client = MagicMock() + try: + IN_MEMORY_PROMPT_REGISTRY.initialize_prompt(prompt=config_prompt) + prisma_client.db.litellm_prompttable.find_many = AsyncMock(return_value=[]) + + await ProxyConfig()._init_prompts_in_db(prisma_client=prisma_client) + + assert IN_MEMORY_PROMPT_REGISTRY.get_prompt_callback_by_id("greeting_cfg") is not None + assert len(litellm.callbacks) == 1 + finally: + IN_MEMORY_PROMPT_REGISTRY.remove_prompt(prompt_id="greeting_cfg") + + +@pytest.mark.asyncio +async def test_init_prompts_in_db_keeps_the_in_memory_copy_when_a_row_fails_to_parse(monkeypatch): + from litellm.proxy.prompts.prompt_registry import IN_MEMORY_PROMPT_REGISTRY + from litellm.proxy.proxy_server import ProxyConfig + + monkeypatch.setattr(litellm, "callbacks", []) + + prisma_client = MagicMock() + try: + prisma_client.db.litellm_prompttable.find_many = AsyncMock( + return_value=[_prompt_db_row("greeting_broken", _dotprompt_params("greeting_broken"))] + ) + await ProxyConfig()._init_prompts_in_db(prisma_client=prisma_client) + loaded_callback = IN_MEMORY_PROMPT_REGISTRY.get_prompt_callback_by_id("greeting_broken.v1") + assert loaded_callback is not None + + prisma_client.db.litellm_prompttable.find_many = AsyncMock( + return_value=[_prompt_db_row("greeting_broken", "this is not json")] + ) + await ProxyConfig()._init_prompts_in_db(prisma_client=prisma_client) + + assert IN_MEMORY_PROMPT_REGISTRY.get_prompt_callback_by_id("greeting_broken.v1") is loaded_callback + assert litellm.callbacks == [loaded_callback] + finally: + IN_MEMORY_PROMPT_REGISTRY.delete_prompts_by_base_id("greeting_broken") + + class TestEmbeddingsFailureHookRequestData: @pytest.mark.asyncio async def test_failure_hook_gets_post_setup_data_with_logging_obj(self): From 4f56e8a7d500019c564ccab9eb11d556d0c6ed5e Mon Sep 17 00:00:00 2001 From: Yuneng Jiang Date: Wed, 26 Aug 2026 18:09:10 -0700 Subject: [PATCH 13/32] test(e2e): un-skip the per-model budget update case The case was skipped because /budget/update 500d on any model_max_budget. #38430 fixes that by serializing the update payload before the write, so the case now passes against a proxy carrying that change and there is nothing left for the skip to hide. Merge this after #38430; on staging alone the case still fails with the same 500 it was skipped for. --- tests/e2e/management/test_budget_customer_user_org_e2e.py | 6 ------ 1 file changed, 6 deletions(-) diff --git a/tests/e2e/management/test_budget_customer_user_org_e2e.py b/tests/e2e/management/test_budget_customer_user_org_e2e.py index 9caf042803b..6e14a2d5745 100644 --- a/tests/e2e/management/test_budget_customer_user_org_e2e.py +++ b/tests/e2e/management/test_budget_customer_user_org_e2e.py @@ -163,12 +163,6 @@ class TestBudgetManagement: f"/budget/list never included the created budget {budget_id}", ) - @pytest.mark.skip( - reason=( - "stage red: product gap, /budget/update 500s on any model_max_budget " - "(prisma Json arg + unquoted GraphQL interpolation)" - ) - ) @pytest.mark.covers("mgmt.budget.update.accepts_model_max_budget") def test_update_accepts_per_model_budgets_including_punctuated_names( self, client: ManagementClient, resources: ResourceManager From 815fa0ff0811be7c9753feea284bf615ec7debb9 Mon Sep 17 00:00:00 2001 From: mateo-berri <277851410+mateo-berri@users.noreply.github.com> Date: Wed, 26 Aug 2026 18:14:10 -0700 Subject: [PATCH 14/32] fix(anthropic_adapter): carry web search usage into /v1/messages cost breakdown For non-Anthropic models served over /v1/messages, the outer wrapper recomputes cost over the adapter-translated Anthropic response dict. That dict dropped every web search usage signal, so the recompute overwrote the correct cost breakdown with a token-only one: x-litellm-response-cost-tool-usage read 0.0 and x-litellm-response-cost-original excluded the search cost, while the total kept it. The adapter now maps web search request counts (from Usage.server_tool_use or Gemini's prompt_tokens_details) into usage.server_tool_use.web_search_requests, matching the Anthropic API shape, and the Gemini web search cost calculator falls back to server_tool_use when prompt_tokens_details carries no count. The shared get_web_search_requests helper is now public since five modules consume it. Resolves LIT-6288 --- basedpyright-code-budget.json | 4 +- .../llm_cost_calc/tool_call_cost_tracking.py | 8 +- .../litellm_core_utils/llm_cost_calc/utils.py | 2 +- litellm/llms/anthropic/cost_calculation.py | 4 +- .../adapters/transformation.py | 20 ++++ litellm/llms/gemini/cost_calculator.py | 35 ++++--- litellm/types/llms/anthropic.py | 5 + .../anthropic_messages/anthropic_response.py | 8 +- ...est_tool_call_cost_tracking_dict_safety.py | 13 ++- ...al_pass_through_adapters_transformation.py | 95 +++++++++++++++++++ .../test_cost_calculation_dict_safety.py | 11 +-- .../llms/gemini/test_cost_calculator.py | 59 ++++++++++++ type-discipline-budget.json | 2 +- 13 files changed, 230 insertions(+), 36 deletions(-) diff --git a/basedpyright-code-budget.json b/basedpyright-code-budget.json index 3357212a6c8..e9b5afba9ea 100644 --- a/basedpyright-code-budget.json +++ b/basedpyright-code-budget.json @@ -84,7 +84,7 @@ "limit": 56 }, "reportPrivateUsage": { - "limit": 1810 + "limit": 1808 }, "reportRedeclaration": { "limit": 8 @@ -135,7 +135,7 @@ "limit": 21 }, "reportUnusedFunction": { - "limit": 139 + "limit": 138 }, "reportUnusedImport": { "limit": 544 diff --git a/litellm/litellm_core_utils/llm_cost_calc/tool_call_cost_tracking.py b/litellm/litellm_core_utils/llm_cost_calc/tool_call_cost_tracking.py index 875e4e156c7..9a2c4e244fb 100644 --- a/litellm/litellm_core_utils/llm_cost_calc/tool_call_cost_tracking.py +++ b/litellm/litellm_core_utils/llm_cost_calc/tool_call_cost_tracking.py @@ -7,7 +7,7 @@ from typing import Any, Final, Literal import litellm from litellm.constants import OPENAI_FILE_SEARCH_COST_PER_1K_CALLS -from litellm.litellm_core_utils.llm_cost_calc.utils import _get_web_search_requests +from litellm.litellm_core_utils.llm_cost_calc.utils import get_web_search_requests from litellm.types.llms.openai import ( FileSearchTool, ResponsesAPIResponse, @@ -368,7 +368,7 @@ class StandardBuiltInToolCostTracking: get_anthropic_web_search_requests_from_response, ) - if usage is not None and (_get_web_search_requests(getattr(usage, "server_tool_use", None)) is not None): + if usage is not None and (get_web_search_requests(getattr(usage, "server_tool_use", None)) is not None): return usage web_search_requests: Final = get_anthropic_web_search_requests_from_response(response_object) if web_search_requests is None: @@ -416,7 +416,7 @@ class StandardBuiltInToolCostTracking: # Anthropic Claude (direct API and Vertex AI) uses server_tool_use.web_search_requests. # Without this check, Claude ModelResponse always falls through to return False # and _handle_web_search_cost() is never called. - if hasattr(usage, "server_tool_use") and _get_web_search_requests(usage.server_tool_use) is not None: + if hasattr(usage, "server_tool_use") and get_web_search_requests(usage.server_tool_use) is not None: return True # xAI reports usage.server_side_tool_usage_details.web_search_calls; a searched # answer with no url_citation annotations has no other chat-path signal @@ -431,7 +431,7 @@ class StandardBuiltInToolCostTracking: elif usage is not None: if ( hasattr(usage, "server_tool_use") - and _get_web_search_requests(usage.server_tool_use) is not None + and get_web_search_requests(usage.server_tool_use) is not None or ( hasattr(usage, "prompt_tokens_details") and usage.prompt_tokens_details is not None diff --git a/litellm/litellm_core_utils/llm_cost_calc/utils.py b/litellm/litellm_core_utils/llm_cost_calc/utils.py index 0a52e1d283e..8d19b44213b 100644 --- a/litellm/litellm_core_utils/llm_cost_calc/utils.py +++ b/litellm/litellm_core_utils/llm_cost_calc/utils.py @@ -72,7 +72,7 @@ def _get_token_detail_value(details: object, key: str) -> int | None: return value if isinstance(value, int) else None -def _get_web_search_requests(server_tool_use: Any) -> int | None: +def get_web_search_requests(server_tool_use: Any) -> int | None: """ Tolerantly read ``web_search_requests`` from a ``server_tool_use`` value that may be ``None``, a ``dict``, a ``ServerToolUse`` pydantic instance, diff --git a/litellm/llms/anthropic/cost_calculation.py b/litellm/llms/anthropic/cost_calculation.py index f2f9d1c730d..ec6c480efcc 100644 --- a/litellm/llms/anthropic/cost_calculation.py +++ b/litellm/llms/anthropic/cost_calculation.py @@ -8,9 +8,9 @@ from typing import TYPE_CHECKING, Final, Optional from pydantic import BaseModel, ValidationError from litellm.litellm_core_utils.llm_cost_calc.utils import ( - _get_web_search_requests, generic_cost_per_token, get_provider_specific_geo_multiplier, + get_web_search_requests, ) if TYPE_CHECKING: @@ -104,7 +104,7 @@ def get_cost_for_anthropic_web_search( if usage is None: return 0.0 - web_search_requests: Final = _get_web_search_requests(getattr(usage, "server_tool_use", None)) + web_search_requests: Final = get_web_search_requests(getattr(usage, "server_tool_use", None)) if web_search_requests is None: return 0.0 diff --git a/litellm/llms/anthropic/experimental_pass_through/adapters/transformation.py b/litellm/llms/anthropic/experimental_pass_through/adapters/transformation.py index 109017bda27..d7b527824ea 100644 --- a/litellm/llms/anthropic/experimental_pass_through/adapters/transformation.py +++ b/litellm/llms/anthropic/experimental_pass_through/adapters/transformation.py @@ -99,6 +99,7 @@ from litellm.types.llms.anthropic import ( ContextManagementResponse, MessageBlockDelta, MessageDelta, + ServerToolUsage, StreamingContentBlockDeltaType, UsageDelta, UsageIteration, @@ -1354,10 +1355,24 @@ class LiteLLMAnthropicMessagesAdapter: return explicit_value return cls._first_positive_prompt_tokens_detail_value(usage, ("cache_creation_tokens", "cache_write_tokens")) + @classmethod + def _get_web_search_request_count(cls, usage: Usage) -> int: + from litellm.litellm_core_utils.llm_cost_calc.utils import ( + get_web_search_requests, + ) + + from_server_tool_use: Final = cls._positive_int( + get_web_search_requests(getattr(usage, "server_tool_use", None)) + ) + if from_server_tool_use > 0: + return from_server_tool_use + return cls._first_positive_prompt_tokens_detail_value(usage, ("web_search_requests",)) + @classmethod def _translate_openai_usage_to_anthropic_usage_delta(cls, usage: Usage) -> UsageDelta: cache_read_input_tokens: Final = cls._get_cache_read_input_tokens(usage) cache_creation_input_tokens: Final = cls._get_cache_creation_input_tokens(usage) + web_search_requests: Final = cls._get_web_search_request_count(usage) input_tokens: Final = max( (usage.prompt_tokens or 0) - cache_read_input_tokens - cache_creation_input_tokens, 0, @@ -1371,6 +1386,11 @@ class LiteLLMAnthropicMessagesAdapter: usage_delta["cache_creation_input_tokens"] = cache_creation_input_tokens if cache_read_input_tokens > 0: usage_delta["cache_read_input_tokens"] = cache_read_input_tokens + if web_search_requests > 0: + return UsageDelta( + **usage_delta, + server_tool_use=ServerToolUsage(web_search_requests=web_search_requests), + ) return usage_delta @classmethod diff --git a/litellm/llms/gemini/cost_calculator.py b/litellm/llms/gemini/cost_calculator.py index 94326f0e657..fb7d340ecb3 100644 --- a/litellm/llms/gemini/cost_calculator.py +++ b/litellm/llms/gemini/cost_calculator.py @@ -38,29 +38,40 @@ def cost_per_web_search_request(usage: "Usage", model_info: "ModelInfo") -> floa Reads the per-request cost from ``search_context_cost_per_query`` in ``model_info`` when available, falling back to $0.035 for models not yet updated in the pricing JSON. + + The request count comes from ``prompt_tokens_details.web_search_requests`` + (the native Gemini field), falling back to ``server_tool_use.web_search_requests`` + for usage reconstructed from an Anthropic-format response (the /v1/messages + adapter surface). """ + from litellm.litellm_core_utils.llm_cost_calc.utils import get_web_search_requests from litellm.types.utils import PromptTokensDetailsWrapper _DEFAULT_COST: Final = 35e-3 search_costs: Final = model_info.get("search_context_cost_per_query") or {} _cost: Final = search_costs.get("search_context_size_medium", _DEFAULT_COST) - number_of_web_search_requests = 0 - if ( - usage is not None - and usage.prompt_tokens_details is not None - and isinstance(usage.prompt_tokens_details, PromptTokensDetailsWrapper) - and hasattr(usage.prompt_tokens_details, "web_search_requests") - and usage.prompt_tokens_details.web_search_requests is not None - ): - number_of_web_search_requests = usage.prompt_tokens_details.web_search_requests + requests_from_prompt_details: Final = ( + usage.prompt_tokens_details.web_search_requests + if ( + usage is not None + and usage.prompt_tokens_details is not None + and isinstance(usage.prompt_tokens_details, PromptTokensDetailsWrapper) + and hasattr(usage.prompt_tokens_details, "web_search_requests") + and usage.prompt_tokens_details.web_search_requests is not None + ) + else None + ) + requests_from_server_tool_use: Final = get_web_search_requests(getattr(usage, "server_tool_use", None)) + number_of_web_search_requests: Final = requests_from_prompt_details or requests_from_server_tool_use or 0 # per_prompt billing: clamp to 1 (flat fee per grounded API call) billing_mode: Final = model_info.get("web_search_billing_unit") or "per_prompt" - if number_of_web_search_requests > 0 and billing_mode == "per_prompt": - number_of_web_search_requests = 1 + billable_requests: Final = ( + 1 if (number_of_web_search_requests > 0 and billing_mode == "per_prompt") else number_of_web_search_requests + ) - return _cost * number_of_web_search_requests + return _cost * billable_requests GOOGLE_MAPS_GROUNDING_DEFAULT_COST_PER_QUERY: Final = 14e-3 diff --git a/litellm/types/llms/anthropic.py b/litellm/types/llms/anthropic.py index f127366cc21..901802a6640 100644 --- a/litellm/types/llms/anthropic.py +++ b/litellm/types/llms/anthropic.py @@ -502,11 +502,16 @@ class MessageDelta(TypedDict, total=False): stop_reason: str | None +class ServerToolUsage(TypedDict, total=False): + web_search_requests: ReadOnly[int] + + class UsageDelta(TypedDict, total=False): input_tokens: int output_tokens: int cache_creation_input_tokens: int cache_read_input_tokens: int + server_tool_use: ReadOnly[ServerToolUsage] class AppliedEdit(TypedDict, total=False): diff --git a/litellm/types/llms/anthropic_messages/anthropic_response.py b/litellm/types/llms/anthropic_messages/anthropic_response.py index 679948c5235..42ca3fd6d4b 100644 --- a/litellm/types/llms/anthropic_messages/anthropic_response.py +++ b/litellm/types/llms/anthropic_messages/anthropic_response.py @@ -1,11 +1,12 @@ from typing import Any, Literal, TypeAlias -from typing_extensions import NotRequired, TypedDict +from typing_extensions import NotRequired, ReadOnly, TypedDict from litellm.types.llms.anthropic import ( AnthropicResponseContentBlockText, AnthropicResponseContentBlockToolUse, ContextManagementResponse, + ServerToolUsage, ) @@ -71,6 +72,11 @@ class AnthropicUsage(TypedDict, total=False): cache_creation_input_tokens: int cache_read_input_tokens: int + """ + Server-side tool usage (e.g. web search request counts) + """ + server_tool_use: NotRequired[ReadOnly[ServerToolUsage]] + class AnthropicMessagesResponse(TypedDict, total=False): """ diff --git a/tests/test_litellm/litellm_core_utils/llm_cost_calc/test_tool_call_cost_tracking_dict_safety.py b/tests/test_litellm/litellm_core_utils/llm_cost_calc/test_tool_call_cost_tracking_dict_safety.py index 61b94139bb8..3a0a3574539 100644 --- a/tests/test_litellm/litellm_core_utils/llm_cost_calc/test_tool_call_cost_tracking_dict_safety.py +++ b/tests/test_litellm/litellm_core_utils/llm_cost_calc/test_tool_call_cost_tracking_dict_safety.py @@ -8,10 +8,9 @@ See https://github.com/BerriAI/litellm/issues/26153. import pytest - from litellm.litellm_core_utils.llm_cost_calc.tool_call_cost_tracking import ( StandardBuiltInToolCostTracking, - _get_web_search_requests, + get_web_search_requests, ) from litellm.types.utils import ModelResponse, ServerToolUse, Usage @@ -28,25 +27,25 @@ class _UsageWithDictServerToolUse: def test_get_web_search_requests_handles_none(): - assert _get_web_search_requests(None) is None + assert get_web_search_requests(None) is None def test_get_web_search_requests_handles_dict(): - assert _get_web_search_requests({"web_search_requests": 5}) == 5 + assert get_web_search_requests({"web_search_requests": 5}) == 5 def test_get_web_search_requests_handles_dict_missing_key(): - assert _get_web_search_requests({}) is None + assert get_web_search_requests({}) is None def test_get_web_search_requests_handles_pydantic(): stu = ServerToolUse(web_search_requests=7) - assert _get_web_search_requests(stu) == 7 + assert get_web_search_requests(stu) == 7 def test_get_web_search_requests_handles_pydantic_with_none_value(): stu = ServerToolUse() - assert _get_web_search_requests(stu) is None + assert get_web_search_requests(stu) is None def test_response_object_includes_web_search_call_with_dict_server_tool_use(): diff --git a/tests/test_litellm/llms/anthropic/experimental_pass_through/adapters/test_anthropic_experimental_pass_through_adapters_transformation.py b/tests/test_litellm/llms/anthropic/experimental_pass_through/adapters/test_anthropic_experimental_pass_through_adapters_transformation.py index ee09baf28b6..95fbd06547b 100644 --- a/tests/test_litellm/llms/anthropic/experimental_pass_through/adapters/test_anthropic_experimental_pass_through_adapters_transformation.py +++ b/tests/test_litellm/llms/anthropic/experimental_pass_through/adapters/test_anthropic_experimental_pass_through_adapters_transformation.py @@ -3997,3 +3997,98 @@ def test_translate_anthropic_messages_to_openai_carries_midturn_system_prompt_ca assert result == [ {"role": "system", "content": [{"type": "text", "text": "fix", "prompt_cache_breakpoint": explicit}]} ] + + +def _openai_response_with_usage(usage: Usage) -> ModelResponse: + return ModelResponse( + id="resp_web_search", + model="gemini-3-flash-preview", + choices=[ + Choices( + finish_reason="stop", + index=0, + message=Message(role="assistant", content="searched"), + ) + ], + usage=usage, + ) + + +def test_translate_openai_response_to_anthropic_maps_gemini_web_search_usage(): + from litellm.types.utils import PromptTokensDetailsWrapper + + usage = Usage( + prompt_tokens=385, + completion_tokens=566, + total_tokens=951, + prompt_tokens_details=PromptTokensDetailsWrapper(text_tokens=385, web_search_requests=2), + ) + + anthropic_response = LiteLLMAnthropicMessagesAdapter().translate_openai_response_to_anthropic( + response=_openai_response_with_usage(usage) + ) + + assert anthropic_response["usage"]["server_tool_use"] == {"web_search_requests": 2} + + +def test_translate_openai_response_to_anthropic_maps_server_tool_use_web_search_usage(): + from litellm.types.utils import ServerToolUse + + usage = Usage( + prompt_tokens=100, + completion_tokens=40, + total_tokens=140, + server_tool_use=ServerToolUse(web_search_requests=3), + ) + + anthropic_response = LiteLLMAnthropicMessagesAdapter().translate_openai_response_to_anthropic( + response=_openai_response_with_usage(usage) + ) + + assert anthropic_response["usage"]["server_tool_use"] == {"web_search_requests": 3} + + +def test_translate_openai_response_to_anthropic_omits_server_tool_use_without_web_search(): + usage = Usage(prompt_tokens=100, completion_tokens=40, total_tokens=140) + + anthropic_response = LiteLLMAnthropicMessagesAdapter().translate_openai_response_to_anthropic( + response=_openai_response_with_usage(usage) + ) + + assert "server_tool_use" not in anthropic_response["usage"] + + +def test_completion_cost_on_translated_anthropic_response_includes_web_search(): + from litellm.types.utils import PromptTokensDetailsWrapper + + adapter = LiteLLMAnthropicMessagesAdapter() + with_search = adapter.translate_openai_response_to_anthropic( + response=_openai_response_with_usage( + Usage( + prompt_tokens=385, + completion_tokens=566, + total_tokens=951, + prompt_tokens_details=PromptTokensDetailsWrapper(text_tokens=385, web_search_requests=2), + ) + ) + ) + without_search = adapter.translate_openai_response_to_anthropic( + response=_openai_response_with_usage(Usage(prompt_tokens=385, completion_tokens=566, total_tokens=951)) + ) + + cost_with_search = litellm.completion_cost( + completion_response=with_search, + model="gemini/gemini-3-flash-preview", + call_type="anthropic_messages", + ) + cost_without_search = litellm.completion_cost( + completion_response=without_search, + model="gemini/gemini-3-flash-preview", + call_type="anthropic_messages", + ) + + per_query_cost = litellm.model_cost["gemini/gemini-3-flash-preview"]["search_context_cost_per_query"][ + "search_context_size_medium" + ] + assert per_query_cost > 0 + assert cost_with_search - cost_without_search == pytest.approx(2 * per_query_cost) diff --git a/tests/test_litellm/llms/anthropic/test_cost_calculation_dict_safety.py b/tests/test_litellm/llms/anthropic/test_cost_calculation_dict_safety.py index 5c88ae17679..27115ffe241 100644 --- a/tests/test_litellm/llms/anthropic/test_cost_calculation_dict_safety.py +++ b/tests/test_litellm/llms/anthropic/test_cost_calculation_dict_safety.py @@ -8,10 +8,9 @@ See https://github.com/BerriAI/litellm/issues/26153. import pytest - from litellm.llms.anthropic.cost_calculation import ( - _get_web_search_requests, get_cost_for_anthropic_web_search, + get_web_search_requests, ) from litellm.types.utils import ModelInfo, ServerToolUse @@ -33,19 +32,19 @@ def _make_model_info(cost_per_query: float = 0.01) -> ModelInfo: def test_get_web_search_requests_handles_none(): - assert _get_web_search_requests(None) is None + assert get_web_search_requests(None) is None def test_get_web_search_requests_handles_dict(): - assert _get_web_search_requests({"web_search_requests": 4}) == 4 + assert get_web_search_requests({"web_search_requests": 4}) == 4 def test_get_web_search_requests_handles_dict_missing_key(): - assert _get_web_search_requests({}) is None + assert get_web_search_requests({}) is None def test_get_web_search_requests_handles_pydantic(): - assert _get_web_search_requests(ServerToolUse(web_search_requests=2)) == 2 + assert get_web_search_requests(ServerToolUse(web_search_requests=2)) == 2 def test_get_cost_for_anthropic_web_search_with_dict_server_tool_use(): diff --git a/tests/test_litellm/llms/gemini/test_cost_calculator.py b/tests/test_litellm/llms/gemini/test_cost_calculator.py index f1d62800337..6d547b0dc55 100644 --- a/tests/test_litellm/llms/gemini/test_cost_calculator.py +++ b/tests/test_litellm/llms/gemini/test_cost_calculator.py @@ -84,6 +84,65 @@ def test_no_usage_details(): assert cost == 0.0 +def _make_server_tool_use_usage(web_search_requests: int) -> Usage: + from litellm.types.utils import ServerToolUse + + return Usage( + prompt_tokens=100, + completion_tokens=50, + total_tokens=150, + server_tool_use=ServerToolUse(web_search_requests=web_search_requests), + ) + + +def test_server_tool_use_fallback_per_query_billing(): + """Usage reconstructed from an Anthropic-format response carries the count in + server_tool_use, not prompt_tokens_details; per_query billing prices each request.""" + model_info = { + "key": "gemini/gemini-3-flash-preview", + "web_search_billing_unit": "per_query", + "search_context_cost_per_query": { + "search_context_size_medium": 0.014, + }, + } + cost = cost_per_web_search_request(usage=_make_server_tool_use_usage(3), model_info=model_info) + assert cost == pytest.approx(0.014 * 3) + + +def test_server_tool_use_fallback_per_prompt_clamps_to_one(): + """per_prompt billing clamps the server_tool_use count to one grounded prompt.""" + model_info = { + "key": "gemini/gemini-2.5-flash", + "search_context_cost_per_query": { + "search_context_size_medium": 0.035, + }, + } + cost = cost_per_web_search_request(usage=_make_server_tool_use_usage(4), model_info=model_info) + assert cost == pytest.approx(0.035 * 1) + + +def test_prompt_tokens_details_take_precedence_over_server_tool_use(): + """The native Gemini field wins when both counts are present.""" + from litellm.types.utils import ServerToolUse + + model_info = { + "key": "gemini/gemini-3-flash-preview", + "web_search_billing_unit": "per_query", + "search_context_cost_per_query": { + "search_context_size_medium": 0.014, + }, + } + usage = Usage( + prompt_tokens=100, + completion_tokens=50, + total_tokens=150, + prompt_tokens_details=PromptTokensDetailsWrapper(web_search_requests=2), + server_tool_use=ServerToolUse(web_search_requests=5), + ) + cost = cost_per_web_search_request(usage=usage, model_info=model_info) + assert cost == pytest.approx(0.014 * 2) + + def _make_maps_usage(google_maps_grounding_requests: int) -> Usage: return Usage( prompt_tokens=100, diff --git a/type-discipline-budget.json b/type-discipline-budget.json index 6fd7828906c..399e02043a0 100644 --- a/type-discipline-budget.json +++ b/type-discipline-budget.json @@ -27,7 +27,7 @@ "limit": 0 }, "LIT010": { - "limit": 16619 + "limit": 16616 }, "LIT011": { "limit": 5583 From 4fd7b9946f0399c24c8ba14221860bfd30bc6778 Mon Sep 17 00:00:00 2001 From: mateo-berri <277851410+mateo-berri@users.noreply.github.com> Date: Wed, 26 Aug 2026 18:22:32 -0700 Subject: [PATCH 15/32] fix(prompts): keep prompts created mid-sync out of the deleted-row sweep --- litellm/proxy/proxy_server.py | 7 ++-- tests/test_litellm/proxy/test_proxy_server.py | 36 +++++++++++++++++++ 2 files changed, 41 insertions(+), 2 deletions(-) diff --git a/litellm/proxy/proxy_server.py b/litellm/proxy/proxy_server.py index 4adbabae1fa..c5afadbf7b7 100644 --- a/litellm/proxy/proxy_server.py +++ b/litellm/proxy/proxy_server.py @@ -7269,6 +7269,7 @@ class ProxyConfig: return None try: + prompt_ids_loaded_before_db_read: Final = frozenset(IN_MEMORY_PROMPT_REGISTRY.IN_MEMORY_PROMPTS) prompts_in_db: Final[Sequence[object]] = await PromptRepository(prisma_client).table.find_many() parsed_specs: Final[tuple[PromptSpec, ...]] = tuple( spec for row in prompts_in_db if (spec := parse_row(row)) is not None @@ -7296,8 +7297,10 @@ class ProxyConfig: if every_row_parsed: deleted_db_prompt_ids: Final = tuple( prompt_id - for prompt_id, spec in IN_MEMORY_PROMPT_REGISTRY.IN_MEMORY_PROMPTS.items() - if spec.prompt_info.prompt_type == "db" and prompt_id not in newest_spec_per_id + for prompt_id in prompt_ids_loaded_before_db_read + if (loaded_spec := IN_MEMORY_PROMPT_REGISTRY.IN_MEMORY_PROMPTS.get(prompt_id)) is not None + and loaded_spec.prompt_info.prompt_type == "db" + and prompt_id not in newest_spec_per_id ) for deleted_prompt_id in deleted_db_prompt_ids: IN_MEMORY_PROMPT_REGISTRY.remove_prompt(prompt_id=deleted_prompt_id) diff --git a/tests/test_litellm/proxy/test_proxy_server.py b/tests/test_litellm/proxy/test_proxy_server.py index 4d429abd96e..35e248a43e6 100644 --- a/tests/test_litellm/proxy/test_proxy_server.py +++ b/tests/test_litellm/proxy/test_proxy_server.py @@ -11600,6 +11600,42 @@ async def test_init_prompts_in_db_keeps_the_in_memory_copy_when_a_row_fails_to_p IN_MEMORY_PROMPT_REGISTRY.delete_prompts_by_base_id("greeting_broken") +@pytest.mark.asyncio +async def test_init_prompts_in_db_keeps_a_prompt_created_while_the_sync_was_reading(monkeypatch): + from litellm.proxy.prompts.prompt_registry import IN_MEMORY_PROMPT_REGISTRY + from litellm.proxy.proxy_server import ProxyConfig + from litellm.types.prompts.init_prompts import PromptInfo, PromptLiteLLMParams, PromptSpec + + monkeypatch.setattr(litellm, "callbacks", []) + + prisma_client = MagicMock() + try: + + async def create_prompt_behind_the_select() -> list: + IN_MEMORY_PROMPT_REGISTRY.initialize_prompt( + prompt=PromptSpec( + prompt_id="greeting_race.v1", + litellm_params=PromptLiteLLMParams( + prompt_id="greeting_race", + prompt_integration="dotprompt", + prompt_data={"content": "Begin every reply with AHOY", "metadata": {}}, + ), + prompt_info=PromptInfo(prompt_type="db"), + ) + ) + return [] + + prisma_client.db.litellm_prompttable.find_many = AsyncMock(side_effect=create_prompt_behind_the_select) + await ProxyConfig()._init_prompts_in_db(prisma_client=prisma_client) + + surviving_callback = IN_MEMORY_PROMPT_REGISTRY.get_prompt_callback_by_id("greeting_race.v1") + assert IN_MEMORY_PROMPT_REGISTRY.get_prompt_by_id("greeting_race.v1") is not None + assert surviving_callback is not None + assert litellm.callbacks == [surviving_callback] + finally: + IN_MEMORY_PROMPT_REGISTRY.delete_prompts_by_base_id("greeting_race") + + class TestEmbeddingsFailureHookRequestData: @pytest.mark.asyncio async def test_failure_hook_gets_post_setup_data_with_logging_obj(self): From 587f227b9d8da6a90ba8de0ca069fdba1d6e9586 Mon Sep 17 00:00:00 2001 From: tin-berri Date: Wed, 26 Aug 2026 19:11:37 -0700 Subject: [PATCH 16/32] feat(complexity_router): heuristic-first classifier chaining (#38428) * feat(complexity_router): heuristic-first classifier chaining Adds classifier_type 'heuristic_first', which scores locally on every request and only calls the LLM classifier for traffic the scorer could not place at or below heuristic_first_max_tier. A request short-circuits when the scorer landed at or below the threshold and produced at least one signal; everything else escalates. The signal requirement is load-bearing. A prompt where no dimension fires scores exactly 0.0, which is under simple_medium, so the score-to-tier mapping calls it SIMPLE by default rather than by evidence, and that is about half of general traffic. Gating on the tier alone would route it to the cheapest model without ever consulting the classifier. Introduces uses_llm_classifier as the single owner of 'does this router call the classifier model', replacing the classifier_type == 'llm' comparisons in the config validator, the prompt prebuild, the health dependency graph, the routing-test authorizer, and six dashboard sites. * fix(complexity_router): reuse the heuristic verdict on classifier failure, load the threshold on edit Three review findings, one push. The heuristic-first fallback re-scored the prompt after a classifier failure, which the README already documented as a reuse. The outcome computed before escalation is now handed to the failure path, so the scorer runs once per request. The edit modal never hydrated heuristic_first_max_tier, while save rebuilds every managed key from form state, so opening a heuristic-first router and saving it dropped a field the proxy requires. The dropdown's display fallback hid it. Both are fixed, and the hydration is extracted into a pure function so a test can pin the invariant: every managed key present in a stored config survives an untouched open-and-save. That test also covers every field added later. Classifier radio labels lost their em dashes, per the repo writing convention. --- .../auto_router_endpoints.py | 2 +- .../complexity_router/README.md | 44 ++++ .../complexity_router/complexity_router.py | 74 +++++- .../complexity_router/config.py | 87 ++++++- .../router_utils/auto_router_model_naming.py | 8 +- litellm/types/utils.py | 6 + .../router_strategy/test_complexity_router.py | 214 +++++++++++++++++- .../components/AutoRouters/autoRouterRows.ts | 8 +- .../add_model/ClassificationMethodConfig.tsx | 89 ++++++-- .../add_model/ComplexityRouterConfig.tsx | 27 ++- .../add_model/add_auto_router_tab.tsx | 1 + .../build_complexity_router_config.test.ts | 33 +++ .../build_complexity_router_config.ts | 19 +- ...d_updated_complexity_router_config.test.ts | 52 ++++- .../edit_auto_router_modal.tsx | 162 ++++++++----- .../LogDetailsDrawer/RoutingDecisionCard.tsx | 40 ++-- .../src/lib/autorouter_presets.ts | 5 +- ui/litellm-dashboard/src/lib/http/schema.d.ts | 15 +- ui/litellm-dashboard/tsconfig.tsbuildinfo | 2 +- 19 files changed, 746 insertions(+), 142 deletions(-) diff --git a/litellm/proxy/management_endpoints/auto_router_endpoints.py b/litellm/proxy/management_endpoints/auto_router_endpoints.py index 1322f50d4af..ee6c8ec4898 100644 --- a/litellm/proxy/management_endpoints/auto_router_endpoints.py +++ b/litellm/proxy/management_endpoints/auto_router_endpoints.py @@ -195,7 +195,7 @@ def _models_this_test_can_call(config: RequestComplexityRouterConfig) -> tuple[s model for model in ( config.classifier_llm_config.model - if config.classifier_type == "llm" and config.classifier_llm_config is not None + if config.uses_llm_classifier and config.classifier_llm_config is not None else None, config.embedding_model if config.semantic_keyword_matching else None, ) diff --git a/litellm/router_strategy/complexity_router/README.md b/litellm/router_strategy/complexity_router/README.md index cf7bde93360..63ba760ff66 100644 --- a/litellm/router_strategy/complexity_router/README.md +++ b/litellm/router_strategy/complexity_router/README.md @@ -178,6 +178,50 @@ response = litellm.completion( ## Special Behaviors +### Heuristic-first chaining + +`classifier_type: heuristic_first` runs the local scorer on every request and only calls the LLM +classifier for the ones the scorer could not place cheaply. It takes the same classifier settings as +`classifier_type: llm`, plus `heuristic_first_max_tier`: + +```yaml +model_list: + - model_name: smart-router + litellm_params: + model: auto_router/complexity_router + complexity_router_config: + classifier_type: heuristic_first + heuristic_first_max_tier: SIMPLE + classifier_llm_config: + model: gpt-4o-mini + tiers: + SIMPLE: gpt-4o-mini + MEDIUM: gpt-4o + COMPLEX: claude-sonnet-4 + REASONING: o1-preview +``` + +A request short-circuits, meaning it routes on the scorer's own tier with no classifier call, when +two things hold: the scorer landed at or below `heuristic_first_max_tier`, and it produced at least +one signal. Everything else goes to the classifier, which then decides as it normally would. + +The signal requirement is what keeps this from quietly routing everything to your cheapest model. +A prompt where no dimension fires scores exactly 0.0, which is below `simple_medium`, so the score +to tier mapping calls it SIMPLE by default rather than by evidence. Around half of general traffic +scores that way. Those requests reach the classifier instead, which is the whole reason to configure +one. Note the converse too: the score is not a confidence, and a prompt that fires a single weak +signal and still lands under the boundary does short-circuit, so a lower threshold buys accuracy and +a higher one buys savings. + +`heuristic_first_max_tier` names a built-in tier and may not name the highest one, since that would +short-circuit everything and leave the classifier unreachable. Operator-defined tier sets +(`tier_definitions`) are not supported here, because the scorer only produces the built-in tiers. +When the classifier call fails, the fallback works exactly as it does under `classifier_type: llm`, +except that the heuristic outcome is the one already computed rather than a second scoring pass. + +Spend logs record `routing_decision.cause` as `heuristic_first_short_circuit` when the classifier +was skipped, and `llm_classifier` when it ran, so the two are told apart per request. + ### Reasoning Override If 2+ reasoning markers are detected in the user message, the request is promoted to the REASONING tier even when the weighted score maps lower, so complex reasoning tasks get the appropriate model. The promotion requires the score to reach `reasoning_override_min_score`, which tracks `tier_boundaries.simple_medium` unless set, so stock phrases on an otherwise trivial prompt cannot buy the top tier. Set it to `0` to promote on the markers alone. diff --git a/litellm/router_strategy/complexity_router/complexity_router.py b/litellm/router_strategy/complexity_router/complexity_router.py index 087c1f7278d..f1f791ba72e 100644 --- a/litellm/router_strategy/complexity_router/complexity_router.py +++ b/litellm/router_strategy/complexity_router/complexity_router.py @@ -719,6 +719,7 @@ class ClassificationOutcome(NamedTuple): "heuristic_scorer", "reasoning_override", "llm_classifier", + "heuristic_first_short_circuit", "classifier_plugin", "classifier_fallback", "default_model_fallback", @@ -859,7 +860,7 @@ class ComplexityRouter(CustomLogger): # Both are pure functions of the config, so building them per classifier call would # re-run create_model and the schema conversion on every request for the same result. - llm_classifier_configured: Final = self.config.classifier_type == "llm" and ( + llm_classifier_configured: Final = self.config.uses_llm_classifier and ( self.config.classifier_llm_config is not None ) self._classifier_system_prompt: str | None = ( @@ -1237,17 +1238,63 @@ class ComplexityRouter(CustomLogger): """ Classify a prompt by complexity, using the LLM classifier when configured. - Falls back to the local heuristic scorer if classifier_type is "heuristic". If the LLM call - or the classifier plugin fails, times out, or produces no usable tier, the configured - fallback_tier wins on a custom tier set, and classifier_fallback otherwise decides between - the heuristic scorer and default_model. The outcome's `cause` reports which path actually ran. + Falls back to the local heuristic scorer if classifier_type is "heuristic". Under + "heuristic_first" the scorer runs first and the classifier is called only for requests it + could not place at or below heuristic_first_max_tier. If the LLM call or the classifier + plugin fails, times out, or produces no usable tier, the configured fallback_tier wins on a + custom tier set, and classifier_fallback otherwise decides between the heuristic scorer and + default_model. The outcome's `cause` reports which path actually ran. """ if self.config.classifier_type == "custom": return await self._classify_with_plugin(prompt, system_prompt, request_kwargs, raw_messages) + if self.config.classifier_type == "heuristic_first" and self.config.classifier_llm_config is not None: + return await self._classify_heuristic_first(prompt, system_prompt, request_kwargs, messages) if self.config.classifier_type != "llm" or self.config.classifier_llm_config is None: tier, score, signals, cause = self._score_and_classify(prompt, system_prompt) return ClassificationOutcome(tier=tier, score=score, signals=signals, cause=cause) + return await self._llm_classifier_outcome(prompt, system_prompt, request_kwargs, messages) + async def _classify_heuristic_first( + self, + prompt: str, + system_prompt: str | None, + request_kwargs: dict[str, Any] | None, # mutable-ok: handed to _classify_with_llm as-is + messages: Sequence[Mapping[str, object]] | None, + ) -> ClassificationOutcome: + """Score locally, and only pay for the classifier call when the scorer did not confidently + place the request at or below heuristic_first_max_tier. + + Confidence is `signals`, not `score`. A prompt where no dimension fired scores exactly 0.0, + which is below simple_medium and so lands SIMPLE by default rather than by evidence, and a + threshold check alone would hand that traffic to the cheapest model without ever consulting + the classifier. Scores also go negative when simple indicators fire, so a score threshold + would reject exactly the trivial prompts this path exists to serve. + """ + tier, score, signals, cause = self._score_and_classify(prompt, system_prompt) + scored: Final = ClassificationOutcome(tier=tier, score=score, signals=signals, cause=cause) + threshold: Final = self.config.heuristic_first_max_tier + decided_cheaply: Final = ( + threshold is not None + and bool(signals) + and self._active_tier_severity(tier) <= self._active_tier_severity(threshold) + ) + if decided_cheaply: + return ClassificationOutcome(tier=tier, score=score, signals=signals, cause="heuristic_first_short_circuit") + return await self._llm_classifier_outcome(prompt, system_prompt, request_kwargs, messages, scored=scored) + + async def _llm_classifier_outcome( + self, + prompt: str, + system_prompt: str | None, + request_kwargs: dict[str, Any] | None, # mutable-ok: handed to _classify_with_llm as-is + messages: Sequence[Mapping[str, object]] | None, + scored: ClassificationOutcome | None = None, + ) -> ClassificationOutcome: + """Call the LLM classifier and turn its verdict, or its failure, into an outcome. + + `scored` is the heuristic outcome the caller already computed, which only "heuristic_first" + has. It is handed to the failure path so a classifier error does not re-run the scorer. + """ try: tier, classifier_cost = await self._classify_with_llm(prompt, system_prompt, request_kwargs, messages) return ClassificationOutcome( @@ -1258,11 +1305,20 @@ class ComplexityRouter(CustomLogger): classifier_cost=classifier_cost, ) except Exception as e: # noqa: BLE001 -- external LLM call can fail in many distinct ways (timeout, provider error, validation, parse error); any failure must fall back to the configured fallback path - return self._classifier_failure_outcome(f"LLM classifier failed ({e})", prompt, system_prompt) + return self._classifier_failure_outcome(f"LLM classifier failed ({e})", prompt, system_prompt, scored) - def _classifier_failure_outcome(self, reason: str, prompt: str, system_prompt: str | None) -> ClassificationOutcome: + def _classifier_failure_outcome( + self, + reason: str, + prompt: str, + system_prompt: str | None, + scored: ClassificationOutcome | None = None, + ) -> ClassificationOutcome: """The outcome when the LLM classifier or classifier plugin produced no usable tier: - fallback_tier on a custom tier set, classifier_fallback otherwise.""" + fallback_tier on a custom tier set, classifier_fallback otherwise. + + A caller that already scored the prompt passes `scored` so the heuristic arm returns that + verdict instead of running the same scan again on the request path.""" fallback_tier: Final = self.config.fallback_tier if fallback_tier is not None: verbose_router_logger.warning("ComplexityRouter: %s, routing to fallback_tier %s", reason, fallback_tier) @@ -1277,6 +1333,8 @@ class ComplexityRouter(CustomLogger): ) if self.config.classifier_fallback == "default_model": return self._default_model_fallback_outcome() + if scored is not None: + return scored tier, score, signals, cause = self._score_and_classify(prompt, system_prompt) return ClassificationOutcome(tier=tier, score=score, signals=signals, cause=cause) diff --git a/litellm/router_strategy/complexity_router/config.py b/litellm/router_strategy/complexity_router/config.py index 9907407d84d..2cc39f36db7 100644 --- a/litellm/router_strategy/complexity_router/config.py +++ b/litellm/router_strategy/complexity_router/config.py @@ -38,6 +38,11 @@ class ClassificationRubric(str, Enum): # routers get the calibrated rubric without changing what is already running. DEFAULT_CLASSIFICATION_RUBRIC: Final[ClassificationRubric] = ClassificationRubric.LEGACY +# The classifier_type values that can call classifier_llm_config.model. Every consumer asking +# "is the classifier model a real dependency of this router" resolves it here, including the ones +# that only hold the raw config mapping and cannot reach ComplexityRouterConfig.uses_llm_classifier. +LLM_CLASSIFIER_TYPES: Final[frozenset[str]] = frozenset({"llm", "heuristic_first"}) + TIER_SEVERITY_ORDER: Final[tuple[ComplexityTier, ...]] = ( ComplexityTier.SIMPLE, @@ -591,13 +596,30 @@ class ComplexityRouterConfig(BaseModel): ) # Classifier strategy - classifier_type: Literal["heuristic", "llm", "custom"] = Field( + classifier_type: Literal["heuristic", "llm", "custom", "heuristic_first"] = Field( default="heuristic", - description="Classification strategy: local regex/keyword scoring, an LLM call, or a custom classifier plugin", + description=( + "Classification strategy: local regex/keyword scoring, an LLM call, a custom classifier " + "plugin, or 'heuristic_first', which scores locally and only pays for the LLM classifier " + "when the local scorer does not confidently land a cheap tier" + ), ) classifier_llm_config: ClassifierLLMConfig | None = Field( default=None, - description="Configuration for the LLM classifier; required when classifier_type is 'llm'", + description="Configuration for the LLM classifier; required when classifier_type is 'llm' or 'heuristic_first'", + ) + heuristic_first_max_tier: str | None = Field( + default=None, + description=( + "The highest tier the local scorer may decide on its own; required when classifier_type is " + "'heuristic_first' and rejected otherwise. A request whose heuristic tier is at or below this " + "one skips the LLM classifier and routes straight to that heuristic tier, so the classifier " + "call is only paid for on traffic the scorer could not place cheaply. The scorer must also " + "have produced at least one signal: a prompt where no dimension fired scores 0.0 and would " + "otherwise land SIMPLE by default rather than by evidence, which is how a chained router " + "would silently send unclassified traffic to the cheapest model. Names a built-in tier, and " + "may not name the highest one, since that would make the LLM classifier unreachable." + ), ) classifier_plugin: ClassifierPlugin | None = Field( default=None, @@ -626,7 +648,7 @@ class ComplexityRouterConfig(BaseModel): "which is what a classifier on some other taxonomy wants: a prompt that grades data " "sensitivity has no use for a complexity score, and scoring one produces a tier unrelated to " "what the operator configured. Requires default_model when set to 'default_model'. Only " - "applies when classifier_type is 'llm' or 'custom'." + "applies when classifier_type is 'llm', 'custom', or 'heuristic_first'." ), ) @@ -936,8 +958,8 @@ class ComplexityRouterConfig(BaseModel): @model_validator(mode="after") def _validate_classifier_config(self) -> "ComplexityRouterConfig": - if self.classifier_type == "llm" and self.classifier_llm_config is None: - raise ValueError("classifier_llm_config is required when classifier_type is 'llm'") + if self.uses_llm_classifier and self.classifier_llm_config is None: + raise ValueError(f"classifier_llm_config is required when classifier_type is {self.classifier_type!r}") if self.classifier_type == "custom" and self.classifier_plugin is None: raise ValueError("classifier_plugin is required when classifier_type is 'custom'") if self.classifier_plugin is not None and self.classifier_type != "custom": @@ -947,6 +969,49 @@ class ComplexityRouterConfig(BaseModel): ) return self + @field_validator("heuristic_first_max_tier", mode="before") + @classmethod + def _coerce_heuristic_first_max_tier(cls, value: object) -> object: + if isinstance(value, ComplexityTier): + return value.value + if isinstance(value, str): + return value.strip() + return value + + @model_validator(mode="after") + def _validate_heuristic_first_max_tier(self) -> "ComplexityRouterConfig": + if self.classifier_type != "heuristic_first": + if self.heuristic_first_max_tier is not None: + raise ValueError( + f"heuristic_first_max_tier is set but classifier_type is {self.classifier_type!r}; " + "the local scorer would never gate the classifier. Set classifier_type " + "'heuristic_first' or remove heuristic_first_max_tier" + ) + return self + threshold: Final = self.heuristic_first_max_tier + if threshold is None: + raise ValueError( + "heuristic_first_max_tier is required when classifier_type is 'heuristic_first': without a " + "threshold there is nothing to decide whether a request escalates to the LLM classifier" + ) + names: Final = self.tier_names() + if threshold not in names: + raise ValueError( + f"heuristic_first_max_tier {threshold!r} is not an active tier: it must name one of {', '.join(names)}" + ) + if threshold == names[-1]: + raise ValueError( + f"heuristic_first_max_tier {threshold} is the highest tier, so every request would short-circuit " + "and the LLM classifier would never run; name a lower tier or use classifier_type 'heuristic'" + ) + if threshold not in self.tiers: + raise ValueError( + f"heuristic_first_max_tier {threshold} has no model configured in tiers; a threshold pointing at " + "an unconfigured tier would route short-circuited requests to the default fallback instead of the " + "pool the operator intended" + ) + return self + @field_validator("fallback_tier", "classification_prompt") @classmethod def _reject_blank_optional_text(cls, value: str | None) -> str | None: @@ -969,6 +1034,14 @@ class ComplexityRouterConfig(BaseModel): """True when the operator replaced the built-in tier set via tier_definitions.""" return self.tier_definitions is not None + @property + def uses_llm_classifier(self) -> bool: + """True when this router can call classifier_llm_config.model, so the model is a real + dependency: authorized against the caller's key, counted in the health graph, and given a + prebuilt rubric. 'heuristic_first' only calls it for traffic the local scorer escalates, + which still makes it a dependency on every one of those requests.""" + return self.classifier_type in LLM_CLASSIFIER_TYPES + def tier_names(self) -> tuple[str, ...]: """The active tier names: the defined names, or the built-in set in severity order.""" if self.tier_definitions is not None: @@ -1063,7 +1136,7 @@ class ComplexityRouterConfig(BaseModel): ) if duplicated: raise ValueError(f"tier_definitions names must be unique (case-insensitive): {', '.join(duplicated)}") - if self.classifier_type == "heuristic": + if self.classifier_type in ("heuristic", "heuristic_first"): raise ValueError( "tier_definitions requires classifier_type 'llm' or 'custom': the heuristic scorer only " "produces the built-in tiers" diff --git a/litellm/router_utils/auto_router_model_naming.py b/litellm/router_utils/auto_router_model_naming.py index 29c34057e52..9589d991691 100644 --- a/litellm/router_utils/auto_router_model_naming.py +++ b/litellm/router_utils/auto_router_model_naming.py @@ -15,6 +15,8 @@ from dataclasses import dataclass from types import MappingProxyType from typing import Final, Literal, TypeAlias +from litellm.router_strategy.complexity_router.config import LLM_CLASSIFIER_TYPES + AUTO_ROUTER_MODEL_PREFIX: Final = "auto_router/" StrategyRouterKind = Literal["semantic", "complexity", "adaptive", "quality"] @@ -144,7 +146,11 @@ def strategy_router_dependencies( dict.fromkeys( tuple(dep for tier in _mapping(complexity.get("tiers")).values() for dep in _pool(tier, "tier")) + _named(litellm_params.get("complexity_router_default_model"), "default") - + (_named(classifier.get("model"), "classifier") if complexity.get("classifier_type") == "llm" else ()) + + ( + _named(classifier.get("model"), "classifier") + if complexity.get("classifier_type") in LLM_CLASSIFIER_TYPES + else () + ) + ( _named(complexity.get("embedding_model"), "embedding") if complexity.get("semantic_keyword_matching") diff --git a/litellm/types/utils.py b/litellm/types/utils.py index 6e245b0742e..58103b84749 100644 --- a/litellm/types/utils.py +++ b/litellm/types/utils.py @@ -2808,6 +2808,12 @@ RoutingDecisionCause = Literal[ # meant anything that filtered `signals` silently changed what the row claimed. "reasoning_override", "llm_classifier", + # classifier_type 'heuristic_first': the local scorer produced at least one signal and landed at + # or below heuristic_first_max_tier, so it decided the tier and the LLM classifier was never + # called. Distinct from "heuristic_scorer", which is a router whose only classifier IS the + # scorer, and from "classifier_fallback", which is the scorer running because a call failed: + # only this cause means an LLM classifier was configured, reachable, and deliberately skipped. + "heuristic_first_short_circuit", # The operator's classifier plugin (classifier_type 'custom') decided the tier. "classifier_plugin", # The LLM classifier or classifier plugin failed on a router with an operator-defined diff --git a/tests/test_litellm/router_strategy/test_complexity_router.py b/tests/test_litellm/router_strategy/test_complexity_router.py index a29b4d03bc5..9216bb33314 100644 --- a/tests/test_litellm/router_strategy/test_complexity_router.py +++ b/tests/test_litellm/router_strategy/test_complexity_router.py @@ -1810,9 +1810,7 @@ class TestLLMClassifier: "request_kwargs", [ pytest.param({"metadata": {"user_api_key": "sk-abc"}}, id="metadata-bucket"), - pytest.param( - {"litellm_metadata": {"user_api_key": "sk-abc"}}, id="litellm-metadata-bucket" - ), + pytest.param({"litellm_metadata": {"user_api_key": "sk-abc"}}, id="litellm-metadata-bucket"), pytest.param({}, id="no-caller-context"), pytest.param(None, id="no-request-kwargs"), ], @@ -6044,7 +6042,8 @@ class TestContextAwareClassifier: turn = ( "We run a multi-region gateway and last night the eu-west pod returned 502s on the " "streaming path only, for thirty minutes, while non-streaming stayed healthy the whole " - "window and the cooldown map was mid-failover. " + "Filler sentence to push past the cap. " * 4 + "window and the cooldown map was mid-failover. " + + "Filler sentence to push past the cap. " * 4 + "Now rewrite the streaming retry path and prove it cannot livelock." ) @@ -8889,3 +8888,210 @@ async def test_session_pin_survives_json_list_round_trip(mock_router_instance): assert response.model == "shared" assert response.litellm_params == {"reasoning_effort": "low"} assert cache.async_set_cache.call_args.kwargs["value"] == {"model": "shared", "tier": "SIMPLE"} + + +HEURISTIC_FIRST_TIERS: dict[str, str] = { + "SIMPLE": "gpt-4o-mini", + "MEDIUM": "gpt-4o", + "COMPLEX": "claude-sonnet-4-20250514", + "REASONING": "o1-preview", +} + +# The scorer maps a weighted score to a tier against these, and PR #37910 is retuning the shipped +# defaults, so every heuristic_first test pins them rather than inheriting DEFAULT_TIER_BOUNDARIES. +HEURISTIC_FIRST_BOUNDARIES: dict[str, float] = { + "simple_medium": 0.15, + "medium_complex": 0.35, + "complex_reasoning": 0.60, +} + +# Scores 0.0 with an empty signals tuple: no dimension fires, so the scorer has no opinion and the +# score-to-tier mapping lands SIMPLE purely by default. This is the population the permutation +# control measured at ~zero information, and the prompt that must always escalate. +NO_SIGNAL_PROMPT = ( + "A distributed ledger must guarantee linearizability across five regions while tolerating one " + "region partition and bounded clock skew. Derive the minimum quorum configuration and prove why " + "a smaller quorum violates linearizability." +) + + +def _heuristic_first_router(mock_router_instance, **config_overrides): + config = { + "tiers": dict(HEURISTIC_FIRST_TIERS), + "tier_boundaries": dict(HEURISTIC_FIRST_BOUNDARIES), + "classifier_type": "heuristic_first", + "heuristic_first_max_tier": "SIMPLE", + "classifier_llm_config": {"model": "haiku-classifier", "timeout_ms": 400}, + **config_overrides, + } + return ComplexityRouter( + model_name="test-complexity-router", + litellm_router_instance=mock_router_instance, + complexity_router_config=config, + ) + + +class TestHeuristicFirstConfig: + """Config validation for classifier_type='heuristic_first'.""" + + @pytest.mark.parametrize( + "overrides, expected", + [ + ({"classifier_llm_config": None}, "classifier_llm_config is required"), + ({"heuristic_first_max_tier": None}, "heuristic_first_max_tier is required"), + ({"heuristic_first_max_tier": "REASONING"}, "is the highest tier"), + ({"heuristic_first_max_tier": "NOPE"}, "is not an active tier"), + ( + { + "tiers": {"SIMPLE": "gpt-4o-mini", "COMPLEX": "c", "REASONING": "r"}, + "heuristic_first_max_tier": "MEDIUM", + }, + "has no model configured in tiers", + ), + ], + ) + def test_rejects_incoherent_config(self, overrides, expected): + config = { + "tiers": dict(HEURISTIC_FIRST_TIERS), + "classifier_type": "heuristic_first", + "heuristic_first_max_tier": "SIMPLE", + "classifier_llm_config": {"model": "haiku-classifier"}, + **overrides, + } + with pytest.raises(ValidationError, match=expected): + ComplexityRouterConfig(**config) + + @pytest.mark.parametrize("classifier_type", ["heuristic", "llm", "custom"]) + def test_threshold_rejected_on_every_other_classifier_type(self, classifier_type): + """A threshold on a router with no heuristic gate is a silent no-op, so it is refused + rather than accepted and ignored.""" + config: dict[str, object] = { + "tiers": dict(HEURISTIC_FIRST_TIERS), + "classifier_type": classifier_type, + "heuristic_first_max_tier": "SIMPLE", + } + if classifier_type == "llm": + config["classifier_llm_config"] = {"model": "haiku-classifier"} + if classifier_type == "custom": + config["classifier_plugin"] = _FixedTierClassifier("SIMPLE") + with pytest.raises(ValidationError, match="heuristic_first_max_tier is set but classifier_type"): + ComplexityRouterConfig(**config) + + def test_custom_tier_set_is_rejected(self): + """The scorer only emits the four built-in tiers, so it cannot gate a replaced tier set.""" + with pytest.raises(ValidationError, match="tier_definitions requires classifier_type"): + ComplexityRouterConfig( + classifier_type="heuristic_first", + heuristic_first_max_tier="lo", + classifier_llm_config={"model": "haiku-classifier"}, + tier_definitions=[{"name": "lo", "description": "x"}, {"name": "hi", "description": "y"}], + tiers={"lo": "gpt-4o-mini", "hi": "gpt-4o"}, + ) + + def test_classifier_model_is_a_dependency(self): + """uses_llm_classifier is what tells the health graph and the routing-test authorizer that + the classifier model is really called, so heuristic_first must answer True.""" + config = ComplexityRouterConfig( + tiers=dict(HEURISTIC_FIRST_TIERS), + classifier_type="heuristic_first", + heuristic_first_max_tier="SIMPLE", + classifier_llm_config={"model": "haiku-classifier"}, + ) + assert config.uses_llm_classifier is True + assert ComplexityRouterConfig(tiers=dict(HEURISTIC_FIRST_TIERS)).uses_llm_classifier is False + + +class TestHeuristicFirst: + """Behavior of the heuristic-first chain: when the classifier call is skipped, and when it is not.""" + + @pytest.mark.asyncio + async def test_signalled_cheap_prompt_short_circuits(self, mock_router_instance): + """A prompt the scorer actually placed at or below the threshold must not reach the LLM.""" + mock_router_instance.acompletion = AsyncMock() + router = _heuristic_first_router(mock_router_instance) + outcome = await router.aclassify("thanks so much, appreciate it") + mock_router_instance.acompletion.assert_not_called() + assert outcome.tier == ComplexityTier.SIMPLE + assert outcome.cause == "heuristic_first_short_circuit" + assert outcome.score is not None + assert outcome.signals + assert outcome.classifier_cost is None + + @pytest.mark.asyncio + async def test_no_signal_prompt_escalates_even_though_it_scores_simple(self, mock_router_instance): + """The core guard. This prompt scores 0.0 and the mapping calls it SIMPLE, which is at the + threshold, so a bare tier comparison would short-circuit it to the cheapest model. No + dimension fired, so the scorer has no opinion and the classifier must decide.""" + mock_router_instance.acompletion = AsyncMock(return_value=_llm_response('{"tier": "COMPLEX"}')) + router = _heuristic_first_router(mock_router_instance) + + tier, score, signals, _cause = router._score_and_classify(NO_SIGNAL_PROMPT) + assert (tier, score, signals) == (ComplexityTier.SIMPLE, 0.0, ()) + + outcome = await router.aclassify(NO_SIGNAL_PROMPT) + mock_router_instance.acompletion.assert_awaited_once() + assert outcome.tier == ComplexityTier.COMPLEX + assert outcome.cause == "llm_classifier" + + @pytest.mark.asyncio + async def test_signalled_prompt_above_threshold_escalates(self, mock_router_instance): + """The scorer had an opinion, but it was above the threshold, so the classifier decides.""" + mock_router_instance.acompletion = AsyncMock(return_value=_llm_response('{"tier": "REASONING"}')) + router = _heuristic_first_router(mock_router_instance) + + tier, _score, signals, _cause = router._score_and_classify("write a python function to reverse a string") + assert tier == ComplexityTier.MEDIUM and signals + + outcome = await router.aclassify("write a python function to reverse a string") + mock_router_instance.acompletion.assert_awaited_once() + assert outcome.tier == ComplexityTier.REASONING + assert outcome.cause == "llm_classifier" + + @pytest.mark.asyncio + async def test_raising_threshold_short_circuits_what_it_previously_escalated(self, mock_router_instance): + """The threshold is the knob: the same signalled MEDIUM prompt escalates at SIMPLE and + short-circuits at MEDIUM.""" + mock_router_instance.acompletion = AsyncMock(return_value=_llm_response('{"tier": "REASONING"}')) + router = _heuristic_first_router(mock_router_instance, heuristic_first_max_tier="MEDIUM") + outcome = await router.aclassify("write a python function to reverse a string") + mock_router_instance.acompletion.assert_not_called() + assert outcome.tier == ComplexityTier.MEDIUM + assert outcome.cause == "heuristic_first_short_circuit" + + @pytest.mark.asyncio + async def test_reasoning_override_never_short_circuits(self, mock_router_instance): + """A reasoning-override prompt lands REASONING, which outranks every legal threshold, so it + always reaches the classifier.""" + mock_router_instance.acompletion = AsyncMock(return_value=_llm_response('{"tier": "MEDIUM"}')) + router = _heuristic_first_router(mock_router_instance, heuristic_first_max_tier="COMPLEX") + outcome = await router.aclassify( + "think step by step and analyze the tradeoffs, then reason through the consequences carefully" + ) + mock_router_instance.acompletion.assert_awaited_once() + assert outcome.cause == "llm_classifier" + + @pytest.mark.asyncio + async def test_classifier_failure_falls_back_to_the_scorer(self, mock_router_instance): + """An escalated request whose classifier call fails still gets the scorer's own verdict, + the same way classifier_type='llm' does, rather than erroring out.""" + mock_router_instance.acompletion = AsyncMock(side_effect=RuntimeError("classifier exploded")) + router = _heuristic_first_router(mock_router_instance) + expected_tier, expected_score, expected_signals, _cause = router._score_and_classify(NO_SIGNAL_PROMPT) + + outcome = await router.aclassify(NO_SIGNAL_PROMPT) + + assert outcome.tier == expected_tier + assert outcome.score == expected_score + assert outcome.signals == expected_signals + assert outcome.cause == "heuristic_scorer" + + @pytest.mark.asyncio + async def test_classifier_failure_honors_default_model_fallback(self, mock_router_instance): + """classifier_fallback='default_model' still wins over the heuristic outcome, same as it + does for classifier_type='llm'.""" + mock_router_instance.acompletion = AsyncMock(side_effect=RuntimeError("classifier exploded")) + router = _heuristic_first_router( + mock_router_instance, classifier_fallback="default_model", default_model="gpt-4o" + ) + outcome = await router.aclassify(NO_SIGNAL_PROMPT) + assert outcome.cause == "default_model_fallback" diff --git a/ui/litellm-dashboard/src/app/(dashboard)/models-and-endpoints/components/AutoRouters/autoRouterRows.ts b/ui/litellm-dashboard/src/app/(dashboard)/models-and-endpoints/components/AutoRouters/autoRouterRows.ts index 35172d67e84..a8111ddb02d 100644 --- a/ui/litellm-dashboard/src/app/(dashboard)/models-and-endpoints/components/AutoRouters/autoRouterRows.ts +++ b/ui/litellm-dashboard/src/app/(dashboard)/models-and-endpoints/components/AutoRouters/autoRouterRows.ts @@ -54,8 +54,14 @@ const asStringArray = (value: unknown): string[] => const dedupe = (models: string[]): string[] => Array.from(new Set(models)); +const COMPLEXITY_TYPE_LABELS: Record = { + llm: "LLM Classifier", + heuristic_first: "Heuristic first", + custom: "Custom classifier", +}; + export const complexityTypeLabel = (config: Record): string => - config.classifier_type === "llm" ? "LLM Classifier" : "Heuristic"; + (typeof config.classifier_type === "string" && COMPLEXITY_TYPE_LABELS[config.classifier_type]) || "Heuristic"; interface Presentation { typeLabel: string; diff --git a/ui/litellm-dashboard/src/components/add_model/ClassificationMethodConfig.tsx b/ui/litellm-dashboard/src/components/add_model/ClassificationMethodConfig.tsx index c3fc23034f1..86245a83fbb 100644 --- a/ui/litellm-dashboard/src/components/add_model/ClassificationMethodConfig.tsx +++ b/ui/litellm-dashboard/src/components/add_model/ClassificationMethodConfig.tsx @@ -27,6 +27,9 @@ import { CLASSIFICATION_RUBRIC_KEYS, ClassificationRubric, effectiveTierLabel, + usesLlmClassifier, + DEFAULT_HEURISTIC_FIRST_MAX_TIER, + HEURISTIC_FIRST_MAX_TIER_KEYS, } from "./ComplexityRouterConfig"; const DEFAULT_SCORING_EXPLANATION = @@ -49,7 +52,7 @@ const CUSTOM_PROMPT_WITH_DEFAULT_MODEL_FALLBACK = */ const scoringExplanation = (value: ComplexityRouterConfigValue): string => { const usesCustomPrompt = - value.classifier_type === "llm" && Boolean(value.classifier_llm_config?.system_prompt?.trim()); + usesLlmClassifier(value.classifier_type) && Boolean(value.classifier_llm_config?.system_prompt?.trim()); if (!usesCustomPrompt) return DEFAULT_SCORING_EXPLANATION; return value.classifier_fallback === "default_model" ? CUSTOM_PROMPT_WITH_DEFAULT_MODEL_FALLBACK @@ -148,7 +151,7 @@ const ClassificationMethodConfig: React.FC = ({ }) => { const hasDefaultModel = Boolean(defaultModel); const classifierModelMissing = - showValidationErrors && value.classifier_type === "llm" && !value.classifier_llm_config?.model; + showValidationErrors && usesLlmClassifier(value.classifier_type) && !value.classifier_llm_config?.model; const usesCustomPrompt = Boolean(value.classifier_llm_config?.system_prompt?.trim()); const contextBudget = value.classifier_context_budget_chars ?? DEFAULT_CLASSIFIER_CONTEXT_BUDGET_CHARS; const contextBudgetQuotesNothing = contextBudget > 0 && contextBudget < MIN_QUOTED_CONTEXT_TURN_CHARS; @@ -158,29 +161,35 @@ const ClassificationMethodConfig: React.FC = ({ const nextValue: ComplexityRouterConfigValue = { ...value, classifier_type: classifierType, - classifier_llm_config: - classifierType === "llm" - ? value.classifier_llm_config ?? { - model: "", - timeout_ms: DEFAULT_CLASSIFIER_TIMEOUT_MS, - classification_rubric: NEW_CLASSIFIER_CLASSIFICATION_RUBRIC, - } + classifier_llm_config: usesLlmClassifier(classifierType) + ? value.classifier_llm_config ?? { + model: "", + timeout_ms: DEFAULT_CLASSIFIER_TIMEOUT_MS, + classification_rubric: NEW_CLASSIFIER_CLASSIFICATION_RUBRIC, + } + : undefined, + classifier_context_window_size: usesLlmClassifier(classifierType) + ? value.classifier_context_window_size ?? DEFAULT_CLASSIFIER_CONTEXT_WINDOW_SIZE + : undefined, + classifier_context_budget_chars: usesLlmClassifier(classifierType) + ? value.classifier_context_budget_chars ?? DEFAULT_CLASSIFIER_CONTEXT_BUDGET_CHARS + : undefined, + classifier_context_include_assistant_turns: usesLlmClassifier(classifierType) + ? value.classifier_context_include_assistant_turns + : undefined, + classifier_fallback: usesLlmClassifier(classifierType) ? value.classifier_fallback : undefined, + heuristic_first_max_tier: + classifierType === "heuristic_first" + ? value.heuristic_first_max_tier ?? DEFAULT_HEURISTIC_FIRST_MAX_TIER : undefined, - classifier_context_window_size: - classifierType === "llm" - ? value.classifier_context_window_size ?? DEFAULT_CLASSIFIER_CONTEXT_WINDOW_SIZE - : undefined, - classifier_context_budget_chars: - classifierType === "llm" - ? value.classifier_context_budget_chars ?? DEFAULT_CLASSIFIER_CONTEXT_BUDGET_CHARS - : undefined, - classifier_context_include_assistant_turns: - classifierType === "llm" ? value.classifier_context_include_assistant_turns : undefined, - classifier_fallback: classifierType === "llm" ? value.classifier_fallback : undefined, }; onChange(nextValue); }; + const handleHeuristicFirstMaxTierChange = (tier: string) => { + onChange({ ...value, heuristic_first_max_tier: tier }); + }; + const handleClassifierModelChange = (model: string) => { onChange({ ...value, @@ -265,7 +274,7 @@ const ClassificationMethodConfig: React.FC = ({ Heuristic{" "} - (default) — rule-based scoring, no API calls, <1ms latency + (default), rule-based scoring with no API calls and <1ms latency @@ -273,13 +282,47 @@ const ClassificationMethodConfig: React.FC = ({ LLM Classifier{" "} - — use a model to decide the tier (e.g. a small/fast model) + calls a model to decide the tier (e.g. a small/fast model) + + + - {value.classifier_type === "llm" && ( + {value.classifier_type === "heuristic_first" && ( +
+ Decide locally up to + +

+ A request the scorer places at or below this tier routes there without a classifier call. Anything the + scorer places higher, and anything it found no signal for at all, goes to the classifier instead +

+
+ )} + + {usesLlmClassifier(value.classifier_type) && (
Classifier Model diff --git a/ui/litellm-dashboard/src/components/add_model/ComplexityRouterConfig.tsx b/ui/litellm-dashboard/src/components/add_model/ComplexityRouterConfig.tsx index 71bce0b254c..de6c9cd72fb 100644 --- a/ui/litellm-dashboard/src/components/add_model/ComplexityRouterConfig.tsx +++ b/ui/litellm-dashboard/src/components/add_model/ComplexityRouterConfig.tsx @@ -95,7 +95,15 @@ export interface ClassifierLLMConfig { system_prompt?: string; } -export type ClassifierType = "heuristic" | "llm"; +export type ClassifierType = "heuristic" | "llm" | "heuristic_first"; + +/** + * Whether this router can call classifier_llm_config.model. Mirrors the backend's + * ComplexityRouterConfig.uses_llm_classifier, and is the single gate for every classifier-only + * control and payload key, so a new chaining type cannot strip knobs the operator set. + */ +export const usesLlmClassifier = (classifierType: ClassifierType): boolean => + classifierType === "llm" || classifierType === "heuristic_first"; export type ClassifierFallback = "heuristic" | "default_model"; @@ -113,13 +121,14 @@ export type HeuristicScoringRole = "decides" | "fallback_only" | "never"; /** * Whether the heuristic scorer runs on this router at all, which is what gates its knobs. An LLM * classifier still falls back to the scorer unless the fallback is the default model, so the gate cannot be - * a plain classifier_type check. + * a plain classifier_type check. Under heuristic_first the scorer runs first on every request and + * decides outright whenever it lands at or below the threshold. */ export const heuristicScoringRoleFor = ( classifierType: ClassifierType, classifierFallback: ClassifierFallback | undefined, ): HeuristicScoringRole => { - if (classifierType === "heuristic") return "decides"; + if (classifierType === "heuristic" || classifierType === "heuristic_first") return "decides"; return (classifierFallback ?? DEFAULT_CLASSIFIER_FALLBACK) === "heuristic" ? "fallback_only" : "never"; }; @@ -142,6 +151,8 @@ export interface ComplexityRouterConfigValue { classifier_context_per_turn_chars?: number; classifier_context_include_assistant_turns?: boolean; classifier_fallback?: ClassifierFallback; + /** Highest tier the scorer may decide alone under heuristic_first. Required by that type, rejected by the others. */ + heuristic_first_max_tier?: string; session_affinity?: boolean; deployment_affinity?: boolean; /** Tier floor for coding-agent plan-mode requests. Unset means detection is off, matching the backend. */ @@ -223,6 +234,14 @@ export const TIER_KEYS = Object.keys(TIER_DESCRIPTIONS) as Array tierLabels?.[tier]?.trim() || TIER_DESCRIPTIONS[tier].label; +export const DEFAULT_HEURISTIC_FIRST_MAX_TIER = "SIMPLE"; + +/** + * Tiers the heuristic_first threshold may name. The top tier is excluded because it would short + * circuit every request and leave the classifier unreachable, which the backend rejects. + */ +export const HEURISTIC_FIRST_MAX_TIER_KEYS = TIER_KEYS.slice(0, -1); + const ComplexityRouterConfig: React.FC = ({ modelInfo, value, @@ -314,7 +333,7 @@ const ComplexityRouterConfig: React.FC = ({ Rename a tier to use your own vocabulary in the dashboard and your spend logs. Renaming doesn't change how requests are classified, and callers never see these names. - {value.classifier_type === "llm" && + {usesLlmClassifier(value.classifier_type) && " Your classifier model reads these names, so clearer ones can sharpen its choices."} diff --git a/ui/litellm-dashboard/src/components/add_model/add_auto_router_tab.tsx b/ui/litellm-dashboard/src/components/add_model/add_auto_router_tab.tsx index be4c09dcd22..4b58a2085a8 100644 --- a/ui/litellm-dashboard/src/components/add_model/add_auto_router_tab.tsx +++ b/ui/litellm-dashboard/src/components/add_model/add_auto_router_tab.tsx @@ -344,6 +344,7 @@ const AddAutoRouterTab: React.FC = ({ tiers: complexityRouterConfig.tiers, defaultModel: complexityRouterConfig.default_model, planModeMinTier: complexityRouterConfig.plan_mode_min_tier, + heuristicFirstMaxTier: complexityRouterConfig.heuristic_first_max_tier, tierLabels: complexityRouterConfig.tier_labels, classifierType: complexityRouterConfig.classifier_type, classifierLlmConfig: complexityRouterConfig.classifier_llm_config, diff --git a/ui/litellm-dashboard/src/components/add_model/build_complexity_router_config.test.ts b/ui/litellm-dashboard/src/components/add_model/build_complexity_router_config.test.ts index d85bc596bc7..b780234ad93 100644 --- a/ui/litellm-dashboard/src/components/add_model/build_complexity_router_config.test.ts +++ b/ui/litellm-dashboard/src/components/add_model/build_complexity_router_config.test.ts @@ -726,3 +726,36 @@ describe("getKeywordTierRulesError orphaned tiers", () => { ); }); }); + +describe("heuristic_first", () => { + const heuristicFirstParams: BuildComplexityRouterConfigParams = { + ...baseParams, + classifierType: "heuristic_first", + heuristicFirstMaxTier: "SIMPLE", + classifierLlmConfig: { model: "gpt-4o-mini", timeout_ms: 3000 }, + classifierContextWindowSize: 5, + classifierContextBudgetChars: 4000, + classifierFallback: "default_model", + }; + + it("emits heuristic_first_max_tier", () => { + const config = buildComplexityRouterConfig(heuristicFirstParams); + expect(config.classifier_type).toBe("heuristic_first"); + expect(config.heuristic_first_max_tier).toBe("SIMPLE"); + }); + + it("keeps every classifier key the operator set, since heuristic_first still calls the classifier", () => { + const config = buildComplexityRouterConfig(heuristicFirstParams); + expect(config.classifier_llm_config).toEqual({ model: "gpt-4o-mini", timeout_ms: 3000 }); + expect(config.classifier_context_window_size).toBe(5); + expect(config.classifier_context_budget_chars).toBe(4000); + expect(config.classifier_fallback).toBe("default_model"); + }); + + it("omits heuristic_first_max_tier on every other classifier type, which the backend rejects it on", () => { + for (const classifierType of ["heuristic", "llm"] as const) { + const config = buildComplexityRouterConfig({ ...heuristicFirstParams, classifierType }); + expect(config.heuristic_first_max_tier).toBeUndefined(); + } + }); +}); diff --git a/ui/litellm-dashboard/src/components/add_model/build_complexity_router_config.ts b/ui/litellm-dashboard/src/components/add_model/build_complexity_router_config.ts index 9db569cb4e9..66d5e9abead 100644 --- a/ui/litellm-dashboard/src/components/add_model/build_complexity_router_config.ts +++ b/ui/litellm-dashboard/src/components/add_model/build_complexity_router_config.ts @@ -18,6 +18,7 @@ import { TokenThresholds, effectiveTierLabel, heuristicScoringRoleFor, + usesLlmClassifier, } from "./ComplexityRouterConfig"; /** @@ -86,6 +87,7 @@ export interface BuildComplexityRouterConfigParams { classifierContextBudgetChars: number | undefined; classifierContextIncludeAssistantTurns: boolean | undefined; classifierFallback: ClassifierFallback | undefined; + heuristicFirstMaxTier: string | undefined; sessionAffinity: boolean; deploymentAffinity: boolean; customTechnicalKeywords: string[]; @@ -118,6 +120,7 @@ export interface ComplexityRouterConfigPayload { classifier_context_per_turn_chars?: number; classifier_context_include_assistant_turns?: boolean; classifier_fallback?: ClassifierFallback; + heuristic_first_max_tier?: string; session_affinity: boolean; deployment_affinity: boolean; custom_technical_keywords?: string[]; @@ -208,7 +211,7 @@ export const getKeywordTierRulesError = ( export const getClassifierModelError = ( config: Pick, ): string | null => - config.classifier_type === "llm" && !config.classifier_llm_config?.model + usesLlmClassifier(config.classifier_type) && !config.classifier_llm_config?.model ? "Please select a classifier model, or switch back to Heuristic" : null; @@ -236,6 +239,7 @@ export const buildComplexityRouterConfig = ({ classifierContextBudgetChars, classifierContextIncludeAssistantTurns, classifierFallback, + heuristicFirstMaxTier, sessionAffinity, deploymentAffinity, customTechnicalKeywords, @@ -276,18 +280,21 @@ export const buildComplexityRouterConfig = ({ ...(planModeMinTier?.trim() && { plan_mode_min_tier: planModeMinTier }), ...(cleanedTierLabels && { tier_labels: cleanedTierLabels }), classifier_type: classifierType, - ...(classifierType === "llm" && + ...(usesLlmClassifier(classifierType) && classifierLlmConfig && { classifier_llm_config: normalizeClassifierLlmConfig(classifierLlmConfig) }), - ...(classifierType === "llm" && classifierFallback !== undefined && { classifier_fallback: classifierFallback }), - ...(classifierType === "llm" && + ...(usesLlmClassifier(classifierType) && + classifierFallback !== undefined && { classifier_fallback: classifierFallback }), + ...(classifierType === "heuristic_first" && + heuristicFirstMaxTier?.trim() && { heuristic_first_max_tier: heuristicFirstMaxTier }), + ...(usesLlmClassifier(classifierType) && classifierContextWindowSize !== undefined && { classifier_context_window_size: classifierContextWindowSize, }), - ...(classifierType === "llm" && + ...(usesLlmClassifier(classifierType) && classifierContextBudgetChars !== undefined && { classifier_context_budget_chars: classifierContextBudgetChars, }), - ...(classifierType === "llm" && + ...(usesLlmClassifier(classifierType) && classifierContextIncludeAssistantTurns !== undefined && { classifier_context_include_assistant_turns: classifierContextIncludeAssistantTurns, }), diff --git a/ui/litellm-dashboard/src/components/edit_auto_router/build_updated_complexity_router_config.test.ts b/ui/litellm-dashboard/src/components/edit_auto_router/build_updated_complexity_router_config.test.ts index 1a8f5f34909..468ba6baae7 100644 --- a/ui/litellm-dashboard/src/components/edit_auto_router/build_updated_complexity_router_config.test.ts +++ b/ui/litellm-dashboard/src/components/edit_auto_router/build_updated_complexity_router_config.test.ts @@ -1,6 +1,11 @@ import { describe, expect, it } from "vitest"; -import { buildUpdatedComplexityRouterConfig, type KeywordMatchingState } from "./edit_auto_router_modal"; +import { + MANAGED_COMPLEXITY_ROUTER_KEYS, + buildUpdatedComplexityRouterConfig, + hydrateComplexityRouterConfig, + type KeywordMatchingState, +} from "./edit_auto_router_modal"; const STORED = { tiers: { SIMPLE: ["gpt-4o-mini"], MEDIUM: [], COMPLEX: [], REASONING: [] }, @@ -440,3 +445,48 @@ describe("buildUpdatedComplexityRouterConfig tier model params", () => { expect(result).not.toHaveProperty("tier_model_configs"); }); }); + +describe("managed keys survive an untouched open-and-save", () => { + // Every managed key is rewritten from form state on save, so one the hydrator forgets is silently + // dropped from the saved config. This config sets each managed key to a value that actually + // applies, so an untouched open-and-save must return every one of them. + const STORED_ALL_MANAGED: Record = { + tiers: { SIMPLE: ["gpt-4o-mini"], MEDIUM: ["gpt-4o"], COMPLEX: ["opus"], REASONING: ["o1"] }, + tier_model_configs: { REASONING: [{ model_name: "o1", litellm_params: { reasoning_effort: "high" } }] }, + default_model: "gpt-4o", + plan_mode_min_tier: "COMPLEX", + tier_labels: { SIMPLE: "Cheap" }, + classifier_type: "heuristic_first", + heuristic_first_max_tier: "SIMPLE", + classifier_llm_config: { model: "gpt-4o-mini", timeout_ms: 3000 }, + classifier_context_window_size: 5, + classifier_context_budget_chars: 4000, + classifier_context_include_assistant_turns: true, + classifier_fallback: "default_model", + session_affinity: true, + deployment_affinity: false, + adaptive: true, + adaptive_weights: { quality: 0.4, cost: 0.6 }, + tier_distance_penalty: 0.25, + adaptive_eligible: "all", + return_raw_model_name: true, + tier_boundaries: { simple_medium: 0.2, medium_complex: 0.4, complex_reasoning: 0.7 }, + token_thresholds: { simple: 20, complex: 500 }, + dimension_weights: { tokenCount: 0.1 }, + reasoning_override_min_score: 0.3, + }; + + it("carries every managed key through hydrate then save", () => { + const hydrated = hydrateComplexityRouterConfig(STORED_ALL_MANAGED, undefined); + const saved = buildUpdatedComplexityRouterConfig(STORED_ALL_MANAGED, hydrated); + + const dropped = [...MANAGED_COMPLEXITY_ROUTER_KEYS].filter((key) => saved[key] === undefined); + expect(dropped).toEqual([]); + }); + + it("round-trips the heuristic_first threshold, which save requires and the backend rejects without", () => { + const hydrated = hydrateComplexityRouterConfig(STORED_ALL_MANAGED, undefined); + expect(hydrated.heuristic_first_max_tier).toBe("SIMPLE"); + expect(buildUpdatedComplexityRouterConfig(STORED_ALL_MANAGED, hydrated).heuristic_first_max_tier).toBe("SIMPLE"); + }); +}); diff --git a/ui/litellm-dashboard/src/components/edit_auto_router/edit_auto_router_modal.tsx b/ui/litellm-dashboard/src/components/edit_auto_router/edit_auto_router_modal.tsx index 4d7d33fa45a..22c64501ff7 100644 --- a/ui/litellm-dashboard/src/components/edit_auto_router/edit_auto_router_modal.tsx +++ b/ui/litellm-dashboard/src/components/edit_auto_router/edit_auto_router_modal.tsx @@ -37,6 +37,10 @@ import { hydrateTokenThresholds, } from "../add_model/heuristic_scoring_knobs"; import ComplexityRouterConfig, { + AdaptiveEligible, + AdaptiveRouterWeights, + ClassifierLLMConfig, + ClassifierType, ComplexityRouterConfigValue, ComplexityTiers, DEFAULT_ADAPTIVE_WEIGHTS, @@ -65,7 +69,101 @@ interface EditAutoRouterModalProps { // Keys this modal rewrites from its own form state on save. Anything absent from this set is // carried through untouched from the stored config, so a key only belongs here once the modal // actually renders a control that can set it. -const MANAGED_COMPLEXITY_ROUTER_KEYS = new Set([ +/** The complexity_router_config as it comes back from the proxy, before any hydration. Fields the + * hydrators validate themselves stay `unknown`; the ones assigned straight through carry their type. */ +export interface StoredComplexityRouterConfig { + tiers?: Partial>; + tier_model_configs?: unknown; + default_model?: string | null; + plan_mode_min_tier?: unknown; + heuristic_first_max_tier?: unknown; + tier_labels?: unknown; + classifier_type?: ClassifierType; + classifier_llm_config?: ClassifierLLMConfig; + classifier_context_window_size?: unknown; + classifier_context_budget_chars?: unknown; + classifier_context_include_assistant_turns?: unknown; + classifier_fallback?: unknown; + tier_boundaries?: unknown; + token_thresholds?: unknown; + dimension_weights?: unknown; + reasoning_override_min_score?: unknown; + session_affinity?: unknown; + deployment_affinity?: unknown; + adaptive?: boolean; + adaptive_weights?: AdaptiveRouterWeights; + tier_distance_penalty?: number; + adaptive_eligible?: AdaptiveEligible; + return_raw_model_name?: boolean; +} + +/** + * The stored complexity_router_config as form state. Every key in MANAGED_COMPLEXITY_ROUTER_KEYS is + * rewritten from this state on save, so a key missing here is silently dropped from the saved config. + */ +export const hydrateComplexityRouterConfig = ( + parsedConfig: StoredComplexityRouterConfig, + complexityRouterDefaultModel: string | null | undefined, +): ComplexityRouterConfigValue => { + const hydratedTiers: ComplexityTiers = { + SIMPLE: normalizeTierModels(parsedConfig.tiers?.SIMPLE), + MEDIUM: normalizeTierModels(parsedConfig.tiers?.MEDIUM), + COMPLEX: normalizeTierModels(parsedConfig.tiers?.COMPLEX), + REASONING: normalizeTierModels(parsedConfig.tiers?.REASONING), + }; + + return { + tiers: hydratedTiers, + tier_model_params: hydrateTierModelParams(parsedConfig.tiers, parsedConfig.tier_model_configs), + default_model: hydratePinnedDefaultModel(parsedConfig.default_model, complexityRouterDefaultModel, { + tiers: hydratedTiers, + }), + plan_mode_min_tier: + typeof parsedConfig.plan_mode_min_tier === "string" && parsedConfig.plan_mode_min_tier.trim() !== "" + ? parsedConfig.plan_mode_min_tier + : undefined, + tier_labels: hydrateTierLabels(parsedConfig.tier_labels), + classifier_type: parsedConfig.classifier_type || "heuristic", + classifier_llm_config: parsedConfig.classifier_llm_config, + classifier_context_window_size: + typeof parsedConfig.classifier_context_window_size === "number" + ? parsedConfig.classifier_context_window_size + : undefined, + classifier_context_budget_chars: + typeof parsedConfig.classifier_context_budget_chars === "number" + ? parsedConfig.classifier_context_budget_chars + : undefined, + classifier_context_include_assistant_turns: + typeof parsedConfig.classifier_context_include_assistant_turns === "boolean" + ? parsedConfig.classifier_context_include_assistant_turns + : undefined, + classifier_fallback: + parsedConfig.classifier_fallback === "default_model" || parsedConfig.classifier_fallback === "heuristic" + ? parsedConfig.classifier_fallback + : undefined, + heuristic_first_max_tier: + typeof parsedConfig.heuristic_first_max_tier === "string" && parsedConfig.heuristic_first_max_tier.trim() !== "" + ? parsedConfig.heuristic_first_max_tier + : undefined, + tier_boundaries: hydrateTierBoundaries(parsedConfig.tier_boundaries), + token_thresholds: hydrateTokenThresholds(parsedConfig.token_thresholds), + dimension_weights: hydrateDimensionWeights(parsedConfig.dimension_weights), + reasoning_override_min_score: hydrateReasoningOverrideMinScore(parsedConfig.reasoning_override_min_score), + session_affinity: + typeof parsedConfig.session_affinity === "boolean" ? parsedConfig.session_affinity : DEFAULT_SESSION_AFFINITY, + deployment_affinity: + typeof parsedConfig.deployment_affinity === "boolean" + ? parsedConfig.deployment_affinity + : DEFAULT_DEPLOYMENT_AFFINITY, + adaptive: parsedConfig.adaptive || false, + adaptive_weights: parsedConfig.adaptive_weights, + tier_distance_penalty: parsedConfig.tier_distance_penalty, + adaptive_eligible: parsedConfig.adaptive_eligible || "all", + return_raw_model_name: parsedConfig.return_raw_model_name || false, + }; +}; + +export const MANAGED_COMPLEXITY_ROUTER_KEYS = new Set([ "tiers", "tier_model_configs", "default_model", @@ -77,6 +175,7 @@ const MANAGED_COMPLEXITY_ROUTER_KEYS = new Set([ "classifier_context_budget_chars", "classifier_context_include_assistant_turns", "classifier_fallback", + "heuristic_first_max_tier", "session_affinity", "deployment_affinity", "adaptive", @@ -150,6 +249,7 @@ export const buildUpdatedComplexityRouterConfig = ( tiers: value.tiers, defaultModel: value.default_model, planModeMinTier: value.plan_mode_min_tier, + heuristicFirstMaxTier: value.heuristic_first_max_tier, tierLabels: value.tier_labels, classifierType: value.classifier_type, classifierLlmConfig: value.classifier_llm_config, @@ -314,62 +414,10 @@ const EditAutoRouterModal: React.FC = ({ parsedConfig = JSON.parse(parsedConfig); } - const hydratedTiers: ComplexityTiers = { - SIMPLE: normalizeTierModels(parsedConfig.tiers?.SIMPLE), - MEDIUM: normalizeTierModels(parsedConfig.tiers?.MEDIUM), - COMPLEX: normalizeTierModels(parsedConfig.tiers?.COMPLEX), - REASONING: normalizeTierModels(parsedConfig.tiers?.REASONING), - }; - - const hydratedComplexityRouterConfig: ComplexityRouterConfigValue = { - tiers: hydratedTiers, - tier_model_params: hydrateTierModelParams(parsedConfig.tiers, parsedConfig.tier_model_configs), - default_model: hydratePinnedDefaultModel( - parsedConfig.default_model, - modelData.litellm_params?.complexity_router_default_model, - { tiers: hydratedTiers }, - ), - plan_mode_min_tier: - typeof parsedConfig.plan_mode_min_tier === "string" && parsedConfig.plan_mode_min_tier.trim() !== "" - ? parsedConfig.plan_mode_min_tier - : undefined, - tier_labels: hydrateTierLabels(parsedConfig.tier_labels), - classifier_type: parsedConfig.classifier_type || "heuristic", - classifier_llm_config: parsedConfig.classifier_llm_config, - classifier_context_window_size: - typeof parsedConfig.classifier_context_window_size === "number" - ? parsedConfig.classifier_context_window_size - : undefined, - classifier_context_budget_chars: - typeof parsedConfig.classifier_context_budget_chars === "number" - ? parsedConfig.classifier_context_budget_chars - : undefined, - classifier_context_include_assistant_turns: - typeof parsedConfig.classifier_context_include_assistant_turns === "boolean" - ? parsedConfig.classifier_context_include_assistant_turns - : undefined, - classifier_fallback: - parsedConfig.classifier_fallback === "default_model" || parsedConfig.classifier_fallback === "heuristic" - ? parsedConfig.classifier_fallback - : undefined, - tier_boundaries: hydrateTierBoundaries(parsedConfig.tier_boundaries), - token_thresholds: hydrateTokenThresholds(parsedConfig.token_thresholds), - dimension_weights: hydrateDimensionWeights(parsedConfig.dimension_weights), - reasoning_override_min_score: hydrateReasoningOverrideMinScore(parsedConfig.reasoning_override_min_score), - session_affinity: - typeof parsedConfig.session_affinity === "boolean" - ? parsedConfig.session_affinity - : DEFAULT_SESSION_AFFINITY, - deployment_affinity: - typeof parsedConfig.deployment_affinity === "boolean" - ? parsedConfig.deployment_affinity - : DEFAULT_DEPLOYMENT_AFFINITY, - adaptive: parsedConfig.adaptive || false, - adaptive_weights: parsedConfig.adaptive_weights, - tier_distance_penalty: parsedConfig.tier_distance_penalty, - adaptive_eligible: parsedConfig.adaptive_eligible || "all", - return_raw_model_name: parsedConfig.return_raw_model_name || false, - }; + const hydratedComplexityRouterConfig = hydrateComplexityRouterConfig( + parsedConfig, + modelData.litellm_params?.complexity_router_default_model, + ); setComplexityRouterConfig(hydratedComplexityRouterConfig); setCustomTechnicalKeywords( Array.isArray(parsedConfig.custom_technical_keywords) ? parsedConfig.custom_technical_keywords : [], diff --git a/ui/litellm-dashboard/src/components/view_logs/LogDetailsDrawer/RoutingDecisionCard.tsx b/ui/litellm-dashboard/src/components/view_logs/LogDetailsDrawer/RoutingDecisionCard.tsx index 3c62576e144..4e1a9b8ee7f 100644 --- a/ui/litellm-dashboard/src/components/view_logs/LogDetailsDrawer/RoutingDecisionCard.tsx +++ b/ui/litellm-dashboard/src/components/view_logs/LogDetailsDrawer/RoutingDecisionCard.tsx @@ -72,6 +72,20 @@ function describeReasoningOverride(tierLabel: string | undefined, floor: number return `Heuristic, ${tierLabel ?? "REASONING"} override (2 or more reasoning markers, score of at least ${stated})`; } +const CONSTANT_CAUSE_LABELS: Record = { + heuristic_scorer: "Heuristic scorer", + heuristic_first_short_circuit: "Heuristic scorer, classifier skipped", + classifier_plugin: "Custom classifier plugin", + semantic_keyword_match: "Semantic keyword match", + session_affinity_pin: "Pinned to session", + session_affinity_escalation: "Escalated from session pin", + quality_tier: "Quality tier mapping", + bandit: "Adaptive bandit", + default_fallback: "Default model, no route matched", + classifier_fallback: "Fallback tier, LLM classifier failed", + default_model_fallback: "Default model, LLM classifier failed", +}; + function describeCause(decision: RoutingDecision): string { const { cause, @@ -81,35 +95,19 @@ function describeCause(decision: RoutingDecision): string { reasoning_override_min_score: overrideFloor, } = decision; + const constant = cause ? CONSTANT_CAUSE_LABELS[cause] : undefined; + if (constant) return constant; + switch (cause) { - case "heuristic_scorer": - return "Heuristic scorer"; case "reasoning_override": return describeReasoningOverride(tierLabel, overrideFloor); case "llm_classifier": return classifierModel ? `LLM classifier (${classifierModel})` : "LLM classifier"; case "literal_keyword_match": - return matchedKeyword ? `Keyword match: "${matchedKeyword}"` : "Keyword match"; - case "semantic_keyword_match": - return "Semantic keyword match"; - case "plan_mode": - return describePlanModeFloor(matchedKeyword); - case "session_affinity_pin": - return "Pinned to session"; - case "session_affinity_escalation": - return "Escalated from session pin"; - case "quality_tier": - return "Quality tier mapping"; case "keyword": return matchedKeyword ? `Keyword match: "${matchedKeyword}"` : "Keyword match"; - case "bandit": - return "Adaptive bandit"; - case "default_fallback": - return "Default model, no route matched"; - case "classifier_fallback": - return "Fallback tier, LLM classifier failed"; - case "default_model_fallback": - return "Default model, LLM classifier failed"; + case "plan_mode": + return describePlanModeFloor(matchedKeyword); default: return cause ?? "Unknown"; } diff --git a/ui/litellm-dashboard/src/lib/autorouter_presets.ts b/ui/litellm-dashboard/src/lib/autorouter_presets.ts index 72f0d6a7db4..fd1ca7a13c2 100644 --- a/ui/litellm-dashboard/src/lib/autorouter_presets.ts +++ b/ui/litellm-dashboard/src/lib/autorouter_presets.ts @@ -8,6 +8,7 @@ import { ClassifierLLMConfig, DEFAULT_SESSION_AFFINITY, DEFAULT_DEPLOYMENT_AFFINITY, + usesLlmClassifier, } from "@/components/add_model/ComplexityRouterConfig"; import { KeywordTierRule } from "@/components/add_model/KeywordTierRules"; import { hydrateKeywordTierRules } from "@/components/add_model/complexity_router_keywords"; @@ -177,7 +178,7 @@ export const getMissingModelsInPreset = (preset: AutoRouterPreset, availability: // Checks the config actually being built (whether it arrived via a preset prefill or was typed by // hand - the two are indistinguishable once the caller has started editing), not a preset's // original bundled model list. Only counts classifier_llm_config/embedding_model as referenced -// when buildComplexityRouterConfig would actually emit them (classifierType === "llm", +// when buildComplexityRouterConfig would actually emit them (usesLlmClassifier(classifierType), // semanticMatchingEnabled) - otherwise a dormant selection left over from a toggle no longer in // effect would block submit for a model that was never going to be submitted. export const getReferencedModelsError = ( @@ -195,7 +196,7 @@ export const getReferencedModelsError = ( { tiers: params.tiers, default_model: params.defaultModel, - classifier_llm_config: params.classifierType === "llm" ? params.classifierLlmConfig : undefined, + classifier_llm_config: usesLlmClassifier(params.classifierType) ? params.classifierLlmConfig : undefined, embedding_model: params.semanticMatchingEnabled ? params.embeddingModel : undefined, }, availability, diff --git a/ui/litellm-dashboard/src/lib/http/schema.d.ts b/ui/litellm-dashboard/src/lib/http/schema.d.ts index 4ccf7b59fbc..e8a0db44c1f 100644 --- a/ui/litellm-dashboard/src/lib/http/schema.d.ts +++ b/ui/litellm-dashboard/src/lib/http/schema.d.ts @@ -32573,12 +32573,12 @@ export interface components { classifier_context_window_size: number; /** * Classifier Fallback - * @description What classifies the request when the LLM classifier errors, times out, or returns an unparseable response. 'heuristic' runs the local complexity scorer, which is right when the classifier grades complexity too. 'default_model' skips scoring and routes to default_model, which is what a classifier on some other taxonomy wants: a prompt that grades data sensitivity has no use for a complexity score, and scoring one produces a tier unrelated to what the operator configured. Requires default_model when set to 'default_model'. Only applies when classifier_type is 'llm' or 'custom'. + * @description What classifies the request when the LLM classifier errors, times out, or returns an unparseable response. 'heuristic' runs the local complexity scorer, which is right when the classifier grades complexity too. 'default_model' skips scoring and routes to default_model, which is what a classifier on some other taxonomy wants: a prompt that grades data sensitivity has no use for a complexity score, and scoring one produces a tier unrelated to what the operator configured. Requires default_model when set to 'default_model'. Only applies when classifier_type is 'llm', 'custom', or 'heuristic_first'. * @default heuristic * @enum {string} */ classifier_fallback: "heuristic" | "default_model"; - /** @description Configuration for the LLM classifier; required when classifier_type is 'llm' */ + /** @description Configuration for the LLM classifier; required when classifier_type is 'llm' or 'heuristic_first' */ classifier_llm_config?: components["schemas"]["ClassifierLLMConfig"] | null; /** * Classifier Plugin @@ -32593,11 +32593,11 @@ export interface components { classifier_plugin_timeout_ms: number; /** * Classifier Type - * @description Classification strategy: local regex/keyword scoring, an LLM call, or a custom classifier plugin + * @description Classification strategy: local regex/keyword scoring, an LLM call, a custom classifier plugin, or 'heuristic_first', which scores locally and only pays for the LLM classifier when the local scorer does not confidently land a cheap tier * @default heuristic * @enum {string} */ - classifier_type: "heuristic" | "llm" | "custom"; + classifier_type: "heuristic" | "llm" | "custom" | "heuristic_first"; /** * Code Keywords * @description Keywords indicating code-related content @@ -32641,6 +32641,11 @@ export interface components { * @description Tier routed to when the LLM classifier fails (timeout, provider error, or an unparseable reply). Required with tier_definitions and must name a defined tier; the heuristic scorer cannot produce custom tiers, so this replaces the heuristic fallback for custom tier sets. */ fallback_tier?: string | null; + /** + * Heuristic First Max Tier + * @description The highest tier the local scorer may decide on its own; required when classifier_type is 'heuristic_first' and rejected otherwise. A request whose heuristic tier is at or below this one skips the LLM classifier and routes straight to that heuristic tier, so the classifier call is only paid for on traffic the scorer could not place cheaply. The scorer must also have produced at least one signal: a prompt where no dimension fired scores 0.0 and would otherwise land SIMPLE by default rather than by evidence, which is how a chained router would silently send unclassified traffic to the cheapest model. Names a built-in tier, and may not name the highest one, since that would make the LLM classifier unreachable. + */ + heuristic_first_max_tier?: string | null; /** * Keyword Tier Rules * @description Rules that force a specific tier when their keywords match the prompt @@ -33700,7 +33705,7 @@ export interface components { * Cause * @enum {string} */ - cause?: "heuristic_scorer" | "reasoning_override" | "llm_classifier" | "classifier_plugin" | "classifier_fallback" | "default_model_fallback" | "literal_keyword_match" | "semantic_keyword_match" | "plan_mode" | "session_affinity_pin" | "session_affinity_escalation" | "default_fallback" | "keyword" | "quality_tier" | "bandit"; + cause?: "heuristic_scorer" | "reasoning_override" | "llm_classifier" | "heuristic_first_short_circuit" | "classifier_plugin" | "classifier_fallback" | "default_model_fallback" | "literal_keyword_match" | "semantic_keyword_match" | "plan_mode" | "session_affinity_pin" | "session_affinity_escalation" | "default_fallback" | "keyword" | "quality_tier" | "bandit"; /** Classifier Cost */ classifier_cost?: number; /** Classifier Model */ diff --git a/ui/litellm-dashboard/tsconfig.tsbuildinfo b/ui/litellm-dashboard/tsconfig.tsbuildinfo index d262fec5c43..740c9ab9107 100644 --- a/ui/litellm-dashboard/tsconfig.tsbuildinfo +++ b/ui/litellm-dashboard/tsconfig.tsbuildinfo @@ -1 +1 @@ -{"fileNames":["./node_modules/typescript/lib/lib.es5.d.ts","./node_modules/typescript/lib/lib.es2015.d.ts","./node_modules/typescript/lib/lib.es2016.d.ts","./node_modules/typescript/lib/lib.es2017.d.ts","./node_modules/typescript/lib/lib.es2018.d.ts","./node_modules/typescript/lib/lib.es2019.d.ts","./node_modules/typescript/lib/lib.es2020.d.ts","./node_modules/typescript/lib/lib.es2021.d.ts","./node_modules/typescript/lib/lib.es2022.d.ts","./node_modules/typescript/lib/lib.es2023.d.ts","./node_modules/typescript/lib/lib.es2024.d.ts","./node_modules/typescript/lib/lib.esnext.d.ts","./node_modules/typescript/lib/lib.dom.d.ts","./node_modules/typescript/lib/lib.dom.iterable.d.ts","./node_modules/typescript/lib/lib.es2015.core.d.ts","./node_modules/typescript/lib/lib.es2015.collection.d.ts","./node_modules/typescript/lib/lib.es2015.generator.d.ts","./node_modules/typescript/lib/lib.es2015.iterable.d.ts","./node_modules/typescript/lib/lib.es2015.promise.d.ts","./node_modules/typescript/lib/lib.es2015.proxy.d.ts","./node_modules/typescript/lib/lib.es2015.reflect.d.ts","./node_modules/typescript/lib/lib.es2015.symbol.d.ts","./node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","./node_modules/typescript/lib/lib.es2016.array.include.d.ts","./node_modules/typescript/lib/lib.es2016.intl.d.ts","./node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","./node_modules/typescript/lib/lib.es2017.date.d.ts","./node_modules/typescript/lib/lib.es2017.object.d.ts","./node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","./node_modules/typescript/lib/lib.es2017.string.d.ts","./node_modules/typescript/lib/lib.es2017.intl.d.ts","./node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","./node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","./node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","./node_modules/typescript/lib/lib.es2018.intl.d.ts","./node_modules/typescript/lib/lib.es2018.promise.d.ts","./node_modules/typescript/lib/lib.es2018.regexp.d.ts","./node_modules/typescript/lib/lib.es2019.array.d.ts","./node_modules/typescript/lib/lib.es2019.object.d.ts","./node_modules/typescript/lib/lib.es2019.string.d.ts","./node_modules/typescript/lib/lib.es2019.symbol.d.ts","./node_modules/typescript/lib/lib.es2019.intl.d.ts","./node_modules/typescript/lib/lib.es2020.bigint.d.ts","./node_modules/typescript/lib/lib.es2020.date.d.ts","./node_modules/typescript/lib/lib.es2020.promise.d.ts","./node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","./node_modules/typescript/lib/lib.es2020.string.d.ts","./node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","./node_modules/typescript/lib/lib.es2020.intl.d.ts","./node_modules/typescript/lib/lib.es2020.number.d.ts","./node_modules/typescript/lib/lib.es2021.promise.d.ts","./node_modules/typescript/lib/lib.es2021.string.d.ts","./node_modules/typescript/lib/lib.es2021.weakref.d.ts","./node_modules/typescript/lib/lib.es2021.intl.d.ts","./node_modules/typescript/lib/lib.es2022.array.d.ts","./node_modules/typescript/lib/lib.es2022.error.d.ts","./node_modules/typescript/lib/lib.es2022.intl.d.ts","./node_modules/typescript/lib/lib.es2022.object.d.ts","./node_modules/typescript/lib/lib.es2022.string.d.ts","./node_modules/typescript/lib/lib.es2022.regexp.d.ts","./node_modules/typescript/lib/lib.es2023.array.d.ts","./node_modules/typescript/lib/lib.es2023.collection.d.ts","./node_modules/typescript/lib/lib.es2023.intl.d.ts","./node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts","./node_modules/typescript/lib/lib.es2024.collection.d.ts","./node_modules/typescript/lib/lib.es2024.object.d.ts","./node_modules/typescript/lib/lib.es2024.promise.d.ts","./node_modules/typescript/lib/lib.es2024.regexp.d.ts","./node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts","./node_modules/typescript/lib/lib.es2024.string.d.ts","./node_modules/typescript/lib/lib.esnext.array.d.ts","./node_modules/typescript/lib/lib.esnext.collection.d.ts","./node_modules/typescript/lib/lib.esnext.intl.d.ts","./node_modules/typescript/lib/lib.esnext.disposable.d.ts","./node_modules/typescript/lib/lib.esnext.promise.d.ts","./node_modules/typescript/lib/lib.esnext.decorators.d.ts","./node_modules/typescript/lib/lib.esnext.iterator.d.ts","./node_modules/typescript/lib/lib.esnext.float16.d.ts","./node_modules/typescript/lib/lib.esnext.error.d.ts","./node_modules/typescript/lib/lib.esnext.sharedmemory.d.ts","./node_modules/typescript/lib/lib.decorators.d.ts","./node_modules/typescript/lib/lib.decorators.legacy.d.ts","./node_modules/@types/react/global.d.ts","./node_modules/csstype/index.d.ts","./node_modules/@types/react/index.d.ts","./node_modules/next/dist/styled-jsx/types/css.d.ts","./node_modules/next/dist/styled-jsx/types/macro.d.ts","./node_modules/next/dist/styled-jsx/types/style.d.ts","./node_modules/next/dist/styled-jsx/types/global.d.ts","./node_modules/next/dist/styled-jsx/types/index.d.ts","./node_modules/next/dist/server/get-page-files.d.ts","./node_modules/@types/node/compatibility/disposable.d.ts","./node_modules/@types/node/compatibility/indexable.d.ts","./node_modules/@types/node/compatibility/iterators.d.ts","./node_modules/@types/node/compatibility/index.d.ts","./node_modules/@types/node/globals.typedarray.d.ts","./node_modules/@types/node/buffer.buffer.d.ts","./node_modules/@types/node/globals.d.ts","./node_modules/@types/node/web-globals/abortcontroller.d.ts","./node_modules/@types/node/web-globals/domexception.d.ts","./node_modules/@types/node/web-globals/events.d.ts","./node_modules/undici-types/header.d.ts","./node_modules/undici-types/readable.d.ts","./node_modules/undici-types/file.d.ts","./node_modules/undici-types/fetch.d.ts","./node_modules/undici-types/formdata.d.ts","./node_modules/undici-types/connector.d.ts","./node_modules/undici-types/client.d.ts","./node_modules/undici-types/errors.d.ts","./node_modules/undici-types/dispatcher.d.ts","./node_modules/undici-types/global-dispatcher.d.ts","./node_modules/undici-types/global-origin.d.ts","./node_modules/undici-types/pool-stats.d.ts","./node_modules/undici-types/pool.d.ts","./node_modules/undici-types/handlers.d.ts","./node_modules/undici-types/balanced-pool.d.ts","./node_modules/undici-types/agent.d.ts","./node_modules/undici-types/mock-interceptor.d.ts","./node_modules/undici-types/mock-agent.d.ts","./node_modules/undici-types/mock-client.d.ts","./node_modules/undici-types/mock-pool.d.ts","./node_modules/undici-types/mock-errors.d.ts","./node_modules/undici-types/proxy-agent.d.ts","./node_modules/undici-types/env-http-proxy-agent.d.ts","./node_modules/undici-types/retry-handler.d.ts","./node_modules/undici-types/retry-agent.d.ts","./node_modules/undici-types/api.d.ts","./node_modules/undici-types/interceptors.d.ts","./node_modules/undici-types/util.d.ts","./node_modules/undici-types/cookies.d.ts","./node_modules/undici-types/patch.d.ts","./node_modules/undici-types/websocket.d.ts","./node_modules/undici-types/eventsource.d.ts","./node_modules/undici-types/filereader.d.ts","./node_modules/undici-types/diagnostics-channel.d.ts","./node_modules/undici-types/content-type.d.ts","./node_modules/undici-types/cache.d.ts","./node_modules/undici-types/index.d.ts","./node_modules/@types/node/web-globals/fetch.d.ts","./node_modules/@types/node/assert.d.ts","./node_modules/@types/node/assert/strict.d.ts","./node_modules/@types/node/async_hooks.d.ts","./node_modules/@types/node/buffer.d.ts","./node_modules/@types/node/child_process.d.ts","./node_modules/@types/node/cluster.d.ts","./node_modules/@types/node/console.d.ts","./node_modules/@types/node/constants.d.ts","./node_modules/@types/node/crypto.d.ts","./node_modules/@types/node/dgram.d.ts","./node_modules/@types/node/diagnostics_channel.d.ts","./node_modules/@types/node/dns.d.ts","./node_modules/@types/node/dns/promises.d.ts","./node_modules/@types/node/domain.d.ts","./node_modules/@types/node/events.d.ts","./node_modules/@types/node/fs.d.ts","./node_modules/@types/node/fs/promises.d.ts","./node_modules/@types/node/http.d.ts","./node_modules/@types/node/http2.d.ts","./node_modules/@types/node/https.d.ts","./node_modules/@types/node/inspector.generated.d.ts","./node_modules/@types/node/module.d.ts","./node_modules/@types/node/net.d.ts","./node_modules/@types/node/os.d.ts","./node_modules/@types/node/path.d.ts","./node_modules/@types/node/perf_hooks.d.ts","./node_modules/@types/node/process.d.ts","./node_modules/@types/node/punycode.d.ts","./node_modules/@types/node/querystring.d.ts","./node_modules/@types/node/readline.d.ts","./node_modules/@types/node/readline/promises.d.ts","./node_modules/@types/node/repl.d.ts","./node_modules/@types/node/sea.d.ts","./node_modules/@types/node/stream.d.ts","./node_modules/@types/node/stream/promises.d.ts","./node_modules/@types/node/stream/consumers.d.ts","./node_modules/@types/node/stream/web.d.ts","./node_modules/@types/node/string_decoder.d.ts","./node_modules/@types/node/test.d.ts","./node_modules/@types/node/timers.d.ts","./node_modules/@types/node/timers/promises.d.ts","./node_modules/@types/node/tls.d.ts","./node_modules/@types/node/trace_events.d.ts","./node_modules/@types/node/tty.d.ts","./node_modules/@types/node/url.d.ts","./node_modules/@types/node/util.d.ts","./node_modules/@types/node/v8.d.ts","./node_modules/@types/node/vm.d.ts","./node_modules/@types/node/wasi.d.ts","./node_modules/@types/node/worker_threads.d.ts","./node_modules/@types/node/zlib.d.ts","./node_modules/@types/node/index.d.ts","./node_modules/@types/react/canary.d.ts","./node_modules/@types/react/experimental.d.ts","./node_modules/@types/react-dom/index.d.ts","./node_modules/@types/react-dom/canary.d.ts","./node_modules/@types/react-dom/experimental.d.ts","./node_modules/next/dist/lib/fallback.d.ts","./node_modules/next/dist/compiled/webpack/webpack.d.ts","./node_modules/next/dist/shared/lib/modern-browserslist-target.d.ts","./node_modules/next/dist/shared/lib/entry-constants.d.ts","./node_modules/next/dist/shared/lib/constants.d.ts","./node_modules/next/dist/lib/bundler.d.ts","./node_modules/next/dist/server/config.d.ts","./node_modules/next/dist/lib/load-custom-routes.d.ts","./node_modules/next/dist/shared/lib/image-config.d.ts","./node_modules/next/dist/build/webpack/plugins/subresource-integrity-plugin.d.ts","./node_modules/next/dist/server/body-streams.d.ts","./node_modules/next/dist/server/request/search-params.d.ts","./node_modules/next/dist/shared/lib/segment-cache/vary-params-decoding.d.ts","./node_modules/next/dist/server/app-render/vary-params.d.ts","./node_modules/next/dist/server/request/params.d.ts","./node_modules/next/dist/server/route-kind.d.ts","./node_modules/next/dist/server/route-definitions/route-definition.d.ts","./node_modules/next/dist/server/route-matches/route-match.d.ts","./node_modules/next/dist/client/components/app-router-headers.d.ts","./node_modules/next/dist/server/lib/cache-control.d.ts","./node_modules/next/dist/shared/lib/app-router-types.d.ts","./node_modules/next/dist/server/lib/cache-handlers/types.d.ts","./node_modules/next/dist/server/use-cache/use-cache-wrapper.d.ts","./node_modules/next/dist/server/resume-data-cache/cache-store.d.ts","./node_modules/next/dist/server/resume-data-cache/resume-data-cache.d.ts","./node_modules/next/dist/lib/constants.d.ts","./node_modules/next/dist/server/render-result.d.ts","./node_modules/next/dist/server/response-cache/types.d.ts","./node_modules/next/dist/server/response-cache/index.d.ts","./node_modules/@types/react/jsx-runtime.d.ts","./node_modules/next/dist/next-devtools/userspace/pages/pages-dev-overlay-setup.d.ts","./node_modules/next/dist/build/static-paths/types.d.ts","./node_modules/next/dist/server/route-definitions/app-page-route-definition.d.ts","./node_modules/next/dist/build/adapter/setup-node-env.external.d.ts","./node_modules/next/dist/server/instrumentation/types.d.ts","./node_modules/next/dist/lib/setup-exception-listeners.d.ts","./node_modules/next/dist/lib/worker.d.ts","./node_modules/next/dist/server/lib/experimental/ppr.d.ts","./node_modules/next/dist/lib/page-types.d.ts","./node_modules/next/dist/build/segment-config/app/app-segment-config.d.ts","./node_modules/next/dist/build/segment-config/pages/pages-segment-config.d.ts","./node_modules/next/dist/build/analysis/get-page-static-info.d.ts","./node_modules/next/dist/build/webpack/loaders/get-module-build-info.d.ts","./node_modules/next/dist/build/webpack/plugins/middleware-plugin.d.ts","./node_modules/next/dist/server/require-hook.d.ts","./node_modules/next/dist/server/node-polyfill-crypto.d.ts","./node_modules/next/dist/server/node-environment-baseline.d.ts","./node_modules/next/dist/server/node-environment-extensions/error-inspect.d.ts","./node_modules/next/dist/server/node-environment-extensions/console-file.d.ts","./node_modules/next/dist/server/node-environment-extensions/console-exit.d.ts","./node_modules/next/dist/server/node-environment-extensions/console-dim.external.d.ts","./node_modules/next/dist/server/node-environment-extensions/unhandled-rejection.external.d.ts","./node_modules/next/dist/server/node-environment-extensions/random.d.ts","./node_modules/next/dist/server/node-environment-extensions/date.d.ts","./node_modules/next/dist/server/node-environment-extensions/web-crypto.d.ts","./node_modules/next/dist/server/node-environment-extensions/node-crypto.d.ts","./node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.d.ts","./node_modules/next/dist/server/node-environment.d.ts","./node_modules/next/dist/build/page-extensions-type.d.ts","./node_modules/next/dist/server/route-modules/app-page/module.compiled.d.ts","./node_modules/next/dist/server/route-definitions/app-route-route-definition.d.ts","./node_modules/next/dist/server/lib/i18n-provider.d.ts","./node_modules/next/dist/server/web/next-url.d.ts","./node_modules/next/dist/compiled/@edge-runtime/cookies/index.d.ts","./node_modules/next/dist/server/web/spec-extension/cookies.d.ts","./node_modules/next/dist/server/web/spec-extension/request.d.ts","./node_modules/next/dist/shared/lib/deep-readonly.d.ts","./node_modules/next/dist/server/lib/incremental-cache/index.d.ts","./node_modules/next/dist/shared/lib/router/utils/middleware-route-matcher.d.ts","./node_modules/next/dist/build/webpack/plugins/flight-manifest-plugin.d.ts","./node_modules/next/dist/build/webpack/plugins/next-font-manifest-plugin.d.ts","./node_modules/next/dist/server/route-definitions/locale-route-definition.d.ts","./node_modules/next/dist/server/route-definitions/pages-route-definition.d.ts","./node_modules/next/dist/shared/lib/mitt.d.ts","./node_modules/next/dist/client/with-router.d.ts","./node_modules/next/dist/client/router.d.ts","./node_modules/next/dist/client/route-loader.d.ts","./node_modules/next/dist/client/page-loader.d.ts","./node_modules/next/dist/shared/lib/bloom-filter.d.ts","./node_modules/next/dist/shared/lib/router/router.d.ts","./node_modules/next/dist/shared/lib/router-context.shared-runtime.d.ts","./node_modules/next/dist/shared/lib/loadable-context.shared-runtime.d.ts","./node_modules/next/dist/shared/lib/loadable.shared-runtime.d.ts","./node_modules/next/dist/shared/lib/image-config-context.shared-runtime.d.ts","./node_modules/next/dist/client/components/readonly-url-search-params.d.ts","./node_modules/next/dist/shared/lib/hooks-client-context.shared-runtime.d.ts","./node_modules/next/dist/shared/lib/head-manager-context.shared-runtime.d.ts","./node_modules/next/dist/client/flight-data-helpers.d.ts","./node_modules/next/dist/client/components/segment-cache/cache-key.d.ts","./node_modules/next/dist/client/components/router-reducer/fetch-server-response.d.ts","./node_modules/next/dist/client/components/segment-cache/types.d.ts","./node_modules/next/dist/shared/lib/segment-cache/segment-value-encoding.d.ts","./node_modules/next/dist/client/components/segment-cache/scheduler.d.ts","./node_modules/next/dist/client/components/segment-cache/cache-map.d.ts","./node_modules/next/dist/client/components/segment-cache/vary-path.d.ts","./node_modules/next/dist/client/components/segment-cache/cache.d.ts","./node_modules/next/dist/client/components/router-reducer/ppr-navigations.d.ts","./node_modules/next/dist/client/components/segment-cache/navigation.d.ts","./node_modules/next/dist/client/components/router-reducer/router-reducer-types.d.ts","./node_modules/next/dist/shared/lib/app-router-context.shared-runtime.d.ts","./node_modules/next/dist/shared/lib/server-inserted-html.shared-runtime.d.ts","./node_modules/next/dist/server/route-modules/pages/vendored/contexts/entrypoints.d.ts","./node_modules/next/dist/server/route-modules/pages/module.compiled.d.ts","./node_modules/next/dist/build/templates/pages.d.ts","./node_modules/next/dist/server/route-modules/pages/module.d.ts","./node_modules/next/dist/server/render.d.ts","./node_modules/next/dist/build/webpack/plugins/pages-manifest-plugin.d.ts","./node_modules/next/dist/server/route-definitions/pages-api-route-definition.d.ts","./node_modules/next/dist/server/route-matches/pages-api-route-match.d.ts","./node_modules/next/dist/server/route-matchers/route-matcher.d.ts","./node_modules/next/dist/server/route-matcher-providers/route-matcher-provider.d.ts","./node_modules/next/dist/server/route-matcher-managers/route-matcher-manager.d.ts","./node_modules/next/dist/server/normalizers/normalizer.d.ts","./node_modules/next/dist/server/normalizers/locale-route-normalizer.d.ts","./node_modules/next/dist/server/normalizers/request/pathname-normalizer.d.ts","./node_modules/next/dist/server/normalizers/request/suffix.d.ts","./node_modules/next/dist/server/normalizers/request/rsc.d.ts","./node_modules/next/dist/server/normalizers/request/next-data.d.ts","./node_modules/next/dist/server/after/builtin-request-context.d.ts","./node_modules/next/dist/server/normalizers/request/segment-prefix-rsc.d.ts","./node_modules/next/dist/server/route-modules/pages/builtin/_error.d.ts","./node_modules/next/dist/server/load-default-error-components.d.ts","./node_modules/next/dist/server/base-server.d.ts","./node_modules/next/dist/server/after/after.d.ts","./node_modules/next/dist/server/after/after-context.d.ts","./node_modules/next/dist/server/use-cache/cache-life.d.ts","./node_modules/next/dist/server/app-render/work-async-storage-instance.d.ts","./node_modules/next/dist/server/lib/lazy-result.d.ts","./node_modules/next/dist/server/app-render/create-error-handler.d.ts","./node_modules/next/dist/shared/lib/action-revalidation-kind.d.ts","./node_modules/next/dist/server/app-render/work-async-storage.external.d.ts","./node_modules/next/dist/server/async-storage/work-store.d.ts","./node_modules/next/dist/server/web/http.d.ts","./node_modules/next/dist/client/components/hooks-server-context.d.ts","./node_modules/next/dist/server/route-modules/app-route/shared-modules.d.ts","./node_modules/next/dist/client/components/redirect-status-code.d.ts","./node_modules/next/dist/client/components/redirect-error.d.ts","./node_modules/next/dist/server/web/spec-extension/adapters/request-cookies.d.ts","./node_modules/next/dist/server/async-storage/draft-mode-provider.d.ts","./node_modules/next/dist/server/web/spec-extension/adapters/headers.d.ts","./node_modules/next/dist/server/app-render/cache-signal.d.ts","./node_modules/next/dist/server/app-render/instant-validation/boundary-tracking.d.ts","./node_modules/next/dist/server/app-render/instant-validation/instant-validation-error.d.ts","./node_modules/next/dist/shared/lib/router/utils/parse-relative-url.d.ts","./node_modules/next/dist/server/app-render/instant-validation/instant-samples.d.ts","./node_modules/next/dist/server/app-render/dynamic-rendering.d.ts","./node_modules/next/dist/server/app-render/work-unit-async-storage-instance.d.ts","./node_modules/next/dist/server/lib/implicit-tags.d.ts","./node_modules/next/dist/server/app-render/staged-rendering.d.ts","./node_modules/next/dist/server/app-render/work-unit-async-storage.external.d.ts","./node_modules/next/dist/build/templates/app-route.d.ts","./node_modules/next/dist/server/app-render/action-async-storage-instance.d.ts","./node_modules/next/dist/server/app-render/action-async-storage.external.d.ts","./node_modules/next/dist/server/route-modules/app-route/module.d.ts","./node_modules/next/dist/server/route-modules/app-route/module.compiled.d.ts","./node_modules/next/dist/build/segment-config/app/app-segments.d.ts","./node_modules/next/dist/build/get-supported-browsers.d.ts","./node_modules/next/dist/build/utils.d.ts","./node_modules/next/dist/build/rendering-mode.d.ts","./node_modules/next/dist/server/lib/router-utils/build-prefetch-segment-data-route.d.ts","./node_modules/next/dist/server/lib/cpu-profile.d.ts","./node_modules/next/dist/build/turborepo-access-trace/types.d.ts","./node_modules/next/dist/build/turborepo-access-trace/result.d.ts","./node_modules/next/dist/build/turborepo-access-trace/helpers.d.ts","./node_modules/next/dist/build/turborepo-access-trace/index.d.ts","./node_modules/next/dist/export/routes/types.d.ts","./node_modules/next/dist/export/types.d.ts","./node_modules/next/dist/export/worker.d.ts","./node_modules/next/dist/build/worker.d.ts","./node_modules/next/dist/build/index.d.ts","./node_modules/next/dist/lib/coalesced-function.d.ts","./node_modules/next/dist/server/lib/router-utils/types.d.ts","./node_modules/next/dist/trace/types.d.ts","./node_modules/next/dist/trace/trace.d.ts","./node_modules/next/dist/trace/shared.d.ts","./node_modules/next/dist/trace/index.d.ts","./node_modules/next/dist/build/load-jsconfig.d.ts","./node_modules/@next/env/dist/index.d.ts","./node_modules/next/dist/build/webpack/plugins/telemetry-plugin/use-cache-tracker-utils.d.ts","./node_modules/next/dist/build/webpack/plugins/telemetry-plugin/telemetry-plugin.d.ts","./node_modules/next/dist/telemetry/storage.d.ts","./node_modules/next/dist/build/build-context.d.ts","./node_modules/next/dist/build/webpack-config.d.ts","./node_modules/next/dist/build/swc/generated-native.d.ts","./node_modules/next/dist/build/define-env.d.ts","./node_modules/next/dist/build/swc/index.d.ts","./node_modules/next/dist/build/swc/types.d.ts","./node_modules/next/dist/server/dev/parse-version-info.d.ts","./node_modules/next/dist/next-devtools/shared/types.d.ts","./node_modules/next/dist/server/dev/dev-indicator-server-state.d.ts","./node_modules/next/dist/next-devtools/dev-overlay/cache-indicator.d.ts","./node_modules/next/dist/server/lib/parse-stack.d.ts","./node_modules/next/dist/next-devtools/server/shared.d.ts","./node_modules/next/dist/next-devtools/shared/stack-frame.d.ts","./node_modules/next/dist/next-devtools/dev-overlay/utils/get-error-by-type.d.ts","./node_modules/next/dist/next-devtools/dev-overlay/container/runtime-error/render-error.d.ts","./node_modules/next/dist/next-devtools/dev-overlay/shared.d.ts","./node_modules/next/dist/server/dev/debug-channel.d.ts","./node_modules/next/dist/server/dev/hot-reloader-types.d.ts","./node_modules/next/dist/server/web/spec-extension/fetch-event.d.ts","./node_modules/next/dist/server/web/spec-extension/response.d.ts","./node_modules/next/dist/build/segment-config/middleware/middleware-config.d.ts","./node_modules/next/dist/server/web/types.d.ts","./node_modules/next/dist/shared/lib/router/utils/parse-url.d.ts","./node_modules/next/dist/server/base-http/node.d.ts","./node_modules/next/dist/server/lib/async-callback-set.d.ts","./node_modules/next/dist/shared/lib/router/utils/route-regex.d.ts","./node_modules/next/dist/shared/lib/router/utils/route-matcher.d.ts","./node_modules/@img/colour/index.d.ts","./node_modules/sharp/dist/index.d.mts","./node_modules/next/dist/server/image-optimizer.d.ts","./node_modules/next/dist/server/next-server.d.ts","./node_modules/next/dist/server/lib/types.d.ts","./node_modules/next/dist/server/lib/lru-cache.d.ts","./node_modules/next/dist/server/lib/dev-bundler-service.d.ts","./node_modules/next/dist/server/dev/static-paths-worker.d.ts","./node_modules/next/dist/server/dev/next-dev-server.d.ts","./node_modules/next/dist/server/next.d.ts","./node_modules/next/dist/server/lib/render-server.d.ts","./node_modules/next/dist/server/lib/router-server.d.ts","./node_modules/next/dist/shared/lib/router/utils/path-match.d.ts","./node_modules/next/dist/server/lib/router-utils/filesystem.d.ts","./node_modules/next/dist/server/lib/router-utils/setup-dev-bundler.d.ts","./node_modules/next/dist/server/lib/router-utils/router-server-context.d.ts","./node_modules/next/dist/server/route-modules/route-module.d.ts","./node_modules/next/dist/server/load-components.d.ts","./node_modules/next/dist/server/web/adapter.d.ts","./node_modules/next/dist/server/app-render/types.d.ts","./node_modules/next/dist/build/webpack/loaders/metadata/types.d.ts","./node_modules/next/dist/build/webpack/loaders/next-app-loader/index.d.ts","./node_modules/next/dist/server/lib/app-dir-module.d.ts","./node_modules/next/dist/server/app-render/app-render.d.ts","./node_modules/next/dist/server/route-modules/app-page/vendored/contexts/entrypoints.d.ts","./node_modules/next/dist/client/components/error-boundary.d.ts","./node_modules/next/dist/client/components/layout-router.d.ts","./node_modules/next/dist/client/components/render-from-template-context.d.ts","./node_modules/next/dist/client/components/client-page.d.ts","./node_modules/next/dist/client/components/client-segment.d.ts","./node_modules/next/dist/client/components/http-access-fallback/error-boundary.d.ts","./node_modules/next/dist/lib/metadata/types/alternative-urls-types.d.ts","./node_modules/next/dist/lib/metadata/types/extra-types.d.ts","./node_modules/next/dist/lib/metadata/types/metadata-types.d.ts","./node_modules/next/dist/lib/metadata/types/manifest-types.d.ts","./node_modules/next/dist/lib/metadata/types/opengraph-types.d.ts","./node_modules/next/dist/lib/metadata/types/twitter-types.d.ts","./node_modules/next/dist/lib/metadata/types/metadata-interface.d.ts","./node_modules/next/dist/lib/metadata/types/resolvers.d.ts","./node_modules/next/dist/lib/metadata/types/icons.d.ts","./node_modules/next/dist/lib/metadata/resolve-metadata.d.ts","./node_modules/next/dist/lib/metadata/metadata.d.ts","./node_modules/next/dist/lib/framework/boundary-components.d.ts","./node_modules/next/dist/server/app-render/rsc/preloads.d.ts","./node_modules/next/dist/server/app-render/rsc/postpone.d.ts","./node_modules/next/dist/server/app-render/rsc/taint.d.ts","./node_modules/next/dist/server/app-render/collect-segment-data.d.ts","./node_modules/next/dist/server/app-render/instant-validation/instant-validation.d.ts","./node_modules/next/dist/next-devtools/userspace/app/segment-explorer-node.d.ts","./node_modules/next/dist/server/app-render/entry-base.d.ts","./node_modules/next/dist/build/templates/app-page.d.ts","./node_modules/next/dist/server/route-modules/app-page/helpers/prerender-manifest-matcher.d.ts","./node_modules/@types/react/jsx-dev-runtime.d.ts","./node_modules/@types/react/compiler-runtime.d.ts","./node_modules/next/dist/server/route-modules/app-page/vendored/rsc/entrypoints.d.ts","./node_modules/@types/react-dom/client.d.ts","./node_modules/@types/react-dom/static.d.ts","./node_modules/@types/react-dom/server.d.ts","./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/entrypoints.d.ts","./node_modules/next/dist/server/route-modules/app-page/module.d.ts","./node_modules/next/dist/server/request/fallback-params.d.ts","./node_modules/next/dist/server/web/spec-extension/image-response.d.ts","./node_modules/next/dist/server/web/spec-extension/user-agent.d.ts","./node_modules/next/dist/server/web/spec-extension/url-pattern.d.ts","./node_modules/next/dist/server/after/index.d.ts","./node_modules/next/dist/server/request/connection.d.ts","./node_modules/next/dist/server/web/exports/index.d.ts","./node_modules/next/dist/server/request-meta.d.ts","./node_modules/next/dist/cli/next-test.d.ts","./node_modules/next/dist/shared/lib/size-limit.d.ts","./node_modules/next/dist/server/config-shared.d.ts","./node_modules/next/dist/server/base-http/index.d.ts","./node_modules/next/dist/server/api-utils/index.d.ts","./node_modules/next/dist/build/adapter/build-complete.d.ts","./node_modules/next/dist/types.d.ts","./node_modules/next/dist/shared/lib/html-context.shared-runtime.d.ts","./node_modules/next/dist/shared/lib/utils.d.ts","./node_modules/next/dist/pages/_app.d.ts","./node_modules/next/app.d.ts","./node_modules/next/dist/server/web/spec-extension/unstable-cache.d.ts","./node_modules/next/dist/server/web/spec-extension/revalidate.d.ts","./node_modules/next/dist/server/web/spec-extension/unstable-no-store.d.ts","./node_modules/next/dist/server/use-cache/cache-tag.d.ts","./node_modules/next/cache.d.ts","./node_modules/next/dist/pages/_document.d.ts","./node_modules/next/document.d.ts","./node_modules/next/dist/shared/lib/dynamic.d.ts","./node_modules/next/dynamic.d.ts","./node_modules/next/dist/pages/_error.d.ts","./node_modules/next/dist/client/components/catch-error.d.ts","./node_modules/next/dist/api/error.d.ts","./node_modules/next/error.d.ts","./node_modules/next/dist/shared/lib/head.d.ts","./node_modules/next/head.d.ts","./node_modules/next/dist/server/request/cookies.d.ts","./node_modules/next/dist/server/request/headers.d.ts","./node_modules/next/dist/server/request/draft-mode.d.ts","./node_modules/next/headers.d.ts","./node_modules/next/dist/shared/lib/get-img-props.d.ts","./node_modules/next/dist/client/image-component.d.ts","./node_modules/next/dist/shared/lib/image-external.d.ts","./node_modules/next/image.d.ts","./node_modules/next/dist/client/link.d.ts","./node_modules/next/link.d.ts","./node_modules/next/dist/client/components/unrecognized-action-error.d.ts","./node_modules/next/dist/client/components/redirect.d.ts","./node_modules/next/dist/client/components/not-found.d.ts","./node_modules/next/dist/client/components/forbidden.d.ts","./node_modules/next/dist/client/components/unauthorized.d.ts","./node_modules/next/dist/client/components/unstable-rethrow.server.d.ts","./node_modules/next/dist/client/components/unstable-rethrow.d.ts","./node_modules/next/dist/client/components/navigation.react-server.d.ts","./node_modules/next/dist/client/components/navigation.d.ts","./node_modules/next/navigation.d.ts","./node_modules/next/router.d.ts","./node_modules/next/dist/client/script.d.ts","./node_modules/next/script.d.ts","./node_modules/next/dist/compiled/@edge-runtime/primitives/url.d.ts","./node_modules/next/dist/compiled/@vercel/og/satori/index.d.ts","./node_modules/next/dist/compiled/@vercel/og/types.d.ts","./node_modules/next/server.d.ts","./node_modules/next/types/global.d.ts","./node_modules/next/types/compiled.d.ts","./node_modules/next/types.d.ts","./node_modules/next/index.d.ts","./node_modules/next/image-types/global.d.ts","./.next/dev/types/routes.d.ts","./next-env.d.ts","./node_modules/@vitest/spy/dist/index.d.ts","./node_modules/@vitest/pretty-format/dist/index.d.ts","./node_modules/@vitest/utils/dist/types.d.ts","./node_modules/@vitest/utils/dist/helpers.d.ts","./node_modules/tinyrainbow/dist/index-8b61d5bc.d.ts","./node_modules/tinyrainbow/dist/node.d.ts","./node_modules/@vitest/utils/dist/index.d.ts","./node_modules/@vitest/utils/dist/types.d-bcelap-c.d.ts","./node_modules/@vitest/utils/dist/diff.d.ts","./node_modules/@vitest/expect/dist/index.d.ts","./node_modules/vite/types/hmrpayload.d.ts","./node_modules/vite/dist/node/chunks/modulerunnertransport.d.ts","./node_modules/vite/types/customevent.d.ts","./node_modules/@types/estree/index.d.ts","./node_modules/rollup/dist/rollup.d.ts","./node_modules/rollup/dist/parseast.d.ts","./node_modules/vite/types/hot.d.ts","./node_modules/vite/dist/node/module-runner.d.ts","./node_modules/esbuild/lib/main.d.ts","./node_modules/vite/types/internal/terseroptions.d.ts","./node_modules/source-map-js/source-map.d.ts","./node_modules/postcss/lib/previous-map.d.ts","./node_modules/postcss/lib/input.d.ts","./node_modules/postcss/lib/css-syntax-error.d.ts","./node_modules/postcss/lib/declaration.d.ts","./node_modules/postcss/lib/root.d.ts","./node_modules/postcss/lib/warning.d.ts","./node_modules/postcss/lib/lazy-result.d.ts","./node_modules/postcss/lib/no-work-result.d.ts","./node_modules/postcss/lib/processor.d.ts","./node_modules/postcss/lib/result.d.ts","./node_modules/postcss/lib/document.d.ts","./node_modules/postcss/lib/rule.d.ts","./node_modules/postcss/lib/node.d.ts","./node_modules/postcss/lib/comment.d.ts","./node_modules/postcss/lib/container.d.ts","./node_modules/postcss/lib/at-rule.d.ts","./node_modules/postcss/lib/list.d.ts","./node_modules/postcss/lib/postcss.d.ts","./node_modules/postcss/lib/postcss.d.mts","./node_modules/vite/types/internal/csspreprocessoroptions.d.ts","./node_modules/lightningcss/node/ast.d.ts","./node_modules/lightningcss/node/targets.d.ts","./node_modules/lightningcss/node/index.d.ts","./node_modules/vite/types/internal/lightningcssoptions.d.ts","./node_modules/vite/types/importglob.d.ts","./node_modules/vite/types/metadata.d.ts","./node_modules/vite/dist/node/index.d.ts","./node_modules/@vitest/runner/dist/tasks.d-cksck4of.d.ts","./node_modules/@vitest/runner/dist/types.d.ts","./node_modules/@vitest/utils/dist/error.d.ts","./node_modules/@vitest/runner/dist/index.d.ts","./node_modules/vitest/optional-types.d.ts","./node_modules/vitest/dist/chunks/environment.d.cl3nlxbe.d.ts","./node_modules/@vitest/mocker/dist/registry.d-d765pazg.d.ts","./node_modules/@vitest/mocker/dist/types.d-d_arzrdy.d.ts","./node_modules/@vitest/mocker/dist/index.d.ts","./node_modules/@vitest/utils/dist/source-map.d.ts","./node_modules/vite-node/dist/trace-mapping.d-dlvdeqop.d.ts","./node_modules/vite-node/dist/index.d-dgmxd2u7.d.ts","./node_modules/vite-node/dist/index.d.ts","./node_modules/@vitest/snapshot/dist/environment.d-dhdq1csl.d.ts","./node_modules/@vitest/snapshot/dist/rawsnapshot.d-lfsmjfud.d.ts","./node_modules/@vitest/snapshot/dist/index.d.ts","./node_modules/@vitest/snapshot/dist/environment.d.ts","./node_modules/vitest/dist/chunks/config.d.bkdhh7zx.d.ts","./node_modules/vitest/dist/chunks/worker.d.cugipz9v.d.ts","./node_modules/@types/deep-eql/index.d.ts","./node_modules/assertion-error/index.d.ts","./node_modules/@types/chai/index.d.ts","./node_modules/@vitest/runner/dist/utils.d.ts","./node_modules/tinybench/dist/index.d.ts","./node_modules/vitest/dist/chunks/benchmark.d.bwvbvtda.d.ts","./node_modules/vite-node/dist/client.d.ts","./node_modules/vitest/dist/chunks/coverage.d.s9rmnxie.d.ts","./node_modules/@vitest/snapshot/dist/manager.d.ts","./node_modules/vitest/dist/chunks/reporters.d.buron0i0.d.ts","./node_modules/vitest/dist/chunks/vite.d.bnoppc46.d.ts","./node_modules/vitest/dist/config.d.ts","./node_modules/vitest/config.d.ts","./vitest.config.ts","./src/types.ts","./node_modules/sonner/dist/index.d.mts","./src/lib/http/client.ts","./src/lib/toast.ts","./src/utils/securestorage.ts","./src/utils/mcptokenstore.ts","./src/utils/cookieutils.ts","./node_modules/jwt-decode/build/esm/index.d.ts","./src/utils/jwtutils.ts","./src/components/tag_management/types.tsx","./src/lib/http/schema.d.ts","./src/components/object_permission_types.ts","./src/components/key_team_helpers/key_list.tsx","./src/components/email_events/types.ts","./src/components/claude_code_plugins/types.ts","./node_modules/cva/dist/index.d.ts","./node_modules/tailwind-merge/dist/types.d.ts","./src/lib/cva.config.ts","./src/components/ui/input.tsx","./src/components/ui/textarea.tsx","./node_modules/@base-ui/react/internals/reason-parts.d.mts","./node_modules/@base-ui/react/internals/reasons.d.mts","./node_modules/@base-ui/react/internals/createbaseuieventdetails.d.mts","./node_modules/@base-ui/react/internals/resolvevaluelabel.d.mts","./node_modules/@base-ui/react/select/root/selectroot.d.mts","./node_modules/@base-ui/react/types/index.d.mts","./node_modules/@base-ui/react/internals/types.d.mts","./node_modules/@base-ui/react/internals/form-context/formcontext.d.mts","./node_modules/@base-ui/react/form/form.d.mts","./node_modules/@base-ui/react/form/index.d.mts","./node_modules/@base-ui/react/field/root/fieldroot.d.mts","./node_modules/@base-ui/react/select/label/selectlabel.d.mts","./node_modules/@floating-ui/utils/dist/floating-ui.utils.d.mts","./node_modules/@floating-ui/core/dist/floating-ui.core.d.mts","./node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.d.mts","./node_modules/@floating-ui/dom/dist/floating-ui.dom.d.mts","./node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.d.mts","./node_modules/@base-ui/react/floating-ui-react/components/floatingtreestore.d.mts","./node_modules/reselect/dist/reselect.d.ts","./node_modules/@base-ui/utils/store/createselector.d.mts","./node_modules/@base-ui/utils/store/createselectormemoized.d.mts","./node_modules/@base-ui/utils/fasthooks.d.mts","./node_modules/@base-ui/utils/store/store.d.mts","./node_modules/@base-ui/utils/store/usestore.d.mts","./node_modules/@base-ui/utils/store/reactstore.d.mts","./node_modules/@base-ui/utils/store/storeinspector.d.mts","./node_modules/@base-ui/utils/store/index.d.mts","./node_modules/@base-ui/react/utils/popups/inlinerect.d.mts","./node_modules/@base-ui/utils/useenhancedclickhandler.d.mts","./node_modules/@base-ui/react/internals/usetransitionstatus.d.mts","./node_modules/@base-ui/react/utils/popups/popuptriggermap.d.mts","./node_modules/@base-ui/react/utils/popups/store.d.mts","./node_modules/@base-ui/react/utils/popups/popupstoreutils.d.mts","./node_modules/@base-ui/react/utils/popups/index.d.mts","./node_modules/@base-ui/react/floating-ui-react/components/floatingrootstore.d.mts","./node_modules/@base-ui/react/floating-ui-react/components/floatingfocusmanager.d.mts","./node_modules/@base-ui/react/internals/getstateattributesprops.d.mts","./node_modules/@base-ui/react/internals/userenderelement.d.mts","./node_modules/@base-ui/react/floating-ui-react/components/floatingportal.d.mts","./node_modules/@base-ui/react/floating-ui-react/hooks/useclientpoint.d.mts","./node_modules/@base-ui/react/floating-ui-react/hooks/usedismiss.d.mts","./node_modules/@base-ui/react/floating-ui-react/hooks/usefocus.d.mts","./node_modules/@base-ui/react/internals/shadowdom.d.mts","./node_modules/@base-ui/react/floating-ui-react/utils/element.d.mts","./node_modules/@base-ui/react/floating-ui-react/hooks/usehovershared.d.mts","./node_modules/@base-ui/react/floating-ui-react/hooks/usehover.d.mts","./node_modules/@base-ui/react/floating-ui-react/hooks/usehoverfloatinginteraction.d.mts","./node_modules/@base-ui/react/floating-ui-react/hooks/usehoverreferenceinteraction.d.mts","./node_modules/@base-ui/react/floating-ui-react/utils/composite.d.mts","./node_modules/@base-ui/react/floating-ui-react/hooks/gridnavigation.d.mts","./node_modules/@base-ui/react/floating-ui-react/hooks/uselistnavigation.d.mts","./node_modules/@base-ui/react/floating-ui-react/hooks/usetypeahead.d.mts","./node_modules/@base-ui/react/floating-ui-react/hooks/usefloatingrootcontext.d.mts","./node_modules/@base-ui/react/floating-ui-react/safepolygon.d.mts","./node_modules/@base-ui/react/floating-ui-react/components/floatingtree.d.mts","./node_modules/@base-ui/react/floating-ui-react/types.d.mts","./node_modules/@base-ui/react/floating-ui-react/components/floatingdelaygroup.d.mts","./node_modules/@base-ui/react/floating-ui-react/hooks/useclick.d.mts","./node_modules/@base-ui/react/floating-ui-react/hooks/usefloating.d.mts","./node_modules/@base-ui/react/floating-ui-react/hooks/usesyncedfloatingrootcontext.d.mts","./node_modules/@base-ui/react/floating-ui-react/index.d.mts","./node_modules/@base-ui/react/utils/useanchorpositioning.d.mts","./node_modules/@base-ui/react/select/trigger/selecttrigger.d.mts","./node_modules/@base-ui/react/select/value/selectvalue.d.mts","./node_modules/@base-ui/react/select/icon/selecticon.d.mts","./node_modules/@base-ui/react/select/portal/selectportal.d.mts","./node_modules/@base-ui/react/select/backdrop/selectbackdrop.d.mts","./node_modules/@base-ui/react/select/positioner/selectpositioner.d.mts","./node_modules/@base-ui/react/select/popup/selectpopup.d.mts","./node_modules/@base-ui/react/select/list/selectlist.d.mts","./node_modules/@base-ui/react/select/item/selectitem.d.mts","./node_modules/@base-ui/react/select/item-indicator/selectitemindicator.d.mts","./node_modules/@base-ui/react/select/item-text/selectitemtext.d.mts","./node_modules/@base-ui/react/select/arrow/selectarrow.d.mts","./node_modules/@base-ui/react/select/scroll-down-arrow/selectscrolldownarrow.d.mts","./node_modules/@base-ui/react/select/scroll-up-arrow/selectscrolluparrow.d.mts","./node_modules/@base-ui/react/select/group/selectgroup.d.mts","./node_modules/@base-ui/react/select/group-label/selectgrouplabel.d.mts","./node_modules/@base-ui/react/separator/separator.d.mts","./node_modules/@base-ui/react/select/index.parts.d.mts","./node_modules/@base-ui/react/select/index.d.mts","./node_modules/lucide-react/dist/lucide-react.d.ts","./src/components/ui/select.tsx","./node_modules/@base-ui/react/accordion/root/accordionroot.d.mts","./node_modules/@base-ui/react/collapsible/root/collapsibleroot.d.mts","./node_modules/@base-ui/react/collapsible/root/usecollapsibleroot.d.mts","./node_modules/@base-ui/react/accordion/item/accordionitem.d.mts","./node_modules/@base-ui/react/accordion/header/accordionheader.d.mts","./node_modules/@base-ui/react/accordion/trigger/accordiontrigger.d.mts","./node_modules/@base-ui/react/accordion/panel/accordionpanel.d.mts","./node_modules/@base-ui/react/accordion/index.parts.d.mts","./node_modules/@base-ui/react/accordion/index.d.mts","./node_modules/@base-ui/react/dialog/store/dialogstore.d.mts","./node_modules/@base-ui/react/dialog/store/dialoghandle.d.mts","./node_modules/@base-ui/react/dialog/root/dialogroot.d.mts","./node_modules/@base-ui/react/alert-dialog/handle.d.mts","./node_modules/@base-ui/react/alert-dialog/root/alertdialogroot.d.mts","./node_modules/@base-ui/react/dialog/backdrop/dialogbackdrop.d.mts","./node_modules/@base-ui/react/dialog/close/dialogclose.d.mts","./node_modules/@base-ui/react/dialog/description/dialogdescription.d.mts","./node_modules/@base-ui/react/dialog/popup/dialogpopup.d.mts","./node_modules/@base-ui/react/dialog/portal/dialogportal.d.mts","./node_modules/@base-ui/react/dialog/title/dialogtitle.d.mts","./node_modules/@base-ui/react/dialog/trigger/dialogtrigger.d.mts","./node_modules/@base-ui/react/alert-dialog/trigger/alertdialogtrigger.d.mts","./node_modules/@base-ui/react/dialog/viewport/dialogviewport.d.mts","./node_modules/@base-ui/react/alert-dialog/index.parts.d.mts","./node_modules/@base-ui/react/alert-dialog/index.d.mts","./node_modules/@base-ui/react/combobox/root/ariacombobox.d.mts","./node_modules/@base-ui/react/autocomplete/root/autocompleteroot.d.mts","./node_modules/@base-ui/react/autocomplete/value/autocompletevalue.d.mts","./node_modules/@base-ui/react/autocomplete/trigger/autocompletetrigger.d.mts","./node_modules/@base-ui/react/combobox/input/comboboxinput.d.mts","./node_modules/@base-ui/react/autocomplete/input-group/autocompleteinputgroup.d.mts","./node_modules/@base-ui/react/combobox/icon/comboboxicon.d.mts","./node_modules/@base-ui/react/combobox/clear/comboboxclear.d.mts","./node_modules/@base-ui/react/combobox/list/comboboxlist.d.mts","./node_modules/@base-ui/react/combobox/status/comboboxstatus.d.mts","./node_modules/@base-ui/react/combobox/portal/comboboxportal.d.mts","./node_modules/@base-ui/react/combobox/backdrop/comboboxbackdrop.d.mts","./node_modules/@base-ui/react/combobox/positioner/comboboxpositioner.d.mts","./node_modules/@base-ui/react/combobox/popup/comboboxpopup.d.mts","./node_modules/@base-ui/react/combobox/arrow/comboboxarrow.d.mts","./node_modules/@base-ui/react/combobox/group/comboboxgroup.d.mts","./node_modules/@base-ui/react/combobox/group-label/comboboxgrouplabel.d.mts","./node_modules/@base-ui/react/autocomplete/item/autocompleteitem.d.mts","./node_modules/@base-ui/react/combobox/row/comboboxrow.d.mts","./node_modules/@base-ui/react/combobox/collection/comboboxcollection.d.mts","./node_modules/@base-ui/react/combobox/empty/comboboxempty.d.mts","./node_modules/@base-ui/react/internals/filter.d.mts","./node_modules/@base-ui/react/combobox/root/utils/usefilter.d.mts","./node_modules/@base-ui/react/combobox/root/utils/usefiltereditems.d.mts","./node_modules/@base-ui/react/autocomplete/index.parts.d.mts","./node_modules/@base-ui/react/autocomplete/index.d.mts","./node_modules/@base-ui/react/avatar/root/avatarroot.d.mts","./node_modules/@base-ui/react/avatar/image/avatarimage.d.mts","./node_modules/@base-ui/react/avatar/fallback/avatarfallback.d.mts","./node_modules/@base-ui/react/avatar/index.parts.d.mts","./node_modules/@base-ui/react/avatar/index.d.mts","./node_modules/@base-ui/react/button/button.d.mts","./node_modules/@base-ui/react/button/index.d.mts","./node_modules/@base-ui/react/checkbox/root/checkboxroot.d.mts","./node_modules/@base-ui/react/checkbox/indicator/checkboxindicator.d.mts","./node_modules/@base-ui/react/checkbox/index.parts.d.mts","./node_modules/@base-ui/react/checkbox/index.d.mts","./node_modules/@base-ui/react/checkbox-group/checkboxgroup.d.mts","./node_modules/@base-ui/react/checkbox-group/index.d.mts","./node_modules/@base-ui/react/collapsible/trigger/collapsibletrigger.d.mts","./node_modules/@base-ui/react/collapsible/panel/collapsiblepanel.d.mts","./node_modules/@base-ui/react/collapsible/index.parts.d.mts","./node_modules/@base-ui/react/collapsible/index.d.mts","./node_modules/@base-ui/react/combobox/root/comboboxroot.d.mts","./node_modules/@base-ui/react/combobox/label/comboboxlabel.d.mts","./node_modules/@base-ui/react/combobox/value/comboboxvalue.d.mts","./node_modules/@base-ui/react/combobox/input-group/comboboxinputgroup.d.mts","./node_modules/@base-ui/react/combobox/trigger/comboboxtrigger.d.mts","./node_modules/@base-ui/react/combobox/item/comboboxitem.d.mts","./node_modules/@base-ui/react/combobox/item-indicator/comboboxitemindicator.d.mts","./node_modules/@base-ui/react/combobox/chips/comboboxchips.d.mts","./node_modules/@base-ui/react/combobox/chip/comboboxchip.d.mts","./node_modules/@base-ui/react/combobox/chip-remove/comboboxchipremove.d.mts","./node_modules/@base-ui/react/separator/index.d.mts","./node_modules/@base-ui/react/combobox/index.parts.d.mts","./node_modules/@base-ui/react/combobox/index.d.mts","./node_modules/@base-ui/react/menu/arrow/menuarrow.d.mts","./node_modules/@base-ui/react/menu/backdrop/menubackdrop.d.mts","./node_modules/@base-ui/react/menu/store/menustore.d.mts","./node_modules/@base-ui/react/menu/root/menurootcontext.d.mts","./node_modules/@base-ui/react/menubar/menubarcontext.d.mts","./node_modules/@base-ui/react/context-menu/root/contextmenurootcontext.d.mts","./node_modules/@base-ui/react/menu/store/menuhandle.d.mts","./node_modules/@base-ui/react/menu/root/menuroot.d.mts","./node_modules/@base-ui/react/menu/checkbox-item/menucheckboxitem.d.mts","./node_modules/@base-ui/react/menu/checkbox-item-indicator/menucheckboxitemindicator.d.mts","./node_modules/@base-ui/react/menu/group/menugroup.d.mts","./node_modules/@base-ui/react/menu/group-label/menugrouplabel.d.mts","./node_modules/@base-ui/react/menu/item/menuitem.d.mts","./node_modules/@base-ui/react/menu/link-item/menulinkitem.d.mts","./node_modules/@base-ui/react/menu/popup/menupopup.d.mts","./node_modules/@base-ui/react/menu/portal/menuportal.d.mts","./node_modules/@base-ui/react/menu/positioner/menupositioner.d.mts","./node_modules/@base-ui/react/menu/radio-group/menuradiogroup.d.mts","./node_modules/@base-ui/react/menu/radio-item/menuradioitem.d.mts","./node_modules/@base-ui/react/menu/radio-item-indicator/menuradioitemindicator.d.mts","./node_modules/@base-ui/react/menu/submenu-root/menusubmenurootcontext.d.mts","./node_modules/@base-ui/react/menu/submenu-root/menusubmenuroot.d.mts","./node_modules/@base-ui/react/menu/trigger/menutrigger.d.mts","./node_modules/@base-ui/react/menu/viewport/menuviewport.d.mts","./node_modules/@base-ui/react/menu/submenu-trigger/menusubmenutrigger.d.mts","./node_modules/@base-ui/react/menu/index.parts.d.mts","./node_modules/@base-ui/react/menu/index.d.mts","./node_modules/@base-ui/react/context-menu/root/contextmenuroot.d.mts","./node_modules/@base-ui/react/context-menu/trigger/contextmenutrigger.d.mts","./node_modules/@base-ui/react/context-menu/index.parts.d.mts","./node_modules/@base-ui/react/context-menu/index.d.mts","./node_modules/@base-ui/react/csp-provider/cspprovider.d.mts","./node_modules/@base-ui/react/csp-provider/index.parts.d.mts","./node_modules/@base-ui/react/csp-provider/index.d.mts","./node_modules/@base-ui/react/dialog/index.parts.d.mts","./node_modules/@base-ui/react/dialog/index.d.mts","./node_modules/@base-ui/react/internals/direction-context/directioncontext.d.mts","./node_modules/@base-ui/react/direction-provider/directionprovider.d.mts","./node_modules/@base-ui/react/direction-provider/index.parts.d.mts","./node_modules/@base-ui/react/direction-provider/index.d.mts","./node_modules/@base-ui/react/drawer/backdrop/drawerbackdrop.d.mts","./node_modules/@base-ui/react/drawer/close/drawerclose.d.mts","./node_modules/@base-ui/react/drawer/content/drawercontent.d.mts","./node_modules/@base-ui/react/drawer/description/drawerdescription.d.mts","./node_modules/@base-ui/react/drawer/indent/drawerindent.d.mts","./node_modules/@base-ui/react/drawer/indent-background/drawerindentbackground.d.mts","./node_modules/@base-ui/react/utils/useswipedismiss.d.mts","./node_modules/@base-ui/react/drawer/root/drawerroot.d.mts","./node_modules/@base-ui/react/drawer/root/drawerrootcontext.d.mts","./node_modules/@base-ui/react/drawer/popup/drawerpopup.d.mts","./node_modules/@base-ui/react/drawer/portal/drawerportal.d.mts","./node_modules/@base-ui/react/drawer/provider/drawerprovider.d.mts","./node_modules/@base-ui/react/drawer/swipe-area/drawerswipearea.d.mts","./node_modules/@base-ui/react/drawer/title/drawertitle.d.mts","./node_modules/@base-ui/react/drawer/trigger/drawertrigger.d.mts","./node_modules/@base-ui/react/drawer/viewport/drawerviewport.d.mts","./node_modules/@base-ui/react/drawer/virtual-keyboard-provider/drawervirtualkeyboardprovider.d.mts","./node_modules/@base-ui/react/drawer/index.parts.d.mts","./node_modules/@base-ui/react/drawer/index.d.mts","./node_modules/@base-ui/react/field/label/fieldlabel.d.mts","./node_modules/@base-ui/react/field/error/fielderror.d.mts","./node_modules/@base-ui/react/field/description/fielddescription.d.mts","./node_modules/@base-ui/react/field/control/fieldcontrol.d.mts","./node_modules/@base-ui/react/field/validity/fieldvalidity.d.mts","./node_modules/@base-ui/react/field/item/fielditem.d.mts","./node_modules/@base-ui/react/field/index.parts.d.mts","./node_modules/@base-ui/react/field/index.d.mts","./node_modules/@base-ui/react/fieldset/root/fieldsetroot.d.mts","./node_modules/@base-ui/react/fieldset/legend/fieldsetlegend.d.mts","./node_modules/@base-ui/react/fieldset/index.parts.d.mts","./node_modules/@base-ui/react/fieldset/index.d.mts","./node_modules/@base-ui/react/input/input.d.mts","./node_modules/@base-ui/react/input/index.d.mts","./node_modules/@base-ui/react/menubar/menubar.d.mts","./node_modules/@base-ui/react/menubar/index.d.mts","./node_modules/@base-ui/react/merge-props/mergeprops.d.mts","./node_modules/@base-ui/react/merge-props/index.d.mts","./node_modules/@base-ui/react/meter/root/meterroot.d.mts","./node_modules/@base-ui/react/meter/track/metertrack.d.mts","./node_modules/@base-ui/react/meter/indicator/meterindicator.d.mts","./node_modules/@base-ui/react/meter/value/metervalue.d.mts","./node_modules/@base-ui/react/meter/label/meterlabel.d.mts","./node_modules/@base-ui/react/meter/index.parts.d.mts","./node_modules/@base-ui/react/meter/index.d.mts","./node_modules/@base-ui/react/navigation-menu/root/navigationmenuroot.d.mts","./node_modules/@base-ui/react/navigation-menu/list/navigationmenulist.d.mts","./node_modules/@base-ui/react/navigation-menu/item/navigationmenuitem.d.mts","./node_modules/@base-ui/react/navigation-menu/content/navigationmenucontent.d.mts","./node_modules/@base-ui/react/navigation-menu/trigger/navigationmenutrigger.d.mts","./node_modules/@base-ui/react/navigation-menu/portal/navigationmenuportal.d.mts","./node_modules/@base-ui/react/navigation-menu/positioner/navigationmenupositioner.d.mts","./node_modules/@base-ui/react/navigation-menu/viewport/navigationmenuviewport.d.mts","./node_modules/@base-ui/react/navigation-menu/backdrop/navigationmenubackdrop.d.mts","./node_modules/@base-ui/react/navigation-menu/popup/navigationmenupopup.d.mts","./node_modules/@base-ui/react/navigation-menu/arrow/navigationmenuarrow.d.mts","./node_modules/@base-ui/react/navigation-menu/link/navigationmenulink.d.mts","./node_modules/@base-ui/react/navigation-menu/icon/navigationmenuicon.d.mts","./node_modules/@base-ui/react/navigation-menu/index.parts.d.mts","./node_modules/@base-ui/react/navigation-menu/index.d.mts","./node_modules/@base-ui/react/number-field/utils/types.d.mts","./node_modules/@base-ui/react/number-field/root/numberfieldroot.d.mts","./node_modules/@base-ui/react/number-field/group/numberfieldgroup.d.mts","./node_modules/@base-ui/react/number-field/increment/numberfieldincrement.d.mts","./node_modules/@base-ui/react/number-field/decrement/numberfielddecrement.d.mts","./node_modules/@base-ui/react/number-field/input/numberfieldinput.d.mts","./node_modules/@base-ui/react/number-field/scrub-area/numberfieldscrubarea.d.mts","./node_modules/@base-ui/react/number-field/scrub-area-cursor/numberfieldscrubareacursor.d.mts","./node_modules/@base-ui/react/number-field/index.parts.d.mts","./node_modules/@base-ui/react/number-field/index.d.mts","./node_modules/@base-ui/react/otp-field/utils/otp.d.mts","./node_modules/@base-ui/react/otp-field/root/otpfieldroot.d.mts","./node_modules/@base-ui/react/otp-field/input/otpfieldinput.d.mts","./node_modules/@base-ui/react/otp-field/index.parts.d.mts","./node_modules/@base-ui/react/otp-field/index.d.mts","./node_modules/@base-ui/utils/usetimeout.d.mts","./node_modules/@base-ui/react/popover/store/popoverstore.d.mts","./node_modules/@base-ui/react/popover/store/popoverhandle.d.mts","./node_modules/@base-ui/react/popover/root/popoverroot.d.mts","./node_modules/@base-ui/react/popover/trigger/popovertrigger.d.mts","./node_modules/@base-ui/react/popover/portal/popoverportal.d.mts","./node_modules/@base-ui/react/popover/positioner/popoverpositioner.d.mts","./node_modules/@base-ui/react/popover/popup/popoverpopup.d.mts","./node_modules/@base-ui/react/popover/arrow/popoverarrow.d.mts","./node_modules/@base-ui/react/popover/backdrop/popoverbackdrop.d.mts","./node_modules/@base-ui/react/popover/title/popovertitle.d.mts","./node_modules/@base-ui/react/popover/description/popoverdescription.d.mts","./node_modules/@base-ui/react/popover/close/popoverclose.d.mts","./node_modules/@base-ui/react/popover/viewport/popoverviewport.d.mts","./node_modules/@base-ui/react/popover/index.parts.d.mts","./node_modules/@base-ui/react/popover/index.d.mts","./node_modules/@base-ui/react/preview-card/store/previewcardstore.d.mts","./node_modules/@base-ui/react/preview-card/store/previewcardhandle.d.mts","./node_modules/@base-ui/react/preview-card/root/previewcardroot.d.mts","./node_modules/@base-ui/react/utils/floatingportallite.d.mts","./node_modules/@base-ui/react/preview-card/portal/previewcardportal.d.mts","./node_modules/@base-ui/react/preview-card/trigger/previewcardtrigger.d.mts","./node_modules/@base-ui/react/preview-card/positioner/previewcardpositioner.d.mts","./node_modules/@base-ui/react/preview-card/popup/previewcardpopup.d.mts","./node_modules/@base-ui/react/preview-card/arrow/previewcardarrow.d.mts","./node_modules/@base-ui/react/preview-card/backdrop/previewcardbackdrop.d.mts","./node_modules/@base-ui/react/preview-card/viewport/previewcardviewport.d.mts","./node_modules/@base-ui/react/preview-card/index.parts.d.mts","./node_modules/@base-ui/react/preview-card/index.d.mts","./node_modules/@base-ui/react/progress/root/progressroot.d.mts","./node_modules/@base-ui/react/progress/track/progresstrack.d.mts","./node_modules/@base-ui/react/progress/indicator/progressindicator.d.mts","./node_modules/@base-ui/react/progress/value/progressvalue.d.mts","./node_modules/@base-ui/react/progress/label/progresslabel.d.mts","./node_modules/@base-ui/react/progress/index.parts.d.mts","./node_modules/@base-ui/react/progress/index.d.mts","./node_modules/@base-ui/react/radio/root/radioroot.d.mts","./node_modules/@base-ui/react/radio/indicator/radioindicator.d.mts","./node_modules/@base-ui/react/radio/index.parts.d.mts","./node_modules/@base-ui/react/radio/index.d.mts","./node_modules/@base-ui/react/radio-group/radiogroup.d.mts","./node_modules/@base-ui/react/radio-group/index.d.mts","./node_modules/@base-ui/react/scroll-area/root/scrollarearoot.d.mts","./node_modules/@base-ui/react/scroll-area/viewport/scrollareaviewport.d.mts","./node_modules/@base-ui/react/scroll-area/scrollbar/scrollareascrollbar.d.mts","./node_modules/@base-ui/react/scroll-area/content/scrollareacontent.d.mts","./node_modules/@base-ui/react/scroll-area/thumb/scrollareathumb.d.mts","./node_modules/@base-ui/react/scroll-area/corner/scrollareacorner.d.mts","./node_modules/@base-ui/react/scroll-area/index.parts.d.mts","./node_modules/@base-ui/react/scroll-area/index.d.mts","./node_modules/@base-ui/react/slider/root/sliderroot.d.mts","./node_modules/@base-ui/react/slider/label/sliderlabel.d.mts","./node_modules/@base-ui/react/slider/value/slidervalue.d.mts","./node_modules/@base-ui/react/slider/control/slidercontrol.d.mts","./node_modules/@base-ui/react/slider/track/slidertrack.d.mts","./node_modules/@base-ui/react/internals/labelable-provider/labelablecontext.d.mts","./node_modules/@base-ui/react/slider/thumb/sliderthumb.d.mts","./node_modules/@base-ui/react/slider/indicator/sliderindicator.d.mts","./node_modules/@base-ui/react/slider/index.parts.d.mts","./node_modules/@base-ui/react/slider/index.d.mts","./node_modules/@base-ui/react/switch/root/switchroot.d.mts","./node_modules/@base-ui/react/switch/thumb/switchthumb.d.mts","./node_modules/@base-ui/react/switch/index.parts.d.mts","./node_modules/@base-ui/react/switch/index.d.mts","./node_modules/@base-ui/react/tabs/tab/tabstab.d.mts","./node_modules/@base-ui/react/tabs/root/tabsroot.d.mts","./node_modules/@base-ui/react/tabs/indicator/tabsindicator.d.mts","./node_modules/@base-ui/react/tabs/panel/tabspanel.d.mts","./node_modules/@base-ui/react/tabs/list/tabslist.d.mts","./node_modules/@base-ui/react/tabs/index.parts.d.mts","./node_modules/@base-ui/react/tabs/index.d.mts","./node_modules/@base-ui/react/toast/positioner/toastpositioner.d.mts","./node_modules/@base-ui/react/toast/usetoastmanager.d.mts","./node_modules/@base-ui/react/toast/createtoastmanager.d.mts","./node_modules/@base-ui/react/toast/provider/toastprovider.d.mts","./node_modules/@base-ui/react/toast/viewport/toastviewport.d.mts","./node_modules/@base-ui/react/toast/root/toastroot.d.mts","./node_modules/@base-ui/react/toast/content/toastcontent.d.mts","./node_modules/@base-ui/react/toast/description/toastdescription.d.mts","./node_modules/@base-ui/react/toast/title/toasttitle.d.mts","./node_modules/@base-ui/react/toast/close/toastclose.d.mts","./node_modules/@base-ui/react/toast/action/toastaction.d.mts","./node_modules/@base-ui/react/toast/portal/toastportal.d.mts","./node_modules/@base-ui/react/toast/arrow/toastarrow.d.mts","./node_modules/@base-ui/react/toast/index.parts.d.mts","./node_modules/@base-ui/react/toast/index.d.mts","./node_modules/@base-ui/react/toggle/toggle.d.mts","./node_modules/@base-ui/react/toggle/index.d.mts","./node_modules/@base-ui/react/toggle-group/togglegroup.d.mts","./node_modules/@base-ui/react/toggle-group/index.d.mts","./node_modules/@base-ui/react/toolbar/separator/toolbarseparator.d.mts","./node_modules/@base-ui/react/toolbar/root/toolbarroot.d.mts","./node_modules/@base-ui/react/toolbar/group/toolbargroup.d.mts","./node_modules/@base-ui/react/toolbar/button/toolbarbutton.d.mts","./node_modules/@base-ui/react/toolbar/link/toolbarlink.d.mts","./node_modules/@base-ui/react/toolbar/input/toolbarinput.d.mts","./node_modules/@base-ui/react/toolbar/index.parts.d.mts","./node_modules/@base-ui/react/toolbar/index.d.mts","./node_modules/@base-ui/react/use-render/userender.d.mts","./node_modules/@base-ui/react/use-render/index.d.mts","./node_modules/@base-ui/react/index.d.mts","./node_modules/@base-ui/react/tooltip/store/tooltipstore.d.mts","./node_modules/@base-ui/react/tooltip/store/tooltiphandle.d.mts","./node_modules/@base-ui/react/tooltip/root/tooltiproot.d.mts","./node_modules/@base-ui/react/tooltip/trigger/tooltiptrigger.d.mts","./node_modules/@base-ui/react/tooltip/portal/tooltipportal.d.mts","./node_modules/@base-ui/react/tooltip/positioner/tooltippositioner.d.mts","./node_modules/@base-ui/react/tooltip/popup/tooltippopup.d.mts","./node_modules/@base-ui/react/tooltip/arrow/tooltiparrow.d.mts","./node_modules/@base-ui/react/tooltip/provider/tooltipprovider.d.mts","./node_modules/@base-ui/react/tooltip/viewport/tooltipviewport.d.mts","./node_modules/@base-ui/react/tooltip/index.parts.d.mts","./node_modules/@base-ui/react/tooltip/index.d.mts","./src/components/ui/tooltip.tsx","./node_modules/react-hook-form/dist/constants.d.ts","./node_modules/react-hook-form/dist/utils/createsubject.d.ts","./node_modules/react-hook-form/dist/types/events.d.ts","./node_modules/react-hook-form/dist/types/path/common.d.ts","./node_modules/react-hook-form/dist/types/path/eager.d.ts","./node_modules/react-hook-form/dist/types/path/index.d.ts","./node_modules/react-hook-form/dist/types/fieldarray.d.ts","./node_modules/react-hook-form/dist/types/resolvers.d.ts","./node_modules/react-hook-form/dist/types/form.d.ts","./node_modules/react-hook-form/dist/types/utils.d.ts","./node_modules/react-hook-form/dist/types/fields.d.ts","./node_modules/react-hook-form/dist/types/errors.d.ts","./node_modules/react-hook-form/dist/types/validator.d.ts","./node_modules/react-hook-form/dist/types/controller.d.ts","./node_modules/react-hook-form/dist/types/watch.d.ts","./node_modules/react-hook-form/dist/types/index.d.ts","./node_modules/react-hook-form/dist/controller.d.ts","./node_modules/react-hook-form/dist/fieldarray.d.ts","./node_modules/react-hook-form/dist/form.d.ts","./node_modules/react-hook-form/dist/formstatesubscribe.d.ts","./node_modules/react-hook-form/dist/logic/appenderrors.d.ts","./node_modules/react-hook-form/dist/logic/createformcontrol.d.ts","./node_modules/react-hook-form/dist/logic/index.d.ts","./node_modules/react-hook-form/dist/usecontroller.d.ts","./node_modules/react-hook-form/dist/usefieldarray.d.ts","./node_modules/react-hook-form/dist/useform.d.ts","./node_modules/react-hook-form/dist/useformcontext.d.ts","./node_modules/react-hook-form/dist/useformstate.d.ts","./node_modules/react-hook-form/dist/usewatch.d.ts","./node_modules/react-hook-form/dist/utils/get.d.ts","./node_modules/react-hook-form/dist/utils/set.d.ts","./node_modules/react-hook-form/dist/utils/index.d.ts","./node_modules/react-hook-form/dist/watch.d.ts","./node_modules/react-hook-form/dist/index.d.ts","./src/utils/textutils.ts","./src/components/ui/label.tsx","./src/components/ui/separator.tsx","./src/components/shared/form/field.tsx","./src/components/common_components/mountedformfield.tsx","./src/components/common_components/check_openapi_schema.tsx","./src/components/mcp_tools/types.tsx","./src/app/(dashboard)/caching/_components/coordination_redis_settings/types.ts","./src/components/mcp_tools/constants.ts","./src/components/ui/button.tsx","./src/components/ui/input-group.tsx","./src/components/ui/combobox.tsx","./src/components/shared/multiselect.tsx","./src/components/ui/card.tsx","./src/components/add_model/complexity_router_keywords.ts","./src/components/shared/searchselect.tsx","./src/components/ui/switch.tsx","./src/components/ui/collapsible.tsx","./src/components/key_team_helpers/fetch_available_models_team_key.tsx","./src/components/llm_calls/fetch_models.tsx","./src/components/ui/radio-group.tsx","./src/components/ui/slider.tsx","./src/components/add_model/adaptiveroutingconfig.tsx","./src/utils/returnurlutils.ts","./src/utils/roles.ts","./node_modules/@tanstack/query-core/build/modern/_tsup-dts-rollup.d.ts","./node_modules/@tanstack/query-core/build/modern/index.d.ts","./node_modules/@tanstack/react-query/build/modern/_tsup-dts-rollup.d.ts","./node_modules/@tanstack/react-query/build/modern/index.d.ts","./src/app/(dashboard)/hooks/common/querykeysfactory.ts","./src/app/(dashboard)/hooks/uiconfig/useuiconfig.ts","./src/app/(dashboard)/hooks/useauthorized.ts","./src/components/ui/dialog.tsx","./src/components/add_model/classifierprompteditorstate.ts","./src/components/add_model/classifierprompteditor.tsx","./src/app/(dashboard)/hooks/autorouter/usecomplexityscorerdefaults.ts","./src/components/ui/badge.tsx","./src/components/add_model/heuristic_scoring_knobs.ts","./src/components/add_model/heuristicscoringconfig.tsx","./src/components/add_model/classificationmethodconfig.tsx","./src/components/add_model/escalationkeywords.tsx","./src/components/add_model/semantickeywordmatching.tsx","./src/components/add_model/complexityrouterconfig.tsx","./src/components/add_model/complexity_router_tiers.ts","./src/components/add_model/keywordtierrules.tsx","./src/components/add_model/build_complexity_router_config.ts","./src/components/vector_store_management/types.tsx","./node_modules/@tanstack/table-core/build/lib/utils.d.ts","./node_modules/@tanstack/table-core/build/lib/core/table.d.ts","./node_modules/@tanstack/table-core/build/lib/features/columnvisibility.d.ts","./node_modules/@tanstack/table-core/build/lib/features/columnordering.d.ts","./node_modules/@tanstack/table-core/build/lib/features/columnpinning.d.ts","./node_modules/@tanstack/table-core/build/lib/features/rowpinning.d.ts","./node_modules/@tanstack/table-core/build/lib/core/headers.d.ts","./node_modules/@tanstack/table-core/build/lib/features/columnfaceting.d.ts","./node_modules/@tanstack/table-core/build/lib/features/globalfaceting.d.ts","./node_modules/@tanstack/table-core/build/lib/filterfns.d.ts","./node_modules/@tanstack/table-core/build/lib/features/columnfiltering.d.ts","./node_modules/@tanstack/table-core/build/lib/features/globalfiltering.d.ts","./node_modules/@tanstack/table-core/build/lib/sortingfns.d.ts","./node_modules/@tanstack/table-core/build/lib/features/rowsorting.d.ts","./node_modules/@tanstack/table-core/build/lib/aggregationfns.d.ts","./node_modules/@tanstack/table-core/build/lib/features/columngrouping.d.ts","./node_modules/@tanstack/table-core/build/lib/features/rowexpanding.d.ts","./node_modules/@tanstack/table-core/build/lib/features/columnsizing.d.ts","./node_modules/@tanstack/table-core/build/lib/features/rowpagination.d.ts","./node_modules/@tanstack/table-core/build/lib/features/rowselection.d.ts","./node_modules/@tanstack/table-core/build/lib/core/row.d.ts","./node_modules/@tanstack/table-core/build/lib/core/cell.d.ts","./node_modules/@tanstack/table-core/build/lib/core/column.d.ts","./node_modules/@tanstack/table-core/build/lib/types.d.ts","./node_modules/@tanstack/table-core/build/lib/columnhelper.d.ts","./node_modules/@tanstack/table-core/build/lib/utils/getcorerowmodel.d.ts","./node_modules/@tanstack/table-core/build/lib/utils/getexpandedrowmodel.d.ts","./node_modules/@tanstack/table-core/build/lib/utils/getfacetedminmaxvalues.d.ts","./node_modules/@tanstack/table-core/build/lib/utils/getfacetedrowmodel.d.ts","./node_modules/@tanstack/table-core/build/lib/utils/getfaceteduniquevalues.d.ts","./node_modules/@tanstack/table-core/build/lib/utils/getfilteredrowmodel.d.ts","./node_modules/@tanstack/table-core/build/lib/utils/getgroupedrowmodel.d.ts","./node_modules/@tanstack/table-core/build/lib/utils/getpaginationrowmodel.d.ts","./node_modules/@tanstack/table-core/build/lib/utils/getsortedrowmodel.d.ts","./node_modules/@tanstack/table-core/build/lib/index.d.ts","./node_modules/@tanstack/react-table/build/lib/index.d.ts","./src/components/shared/datatable/types.ts","./src/components/shared/datatable/columnmeta.ts","./src/components/ui/skeleton.tsx","./src/components/ui/table.tsx","./src/components/shared/datatable/datatablepagination.tsx","./src/components/shared/datatable/datatable.tsx","./src/components/ui/sheet.tsx","./src/components/shared/datatable/datatablefilterdrawer.tsx","./src/components/ui/checkbox.tsx","./src/components/shared/datatable/datatableselectioncolumn.tsx","./src/components/shared/datatable/datatableviewoptions.tsx","./src/components/shared/datatable/datatabletoolbar.tsx","./src/components/shared/datatable/datatablesortheader.tsx","./src/components/shared/datatable/index.ts","./src/app/(dashboard)/hooks/models/usemodels.ts","./src/components/shared/table_cells/autoroutertag.tsx","./src/components/shared/table_cells/cell_tooltip.tsx","./src/components/shared/table_cells/date_cell.tsx","./src/utils/datautils.ts","./src/components/shared/table_cells/id_cell.tsx","./src/components/shared/entitylink.tsx","./src/components/shared/table_cells/identity_cell.tsx","./src/components/key_scope.ts","./src/components/shared/table_cells/models_cell.tsx","./src/components/shared/table_cells/money_cell.tsx","./src/components/shared/inheritedbudgethint.tsx","./src/components/ui/meter.tsx","./src/components/shared/table_cells/spend_budget_cell.tsx","./src/components/shared/table_cells/status_badge.tsx","./src/components/shared/table_cells/index.ts","./src/utils/migratedpages.ts","./src/utils/entitylinks.ts","./src/app/(dashboard)/vector-stores/_components/indexestablecolumns.tsx","./src/app/(dashboard)/vector-stores/_components/indexestable.tsx","./src/app/(dashboard)/vector-stores/_components/indexestab.tsx","./src/components/view_logs/logdetailsdrawer/routingdecisioncard.tsx","./src/lib/http/resolveapibase.ts","./src/lib/http/runtime.ts","./src/lib/serverrootpath.ts","./src/components/networking.tsx","./src/app/(dashboard)/networking.ts","./src/app/(dashboard)/access-groups/_components/types.ts","./node_modules/vitest/dist/chunks/worker.d.uzwscv9x.d.ts","./node_modules/vitest/dist/chunks/global.d.mamajcmj.d.ts","./node_modules/vitest/dist/chunks/mocker.d.be_2ls6u.d.ts","./node_modules/vitest/dist/chunks/suite.d.fvehnv49.d.ts","./node_modules/expect-type/dist/utils.d.ts","./node_modules/expect-type/dist/overloads.d.ts","./node_modules/expect-type/dist/branding.d.ts","./node_modules/expect-type/dist/messages.d.ts","./node_modules/expect-type/dist/index.d.ts","./node_modules/vitest/dist/index.d.ts","./node_modules/zod/v4/core/standard-schema.d.cts","./node_modules/zod/v4/core/util.d.cts","./node_modules/zod/v4/core/versions.d.cts","./node_modules/zod/v4/core/schemas.d.cts","./node_modules/zod/v4/core/checks.d.cts","./node_modules/zod/v4/core/errors.d.cts","./node_modules/zod/v4/core/core.d.cts","./node_modules/zod/v4/core/parse.d.cts","./node_modules/zod/v4/core/regexes.d.cts","./node_modules/zod/v4/locales/ar.d.cts","./node_modules/zod/v4/locales/az.d.cts","./node_modules/zod/v4/locales/be.d.cts","./node_modules/zod/v4/locales/ca.d.cts","./node_modules/zod/v4/locales/cs.d.cts","./node_modules/zod/v4/locales/de.d.cts","./node_modules/zod/v4/locales/en.d.cts","./node_modules/zod/v4/locales/eo.d.cts","./node_modules/zod/v4/locales/es.d.cts","./node_modules/zod/v4/locales/fa.d.cts","./node_modules/zod/v4/locales/fi.d.cts","./node_modules/zod/v4/locales/fr.d.cts","./node_modules/zod/v4/locales/fr-ca.d.cts","./node_modules/zod/v4/locales/he.d.cts","./node_modules/zod/v4/locales/hu.d.cts","./node_modules/zod/v4/locales/id.d.cts","./node_modules/zod/v4/locales/it.d.cts","./node_modules/zod/v4/locales/ja.d.cts","./node_modules/zod/v4/locales/kh.d.cts","./node_modules/zod/v4/locales/ko.d.cts","./node_modules/zod/v4/locales/mk.d.cts","./node_modules/zod/v4/locales/ms.d.cts","./node_modules/zod/v4/locales/nl.d.cts","./node_modules/zod/v4/locales/no.d.cts","./node_modules/zod/v4/locales/ota.d.cts","./node_modules/zod/v4/locales/ps.d.cts","./node_modules/zod/v4/locales/pl.d.cts","./node_modules/zod/v4/locales/pt.d.cts","./node_modules/zod/v4/locales/ru.d.cts","./node_modules/zod/v4/locales/sl.d.cts","./node_modules/zod/v4/locales/sv.d.cts","./node_modules/zod/v4/locales/ta.d.cts","./node_modules/zod/v4/locales/th.d.cts","./node_modules/zod/v4/locales/tr.d.cts","./node_modules/zod/v4/locales/ua.d.cts","./node_modules/zod/v4/locales/ur.d.cts","./node_modules/zod/v4/locales/vi.d.cts","./node_modules/zod/v4/locales/zh-cn.d.cts","./node_modules/zod/v4/locales/zh-tw.d.cts","./node_modules/zod/v4/locales/index.d.cts","./node_modules/zod/v4/core/registries.d.cts","./node_modules/zod/v4/core/doc.d.cts","./node_modules/zod/v4/core/function.d.cts","./node_modules/zod/v4/core/api.d.cts","./node_modules/zod/v4/core/json-schema.d.cts","./node_modules/zod/v4/core/to-json-schema.d.cts","./node_modules/zod/v4/core/index.d.cts","./node_modules/zod/v4/classic/errors.d.cts","./node_modules/zod/v4/classic/parse.d.cts","./node_modules/zod/v4/classic/schemas.d.cts","./node_modules/zod/v4/classic/checks.d.cts","./node_modules/zod/v4/classic/compat.d.cts","./node_modules/zod/v4/classic/iso.d.cts","./node_modules/zod/v4/classic/coerce.d.cts","./node_modules/zod/v4/classic/external.d.cts","./node_modules/zod/v4/classic/index.d.cts","./node_modules/zod/v4/index.d.cts","./src/app/(dashboard)/access-groups/_components/access-group-create/schema.ts","./src/app/(dashboard)/access-groups/_components/access-group-create/mapper.ts","./src/app/(dashboard)/access-groups/_components/access-group-create/mapper.test.ts","./src/app/(dashboard)/agents/_components/agent_config.ts","./src/app/(dashboard)/agents/_components/agent_discovery_utils.ts","./src/app/(dashboard)/agents/_components/agent_discovery_utils.test.ts","./src/components/agents/types.ts","./src/app/(dashboard)/agents/_components/agent_type_utils.ts","./src/app/(dashboard)/budgets/_components/budgetprecision.ts","./src/app/(dashboard)/budgets/_components/budgetprecision.test.ts","./src/app/(dashboard)/budgets/_components/constants.ts","./src/app/(dashboard)/caching/_components/cache_settings/cachesettingsfields.ts","./src/app/(dashboard)/caching/_components/cache_settings/cachesettingsutils.ts","./src/app/(dashboard)/caching/_components/cache_settings/cachesettingsutils.test.ts","./src/app/(dashboard)/caching/_components/coordination_redis_settings/coordinationredisfields.ts","./src/app/(dashboard)/caching/_components/coordination_redis_settings/coordinationredisutils.ts","./src/app/(dashboard)/caching/_components/coordination_redis_settings/coordinationredisutils.test.ts","./src/app/(dashboard)/cost-optimization/_components/autorouterbenchmarks.ts","./src/app/(dashboard)/cost-optimization/_components/autorouterbenchmarks.test.ts","./src/components/usagepage/types.ts","./src/app/(dashboard)/cost-optimization/_components/costoptimizationutils.ts","./src/app/(dashboard)/cost-optimization/_components/costoptimizationutils.test.ts","./src/app/(dashboard)/cost-optimization/_components/helpers.ts","./src/app/(dashboard)/cost-optimization/_components/helpers.test.ts","./node_modules/openapi-typescript-helpers/dist/index.d.mts","./node_modules/openapi-fetch/dist/index.d.mts","./node_modules/openapi-react-query/dist/index.d.mts","./src/lib/http/api.ts","./src/app/(dashboard)/cost-optimization/_components/useautorouterbenchmarks.ts","./src/app/(dashboard)/usage/_components/hooks/usepaginateddailyactivity.ts","./src/app/(dashboard)/cost-optimization/_components/usedailyactivityrange.ts","./src/app/(dashboard)/cost-optimization/_components/useshadoweval.ts","./src/app/(dashboard)/cost-optimization/_components/useshadoweval.test.ts","./src/components/ui/alert-dialog.tsx","./src/components/ui/tabs.tsx","./src/app/(dashboard)/cost-tracking/_components/types.ts","./src/components/common_components/simple_table.tsx","./src/lib/assetpaths.ts","./src/components/provider_info_helpers.tsx","./src/components/molecules/logo/logo.tsx","./src/app/(dashboard)/cost-tracking/_components/provider_discount_table.tsx","./src/app/(dashboard)/cost-tracking/_components/add_provider_form.tsx","./src/app/(dashboard)/cost-tracking/_components/provider_margin_table.tsx","./src/app/(dashboard)/cost-tracking/_components/add_margin_form.tsx","./src/app/(dashboard)/cost-tracking/_components/pricing_calculator/types.ts","./src/hooks/use-safe-layout-effect.ts","./src/components/ui/ui-loading-spinner.tsx","./src/components/ui/dropdown-menu.tsx","./src/app/(dashboard)/cost-tracking/_components/pricing_calculator/multi_export_utils.ts","./src/app/(dashboard)/cost-tracking/_components/pricing_calculator/multi_export_dropdown.tsx","./src/app/(dashboard)/cost-tracking/_components/pricing_calculator/multi_cost_results.tsx","./src/app/(dashboard)/cost-tracking/_components/pricing_calculator/use_multi_cost_estimate.ts","./src/app/(dashboard)/cost-tracking/_components/pricing_calculator/index.tsx","./src/components/helplink.tsx","./node_modules/@types/react-syntax-highlighter/index.d.ts","./src/components/codeblock.tsx","./src/app/(dashboard)/cost-tracking/_components/how_it_works.tsx","./src/app/(dashboard)/cost-tracking/_components/provider_display_helpers.ts","./src/app/(dashboard)/cost-tracking/_components/use_discount_config.ts","./src/app/(dashboard)/cost-tracking/_components/use_margin_config.ts","./src/app/(dashboard)/cost-tracking/_components/cost_tracking_settings.tsx","./src/app/(dashboard)/cost-tracking/_components/index.ts","./src/app/(dashboard)/cost-tracking/_components/provider_display_helpers.test.ts","./node_modules/@types/aria-query/index.d.ts","./node_modules/@testing-library/dom/types/matches.d.ts","./node_modules/@testing-library/dom/types/wait-for.d.ts","./node_modules/@testing-library/dom/types/query-helpers.d.ts","./node_modules/@testing-library/dom/types/queries.d.ts","./node_modules/@testing-library/dom/types/get-queries-for-element.d.ts","./node_modules/pretty-format/build/types.d.ts","./node_modules/pretty-format/build/index.d.ts","./node_modules/@testing-library/dom/types/screen.d.ts","./node_modules/@testing-library/dom/types/wait-for-element-to-be-removed.d.ts","./node_modules/@testing-library/dom/types/get-node-text.d.ts","./node_modules/@testing-library/dom/types/events.d.ts","./node_modules/@testing-library/dom/types/pretty-dom.d.ts","./node_modules/@testing-library/dom/types/role-helpers.d.ts","./node_modules/@testing-library/dom/types/config.d.ts","./node_modules/@testing-library/dom/types/suggestions.d.ts","./node_modules/@testing-library/dom/types/index.d.ts","./node_modules/@types/react-dom/test-utils/index.d.ts","./node_modules/@testing-library/react/types/index.d.ts","./src/app/(dashboard)/cost-tracking/_components/use_discount_config.test.ts","./src/app/(dashboard)/cost-tracking/_components/use_margin_config.test.ts","./src/app/(dashboard)/cost-tracking/_components/pricing_calculator/multi_export_utils.test.ts","./src/app/(dashboard)/cost-tracking/_components/pricing_calculator/use_multi_cost_estimate.test.ts","./src/app/(dashboard)/guardrails/_components/guardrail_garden_configs.ts","./src/app/(dashboard)/guardrails/_components/guardrail_info_helpers.tsx","./src/app/(dashboard)/guardrails/_components/guardrail_garden_data.ts","./src/app/(dashboard)/guardrails/_components/guardrail_garden_data.test.ts","./src/app/(dashboard)/guardrails/_components/content_filter/action_options.ts","./src/app/(dashboard)/guardrails/_components/content_filter/dialog_layering.ts","./src/app/(dashboard)/guardrails/_components/custom_code/customcodemodal.tsx","./src/app/(dashboard)/guardrails/_components/custom_code/index.ts","./src/app/(dashboard)/hooks/useauthorized.serverrootpath.test.ts","./src/app/(dashboard)/hooks/useauthorized.test.ts","./src/utils/capabilities.ts","./src/app/(dashboard)/hooks/organizations/useorganizations.ts","./src/app/(dashboard)/hooks/useisorgadmin.ts","./src/app/(dashboard)/hooks/usecan.ts","./src/utils/localstorageutils.ts","./src/app/(dashboard)/hooks/usedisableblogposts.ts","./src/app/(dashboard)/hooks/usedisablebouncingicon.ts","./src/app/(dashboard)/hooks/usedisableshownewbadge.ts","./src/app/(dashboard)/hooks/usedisableshownewbadge.test.ts","./src/app/(dashboard)/hooks/usedisableshowprompts.ts","./src/app/(dashboard)/hooks/usedisableshowprompts.test.ts","./src/app/(dashboard)/hooks/usehideautorouterannouncement.ts","./src/app/(dashboard)/hooks/useisorgadmin.test.ts","./src/utils/proxyutils.ts","./src/app/(dashboard)/hooks/proxysettings/useproxysettings.ts","./src/app/(dashboard)/hooks/uselogout.ts","./src/utils/tabroutes.ts","./src/app/(dashboard)/hooks/usetabrouting.ts","./src/app/(dashboard)/hooks/accessgroups/useaccessgroups.ts","./src/app/(dashboard)/hooks/accessgroups/useaccessgroupdetails.ts","./src/app/(dashboard)/hooks/accessgroups/useaccessgroups.test.ts","./src/app/(dashboard)/hooks/accessgroups/usedeleteaccessgroup.ts","./src/app/(dashboard)/hooks/accessgroups/useeditaccessgroup.ts","./src/app/(dashboard)/hooks/agents/useagents.ts","./src/app/(dashboard)/hooks/agents/useagents.test.ts","./src/app/(dashboard)/hooks/blogposts/useblogposts.ts","./src/app/(dashboard)/hooks/budgets/budgetfilters.ts","./src/app/(dashboard)/hooks/budgets/budgetfilters.test.ts","./node_modules/@tanstack/react-store/dist/createstorecontext.d.ts","./node_modules/@tanstack/store/dist/alien.d.ts","./node_modules/@tanstack/store/dist/types.d.ts","./node_modules/@tanstack/store/dist/atom.d.ts","./node_modules/@tanstack/store/dist/store.d.ts","./node_modules/@tanstack/store/dist/shallow.d.ts","./node_modules/@tanstack/store/dist/index.d.ts","./node_modules/@tanstack/react-store/dist/usecreateatom.d.ts","./node_modules/@tanstack/react-store/dist/usecreatestore.d.ts","./node_modules/@tanstack/react-store/dist/useselector.d.ts","./node_modules/@tanstack/react-store/dist/useatom.d.ts","./node_modules/@tanstack/react-store/dist/_usestore.d.ts","./node_modules/@tanstack/react-store/dist/usestore.d.ts","./node_modules/@tanstack/react-store/dist/index.d.ts","./node_modules/@tanstack/pacer/dist/types.d.ts","./node_modules/@tanstack/pacer/dist/debouncer.d.ts","./node_modules/@tanstack/react-pacer/dist/debouncer/usedebouncer.d.ts","./node_modules/@tanstack/react-pacer/dist/debouncer/usedebouncedcallback.d.ts","./node_modules/@tanstack/react-pacer/dist/debouncer/usedebouncedstate.d.ts","./node_modules/@tanstack/react-pacer/dist/debouncer/usedebouncedvalue.d.ts","./node_modules/@tanstack/react-pacer/dist/debouncer/index.d.ts","./src/utils/debounceconstants.ts","./src/app/(dashboard)/hooks/common/useresourcelist.ts","./src/app/(dashboard)/hooks/budgets/usebudgets.ts","./src/app/(dashboard)/hooks/caching/usecacheactivity.ts","./src/app/(dashboard)/hooks/caching/usecacheactivity.test.ts","./src/app/(dashboard)/hooks/cloudzero/usecloudzerocreate.ts","./src/app/(dashboard)/hooks/cloudzero/usecloudzerocreate.test.ts","./src/app/(dashboard)/hooks/cloudzero/usecloudzerodryrun.ts","./src/app/(dashboard)/hooks/cloudzero/usecloudzerodryrun.test.ts","./src/app/(dashboard)/hooks/cloudzero/usecloudzeroexport.ts","./src/app/(dashboard)/hooks/cloudzero/usecloudzeroexport.test.ts","./src/components/cloudzerocosttracking/types.ts","./src/app/(dashboard)/hooks/cloudzero/usecloudzerosettings.ts","./src/app/(dashboard)/hooks/cloudzero/usecloudzerosettings.test.ts","./src/app/(dashboard)/hooks/common/querykeysfactory.test.ts","./src/app/(dashboard)/hooks/configoverrides/hashicorpvaultapi.ts","./src/app/(dashboard)/hooks/configoverrides/usehashicorpvaultconfig.ts","./src/app/(dashboard)/hooks/configoverrides/usedeletehashicorpvaultconfig.ts","./src/app/(dashboard)/hooks/configoverrides/useupdatehashicorpvaultconfig.ts","./src/app/(dashboard)/hooks/coordinationredis/usecoordinationredissettings.ts","./src/app/(dashboard)/hooks/credentials/usecredentials.ts","./src/app/(dashboard)/hooks/credentials/usecredentials.test.ts","./src/app/(dashboard)/hooks/customers/usecustomers.ts","./src/app/(dashboard)/hooks/customers/usecustomers.test.ts","./src/app/(dashboard)/hooks/guardrails/useguardrails.ts","./src/app/(dashboard)/hooks/guardrails/useguardrails.test.ts","./src/app/(dashboard)/hooks/guardrails/useregisterguardrail.ts","./src/app/(dashboard)/hooks/healthreadiness/usehealthreadinessdetails.ts","./src/app/(dashboard)/hooks/keys/usekeyaliases.ts","./src/app/(dashboard)/hooks/keys/usekeyaliases.test.ts","./src/app/(dashboard)/hooks/keys/usekeys.ts","./src/app/(dashboard)/hooks/keys/usekeyinfo.ts","./src/app/(dashboard)/hooks/keys/usekeys.test.ts","./src/app/(dashboard)/hooks/keys/useresetkeyspend.ts","./src/app/(dashboard)/hooks/keys/usesetkeyblockedstate.ts","./src/app/(dashboard)/hooks/keys/usesetkeyblockedstate.test.ts","./src/app/(dashboard)/hooks/license/uselicenseinfo.ts","./src/app/(dashboard)/hooks/logdetails/uselogdetails.ts","./src/app/(dashboard)/hooks/login/uselogin.ts","./src/app/(dashboard)/hooks/mcpsemanticfiltersettings/usemcpsemanticfiltersettings.ts","./src/app/(dashboard)/hooks/mcpsemanticfiltersettings/useupdatemcpsemanticfiltersettings.ts","./src/app/(dashboard)/hooks/mcpservers/usemcpaccessgroups.ts","./src/app/(dashboard)/hooks/mcpservers/usemcpaccessgroups.test.ts","./src/app/(dashboard)/hooks/mcpservers/usemcpserverhealth.ts","./src/app/(dashboard)/hooks/mcpservers/usemcpserverhealth.test.ts","./src/app/(dashboard)/hooks/mcpservers/usemcpservers.ts","./src/app/(dashboard)/hooks/mcpservers/usemcpservers.test.ts","./src/app/(dashboard)/hooks/mcpservers/usemcptoolsets.ts","./src/app/(dashboard)/hooks/models/usemodelcostmap.ts","./src/app/(dashboard)/hooks/models/usemodelcostmap.test.ts","./src/app/(dashboard)/hooks/models/usemodels.test.ts","./src/app/(dashboard)/hooks/onboarding/useonboarding.ts","./src/app/(dashboard)/hooks/onboarding/useonboarding.test.ts","./src/app/(dashboard)/hooks/organizations/useorganizations.test.ts","./src/app/(dashboard)/hooks/projects/useprojects.ts","./src/app/(dashboard)/hooks/projects/usecreateproject.ts","./src/app/(dashboard)/hooks/projects/usecreateproject.test.ts","./src/app/(dashboard)/hooks/projects/usedeleteproject.ts","./src/app/(dashboard)/hooks/projects/usedeleteproject.test.ts","./src/app/(dashboard)/hooks/projects/useprojectdetails.ts","./src/app/(dashboard)/hooks/projects/useprojectdetails.test.ts","./src/app/(dashboard)/hooks/projects/useprojects.test.ts","./src/app/(dashboard)/hooks/projects/useupdateproject.ts","./src/app/(dashboard)/hooks/projects/useupdateproject.test.ts","./src/app/(dashboard)/hooks/providers/useproviderfields.ts","./src/app/(dashboard)/hooks/providers/useproviderfields.test.ts","./src/app/(dashboard)/hooks/proxyconfig/useproxyconfig.ts","./src/app/(dashboard)/hooks/proxyconfig/useproxyconfig.test.ts","./src/app/(dashboard)/hooks/router/userouterfields.ts","./src/app/(dashboard)/hooks/router/userouterfields.test.ts","./src/app/(dashboard)/hooks/routersettings/useupdateretrypolicy.ts","./src/components/routing_groups/types.ts","./src/app/(dashboard)/hooks/routinggroups/useroutinggroups.ts","./src/app/(dashboard)/hooks/spendlogs/usespendlogendusers.ts","./src/app/(dashboard)/hooks/spendlogs/usespendlogendusers.test.ts","./src/app/(dashboard)/hooks/spendlogs/usespendlogusers.ts","./src/app/(dashboard)/hooks/spendlogs/usespendlogusers.test.ts","./src/app/(dashboard)/hooks/sso/useeditssosettings.ts","./src/app/(dashboard)/hooks/sso/useeditssosettings.test.ts","./src/app/(dashboard)/hooks/sso/usessosettings.ts","./src/app/(dashboard)/hooks/sso/usessosettings.test.ts","./src/app/(dashboard)/hooks/storemodelindb/usestoremodelindb.ts","./src/app/(dashboard)/hooks/storemodelindb/usestoremodelindb.test.ts","./src/app/(dashboard)/hooks/storerequestinspendlogs/usestorerequestinspendlogs.ts","./src/app/(dashboard)/hooks/tags/usetags.ts","./src/app/(dashboard)/hooks/tags/usetags.test.ts","./src/app/(dashboard)/hooks/teams/useteammetadataschema.ts","./src/app/(dashboard)/hooks/teams/useteammetadataschema.test.ts","./src/app/(dashboard)/hooks/teams/useteams.ts","./src/app/(dashboard)/hooks/teams/useteams.test.ts","./src/app/(dashboard)/hooks/uiconfig/useuiconfig.test.ts","./src/app/(dashboard)/hooks/uisettings/useuisettings.ts","./src/app/(dashboard)/hooks/uisettings/useptucostattributionenabled.ts","./src/app/(dashboard)/hooks/uisettings/useptucostattributionenabled.test.ts","./src/app/(dashboard)/hooks/uisettings/useuisettings.test.ts","./src/app/(dashboard)/hooks/uisettings/useupdateuisettings.ts","./src/app/(dashboard)/hooks/uisettings/useupdateuisettings.test.ts","./src/app/(dashboard)/hooks/userbanner/useuserbanner.ts","./src/app/(dashboard)/hooks/userbanner/useupdateuserbanner.ts","./src/app/(dashboard)/hooks/users/usecurrentuser.ts","./src/app/(dashboard)/hooks/users/usecurrentuser.test.ts","./src/app/(dashboard)/hooks/users/useusers.ts","./src/app/(dashboard)/hooks/users/useusers.test.ts","./src/app/(dashboard)/mcp-servers/_components/createoauthuistate.ts","./src/app/(dashboard)/mcp-servers/_components/createoauthuistate.test.ts","./src/app/(dashboard)/mcp-servers/_components/utils.tsx","./src/app/(dashboard)/mcp-servers/_components/createserverpayload.ts","./src/app/(dashboard)/mcp-servers/_components/createserverpayload.test.ts","./src/app/(dashboard)/mcp-servers/_components/editserverpayload.ts","./src/app/(dashboard)/mcp-servers/_components/editserverpayload.differential.cases.ts","./src/app/(dashboard)/mcp-servers/_components/editserverpayload.differential.test.ts","./src/app/(dashboard)/mcp-servers/_components/mcpfieldrules.ts","./src/app/(dashboard)/mcp-servers/_components/mcpfieldrules.test.ts","./src/app/(dashboard)/mcp-servers/_components/mcpformstore.ts","./src/app/(dashboard)/mcp-servers/_components/mountedserverfields.ts","./src/app/(dashboard)/mcp-servers/_components/mountedserverfields.test.ts","./node_modules/@testing-library/user-event/dist/types/event/eventmap.d.ts","./node_modules/@testing-library/user-event/dist/types/event/types.d.ts","./node_modules/@testing-library/user-event/dist/types/event/dispatchevent.d.ts","./node_modules/@testing-library/user-event/dist/types/event/focus.d.ts","./node_modules/@testing-library/user-event/dist/types/event/input.d.ts","./node_modules/@testing-library/user-event/dist/types/utils/click/isclickableinput.d.ts","./node_modules/@testing-library/user-event/dist/types/utils/datatransfer/blob.d.ts","./node_modules/@testing-library/user-event/dist/types/utils/datatransfer/datatransfer.d.ts","./node_modules/@testing-library/user-event/dist/types/utils/datatransfer/filelist.d.ts","./node_modules/@testing-library/user-event/dist/types/utils/datatransfer/clipboard.d.ts","./node_modules/@testing-library/user-event/dist/types/utils/edit/timevalue.d.ts","./node_modules/@testing-library/user-event/dist/types/utils/edit/iscontenteditable.d.ts","./node_modules/@testing-library/user-event/dist/types/utils/edit/iseditable.d.ts","./node_modules/@testing-library/user-event/dist/types/utils/edit/maxlength.d.ts","./node_modules/@testing-library/user-event/dist/types/utils/edit/setfiles.d.ts","./node_modules/@testing-library/user-event/dist/types/utils/focus/cursor.d.ts","./node_modules/@testing-library/user-event/dist/types/utils/focus/getactiveelement.d.ts","./node_modules/@testing-library/user-event/dist/types/utils/focus/gettabdestination.d.ts","./node_modules/@testing-library/user-event/dist/types/utils/focus/isfocusable.d.ts","./node_modules/@testing-library/user-event/dist/types/utils/focus/selection.d.ts","./node_modules/@testing-library/user-event/dist/types/utils/focus/selector.d.ts","./node_modules/@testing-library/user-event/dist/types/utils/keydef/readnextdescriptor.d.ts","./node_modules/@testing-library/user-event/dist/types/utils/misc/cloneevent.d.ts","./node_modules/@testing-library/user-event/dist/types/utils/misc/findclosest.d.ts","./node_modules/@testing-library/user-event/dist/types/utils/misc/getdocumentfromnode.d.ts","./node_modules/@testing-library/user-event/dist/types/utils/misc/gettreediff.d.ts","./node_modules/@testing-library/user-event/dist/types/utils/misc/getwindow.d.ts","./node_modules/@testing-library/user-event/dist/types/utils/misc/isdescendantorself.d.ts","./node_modules/@testing-library/user-event/dist/types/utils/misc/iselementtype.d.ts","./node_modules/@testing-library/user-event/dist/types/utils/misc/isvisible.d.ts","./node_modules/@testing-library/user-event/dist/types/utils/misc/isdisabled.d.ts","./node_modules/@testing-library/user-event/dist/types/utils/misc/level.d.ts","./node_modules/@testing-library/user-event/dist/types/utils/misc/wait.d.ts","./node_modules/@testing-library/user-event/dist/types/utils/pointer/csspointerevents.d.ts","./node_modules/@testing-library/user-event/dist/types/utils/index.d.ts","./node_modules/@testing-library/user-event/dist/types/document/ui.d.ts","./node_modules/@testing-library/user-event/dist/types/document/getvalueortextcontent.d.ts","./node_modules/@testing-library/user-event/dist/types/document/copyselection.d.ts","./node_modules/@testing-library/user-event/dist/types/document/trackvalue.d.ts","./node_modules/@testing-library/user-event/dist/types/document/index.d.ts","./node_modules/@testing-library/user-event/dist/types/event/selection/getinputrange.d.ts","./node_modules/@testing-library/user-event/dist/types/event/selection/modifyselection.d.ts","./node_modules/@testing-library/user-event/dist/types/event/selection/moveselection.d.ts","./node_modules/@testing-library/user-event/dist/types/event/selection/setselectionpermouse.d.ts","./node_modules/@testing-library/user-event/dist/types/event/selection/modifyselectionpermouse.d.ts","./node_modules/@testing-library/user-event/dist/types/event/selection/selectall.d.ts","./node_modules/@testing-library/user-event/dist/types/event/selection/setselectionrange.d.ts","./node_modules/@testing-library/user-event/dist/types/event/selection/setselection.d.ts","./node_modules/@testing-library/user-event/dist/types/event/selection/updateselectiononfocus.d.ts","./node_modules/@testing-library/user-event/dist/types/event/selection/index.d.ts","./node_modules/@testing-library/user-event/dist/types/event/index.d.ts","./node_modules/@testing-library/user-event/dist/types/system/pointer/buttons.d.ts","./node_modules/@testing-library/user-event/dist/types/system/pointer/shared.d.ts","./node_modules/@testing-library/user-event/dist/types/system/pointer/index.d.ts","./node_modules/@testing-library/user-event/dist/types/system/index.d.ts","./node_modules/@testing-library/user-event/dist/types/system/keyboard.d.ts","./node_modules/@testing-library/user-event/dist/types/options.d.ts","./node_modules/@testing-library/user-event/dist/types/convenience/click.d.ts","./node_modules/@testing-library/user-event/dist/types/convenience/hover.d.ts","./node_modules/@testing-library/user-event/dist/types/convenience/tab.d.ts","./node_modules/@testing-library/user-event/dist/types/convenience/index.d.ts","./node_modules/@testing-library/user-event/dist/types/keyboard/index.d.ts","./node_modules/@testing-library/user-event/dist/types/clipboard/copy.d.ts","./node_modules/@testing-library/user-event/dist/types/clipboard/cut.d.ts","./node_modules/@testing-library/user-event/dist/types/clipboard/paste.d.ts","./node_modules/@testing-library/user-event/dist/types/clipboard/index.d.ts","./node_modules/@testing-library/user-event/dist/types/pointer/index.d.ts","./node_modules/@testing-library/user-event/dist/types/utility/clear.d.ts","./node_modules/@testing-library/user-event/dist/types/utility/selectoptions.d.ts","./node_modules/@testing-library/user-event/dist/types/utility/type.d.ts","./node_modules/@testing-library/user-event/dist/types/utility/upload.d.ts","./node_modules/@testing-library/user-event/dist/types/utility/index.d.ts","./node_modules/@testing-library/user-event/dist/types/setup/api.d.ts","./node_modules/@testing-library/user-event/dist/types/setup/directapi.d.ts","./node_modules/@testing-library/user-event/dist/types/setup/setup.d.ts","./node_modules/@testing-library/user-event/dist/types/setup/index.d.ts","./node_modules/@testing-library/user-event/dist/types/index.d.ts","./src/app/(dashboard)/mcp-servers/_components/testutils.ts","./src/app/(dashboard)/mcp-servers/_components/toolcallarguments.ts","./src/app/(dashboard)/mcp-servers/_components/toolcallarguments.test.ts","./node_modules/nuqs/dist/defs-butbdnwx.d.ts","./node_modules/nuqs/dist/context-3xask51n.d.ts","./node_modules/nuqs/dist/adapters/testing.d.ts","./node_modules/@standard-schema/spec/dist/index.d.ts","./node_modules/nuqs/dist/index.d.ts","./src/app/(dashboard)/models-and-endpoints/detailnavigation.ts","./src/app/(dashboard)/models-and-endpoints/detailnavigation.test.ts","./src/app/(dashboard)/models-and-endpoints/usemodeldashboarddata.ts","./src/components/add_model/auto_router_strategies.ts","./src/utils/modelpermissions.ts","./src/app/(dashboard)/models-and-endpoints/components/autorouters/autorouterrows.ts","./src/app/(dashboard)/models-and-endpoints/components/autorouters/autorouterrows.test.ts","./src/app/(dashboard)/models-and-endpoints/components/autorouters/fitpills.ts","./src/app/(dashboard)/models-and-endpoints/components/autorouters/fitpills.test.ts","./src/app/(dashboard)/models-and-endpoints/utils/modeldatatransformer.ts","./src/app/(dashboard)/models-and-endpoints/utils/modeldatatransformer.test.ts","./src/components/chat_ui/mode_endpoint_mapping.tsx","./src/app/(dashboard)/playground/components/chat_ui/chatconstants.ts","./src/app/(dashboard)/playground/components/chat_ui/uploadvalidation.ts","./src/app/(dashboard)/playground/components/chat_ui/uploadvalidation.test.ts","./src/app/(dashboard)/playground/llm_calls/fetch_agents.tsx","./src/app/(dashboard)/playground/components/compareui/endpoint_config.ts","./src/app/(dashboard)/playground/components/compareui/endpoint_config.test.ts","./src/utils/promptcacheusage.ts","./src/components/chat_ui/responsemetrics.tsx","./src/components/chat_ui/types.ts","./src/app/(dashboard)/playground/hooks/usechathistory.ts","./src/app/(dashboard)/playground/hooks/usechathistory.test.ts","./src/components/llm_calls/code_interpreter_handler.ts","./src/app/(dashboard)/playground/hooks/usecodeinterpreter.ts","./src/components/policies/types.ts","./src/app/(dashboard)/policies/_components/build_attachment_data.ts","./src/app/(dashboard)/policies/_components/build_attachment_data.test.ts","./src/app/(dashboard)/policies/_components/scope_validation.ts","./src/app/(dashboard)/policies/_components/scope_validation.test.ts","./src/app/(dashboard)/projects/_components/projectmodals/projectformschema.ts","./src/app/(dashboard)/guardrails/_components/content_filter/tagsinput.tsx","./src/components/agent_management/agentselector.tsx","./src/components/common_components/accessgroupselector.tsx","./src/components/common_components/budget_duration_dropdown.tsx","./src/components/common_components/keylifecyclesettings.tsx","./node_modules/@heroicons/react/outline/academiccapicon.d.ts","./node_modules/@heroicons/react/outline/adjustmentsicon.d.ts","./node_modules/@heroicons/react/outline/annotationicon.d.ts","./node_modules/@heroicons/react/outline/archiveicon.d.ts","./node_modules/@heroicons/react/outline/arrowcircledownicon.d.ts","./node_modules/@heroicons/react/outline/arrowcirclelefticon.d.ts","./node_modules/@heroicons/react/outline/arrowcirclerighticon.d.ts","./node_modules/@heroicons/react/outline/arrowcircleupicon.d.ts","./node_modules/@heroicons/react/outline/arrowdownicon.d.ts","./node_modules/@heroicons/react/outline/arrowlefticon.d.ts","./node_modules/@heroicons/react/outline/arrownarrowdownicon.d.ts","./node_modules/@heroicons/react/outline/arrownarrowlefticon.d.ts","./node_modules/@heroicons/react/outline/arrownarrowrighticon.d.ts","./node_modules/@heroicons/react/outline/arrownarrowupicon.d.ts","./node_modules/@heroicons/react/outline/arrowrighticon.d.ts","./node_modules/@heroicons/react/outline/arrowsmdownicon.d.ts","./node_modules/@heroicons/react/outline/arrowsmlefticon.d.ts","./node_modules/@heroicons/react/outline/arrowsmrighticon.d.ts","./node_modules/@heroicons/react/outline/arrowsmupicon.d.ts","./node_modules/@heroicons/react/outline/arrowupicon.d.ts","./node_modules/@heroicons/react/outline/arrowsexpandicon.d.ts","./node_modules/@heroicons/react/outline/atsymbolicon.d.ts","./node_modules/@heroicons/react/outline/backspaceicon.d.ts","./node_modules/@heroicons/react/outline/badgecheckicon.d.ts","./node_modules/@heroicons/react/outline/banicon.d.ts","./node_modules/@heroicons/react/outline/beakericon.d.ts","./node_modules/@heroicons/react/outline/bellicon.d.ts","./node_modules/@heroicons/react/outline/bookopenicon.d.ts","./node_modules/@heroicons/react/outline/bookmarkalticon.d.ts","./node_modules/@heroicons/react/outline/bookmarkicon.d.ts","./node_modules/@heroicons/react/outline/briefcaseicon.d.ts","./node_modules/@heroicons/react/outline/cakeicon.d.ts","./node_modules/@heroicons/react/outline/calculatoricon.d.ts","./node_modules/@heroicons/react/outline/calendaricon.d.ts","./node_modules/@heroicons/react/outline/cameraicon.d.ts","./node_modules/@heroicons/react/outline/cashicon.d.ts","./node_modules/@heroicons/react/outline/chartbaricon.d.ts","./node_modules/@heroicons/react/outline/chartpieicon.d.ts","./node_modules/@heroicons/react/outline/chartsquarebaricon.d.ts","./node_modules/@heroicons/react/outline/chatalt2icon.d.ts","./node_modules/@heroicons/react/outline/chatalticon.d.ts","./node_modules/@heroicons/react/outline/chaticon.d.ts","./node_modules/@heroicons/react/outline/checkcircleicon.d.ts","./node_modules/@heroicons/react/outline/checkicon.d.ts","./node_modules/@heroicons/react/outline/chevrondoubledownicon.d.ts","./node_modules/@heroicons/react/outline/chevrondoublelefticon.d.ts","./node_modules/@heroicons/react/outline/chevrondoublerighticon.d.ts","./node_modules/@heroicons/react/outline/chevrondoubleupicon.d.ts","./node_modules/@heroicons/react/outline/chevrondownicon.d.ts","./node_modules/@heroicons/react/outline/chevronlefticon.d.ts","./node_modules/@heroicons/react/outline/chevronrighticon.d.ts","./node_modules/@heroicons/react/outline/chevronupicon.d.ts","./node_modules/@heroicons/react/outline/chipicon.d.ts","./node_modules/@heroicons/react/outline/clipboardcheckicon.d.ts","./node_modules/@heroicons/react/outline/clipboardcopyicon.d.ts","./node_modules/@heroicons/react/outline/clipboardlisticon.d.ts","./node_modules/@heroicons/react/outline/clipboardicon.d.ts","./node_modules/@heroicons/react/outline/clockicon.d.ts","./node_modules/@heroicons/react/outline/clouddownloadicon.d.ts","./node_modules/@heroicons/react/outline/clouduploadicon.d.ts","./node_modules/@heroicons/react/outline/cloudicon.d.ts","./node_modules/@heroicons/react/outline/codeicon.d.ts","./node_modules/@heroicons/react/outline/cogicon.d.ts","./node_modules/@heroicons/react/outline/collectionicon.d.ts","./node_modules/@heroicons/react/outline/colorswatchicon.d.ts","./node_modules/@heroicons/react/outline/creditcardicon.d.ts","./node_modules/@heroicons/react/outline/cubetransparenticon.d.ts","./node_modules/@heroicons/react/outline/cubeicon.d.ts","./node_modules/@heroicons/react/outline/currencybangladeshiicon.d.ts","./node_modules/@heroicons/react/outline/currencydollaricon.d.ts","./node_modules/@heroicons/react/outline/currencyeuroicon.d.ts","./node_modules/@heroicons/react/outline/currencypoundicon.d.ts","./node_modules/@heroicons/react/outline/currencyrupeeicon.d.ts","./node_modules/@heroicons/react/outline/currencyyenicon.d.ts","./node_modules/@heroicons/react/outline/cursorclickicon.d.ts","./node_modules/@heroicons/react/outline/databaseicon.d.ts","./node_modules/@heroicons/react/outline/desktopcomputericon.d.ts","./node_modules/@heroicons/react/outline/devicemobileicon.d.ts","./node_modules/@heroicons/react/outline/devicetableticon.d.ts","./node_modules/@heroicons/react/outline/documentaddicon.d.ts","./node_modules/@heroicons/react/outline/documentdownloadicon.d.ts","./node_modules/@heroicons/react/outline/documentduplicateicon.d.ts","./node_modules/@heroicons/react/outline/documentremoveicon.d.ts","./node_modules/@heroicons/react/outline/documentreporticon.d.ts","./node_modules/@heroicons/react/outline/documentsearchicon.d.ts","./node_modules/@heroicons/react/outline/documenttexticon.d.ts","./node_modules/@heroicons/react/outline/documenticon.d.ts","./node_modules/@heroicons/react/outline/dotscirclehorizontalicon.d.ts","./node_modules/@heroicons/react/outline/dotshorizontalicon.d.ts","./node_modules/@heroicons/react/outline/dotsverticalicon.d.ts","./node_modules/@heroicons/react/outline/downloadicon.d.ts","./node_modules/@heroicons/react/outline/duplicateicon.d.ts","./node_modules/@heroicons/react/outline/emojihappyicon.d.ts","./node_modules/@heroicons/react/outline/emojisadicon.d.ts","./node_modules/@heroicons/react/outline/exclamationcircleicon.d.ts","./node_modules/@heroicons/react/outline/exclamationicon.d.ts","./node_modules/@heroicons/react/outline/externallinkicon.d.ts","./node_modules/@heroicons/react/outline/eyeofficon.d.ts","./node_modules/@heroicons/react/outline/eyeicon.d.ts","./node_modules/@heroicons/react/outline/fastforwardicon.d.ts","./node_modules/@heroicons/react/outline/filmicon.d.ts","./node_modules/@heroicons/react/outline/filtericon.d.ts","./node_modules/@heroicons/react/outline/fingerprinticon.d.ts","./node_modules/@heroicons/react/outline/fireicon.d.ts","./node_modules/@heroicons/react/outline/flagicon.d.ts","./node_modules/@heroicons/react/outline/folderaddicon.d.ts","./node_modules/@heroicons/react/outline/folderdownloadicon.d.ts","./node_modules/@heroicons/react/outline/folderopenicon.d.ts","./node_modules/@heroicons/react/outline/folderremoveicon.d.ts","./node_modules/@heroicons/react/outline/foldericon.d.ts","./node_modules/@heroicons/react/outline/gifticon.d.ts","./node_modules/@heroicons/react/outline/globealticon.d.ts","./node_modules/@heroicons/react/outline/globeicon.d.ts","./node_modules/@heroicons/react/outline/handicon.d.ts","./node_modules/@heroicons/react/outline/hashtagicon.d.ts","./node_modules/@heroicons/react/outline/hearticon.d.ts","./node_modules/@heroicons/react/outline/homeicon.d.ts","./node_modules/@heroicons/react/outline/identificationicon.d.ts","./node_modules/@heroicons/react/outline/inboxinicon.d.ts","./node_modules/@heroicons/react/outline/inboxicon.d.ts","./node_modules/@heroicons/react/outline/informationcircleicon.d.ts","./node_modules/@heroicons/react/outline/keyicon.d.ts","./node_modules/@heroicons/react/outline/libraryicon.d.ts","./node_modules/@heroicons/react/outline/lightbulbicon.d.ts","./node_modules/@heroicons/react/outline/lightningbolticon.d.ts","./node_modules/@heroicons/react/outline/linkicon.d.ts","./node_modules/@heroicons/react/outline/locationmarkericon.d.ts","./node_modules/@heroicons/react/outline/lockclosedicon.d.ts","./node_modules/@heroicons/react/outline/lockopenicon.d.ts","./node_modules/@heroicons/react/outline/loginicon.d.ts","./node_modules/@heroicons/react/outline/logouticon.d.ts","./node_modules/@heroicons/react/outline/mailopenicon.d.ts","./node_modules/@heroicons/react/outline/mailicon.d.ts","./node_modules/@heroicons/react/outline/mapicon.d.ts","./node_modules/@heroicons/react/outline/menualt1icon.d.ts","./node_modules/@heroicons/react/outline/menualt2icon.d.ts","./node_modules/@heroicons/react/outline/menualt3icon.d.ts","./node_modules/@heroicons/react/outline/menualt4icon.d.ts","./node_modules/@heroicons/react/outline/menuicon.d.ts","./node_modules/@heroicons/react/outline/microphoneicon.d.ts","./node_modules/@heroicons/react/outline/minuscircleicon.d.ts","./node_modules/@heroicons/react/outline/minussmicon.d.ts","./node_modules/@heroicons/react/outline/minusicon.d.ts","./node_modules/@heroicons/react/outline/moonicon.d.ts","./node_modules/@heroicons/react/outline/musicnoteicon.d.ts","./node_modules/@heroicons/react/outline/newspapericon.d.ts","./node_modules/@heroicons/react/outline/officebuildingicon.d.ts","./node_modules/@heroicons/react/outline/paperairplaneicon.d.ts","./node_modules/@heroicons/react/outline/paperclipicon.d.ts","./node_modules/@heroicons/react/outline/pauseicon.d.ts","./node_modules/@heroicons/react/outline/pencilalticon.d.ts","./node_modules/@heroicons/react/outline/pencilicon.d.ts","./node_modules/@heroicons/react/outline/phoneincomingicon.d.ts","./node_modules/@heroicons/react/outline/phonemissedcallicon.d.ts","./node_modules/@heroicons/react/outline/phoneoutgoingicon.d.ts","./node_modules/@heroicons/react/outline/phoneicon.d.ts","./node_modules/@heroicons/react/outline/photographicon.d.ts","./node_modules/@heroicons/react/outline/playicon.d.ts","./node_modules/@heroicons/react/outline/pluscircleicon.d.ts","./node_modules/@heroicons/react/outline/plussmicon.d.ts","./node_modules/@heroicons/react/outline/plusicon.d.ts","./node_modules/@heroicons/react/outline/presentationchartbaricon.d.ts","./node_modules/@heroicons/react/outline/presentationchartlineicon.d.ts","./node_modules/@heroicons/react/outline/printericon.d.ts","./node_modules/@heroicons/react/outline/puzzleicon.d.ts","./node_modules/@heroicons/react/outline/qrcodeicon.d.ts","./node_modules/@heroicons/react/outline/questionmarkcircleicon.d.ts","./node_modules/@heroicons/react/outline/receiptrefundicon.d.ts","./node_modules/@heroicons/react/outline/receipttaxicon.d.ts","./node_modules/@heroicons/react/outline/refreshicon.d.ts","./node_modules/@heroicons/react/outline/replyicon.d.ts","./node_modules/@heroicons/react/outline/rewindicon.d.ts","./node_modules/@heroicons/react/outline/rssicon.d.ts","./node_modules/@heroicons/react/outline/saveasicon.d.ts","./node_modules/@heroicons/react/outline/saveicon.d.ts","./node_modules/@heroicons/react/outline/scaleicon.d.ts","./node_modules/@heroicons/react/outline/scissorsicon.d.ts","./node_modules/@heroicons/react/outline/searchcircleicon.d.ts","./node_modules/@heroicons/react/outline/searchicon.d.ts","./node_modules/@heroicons/react/outline/selectoricon.d.ts","./node_modules/@heroicons/react/outline/servericon.d.ts","./node_modules/@heroicons/react/outline/shareicon.d.ts","./node_modules/@heroicons/react/outline/shieldcheckicon.d.ts","./node_modules/@heroicons/react/outline/shieldexclamationicon.d.ts","./node_modules/@heroicons/react/outline/shoppingbagicon.d.ts","./node_modules/@heroicons/react/outline/shoppingcarticon.d.ts","./node_modules/@heroicons/react/outline/sortascendingicon.d.ts","./node_modules/@heroicons/react/outline/sortdescendingicon.d.ts","./node_modules/@heroicons/react/outline/sparklesicon.d.ts","./node_modules/@heroicons/react/outline/speakerphoneicon.d.ts","./node_modules/@heroicons/react/outline/staricon.d.ts","./node_modules/@heroicons/react/outline/statusofflineicon.d.ts","./node_modules/@heroicons/react/outline/statusonlineicon.d.ts","./node_modules/@heroicons/react/outline/stopicon.d.ts","./node_modules/@heroicons/react/outline/sunicon.d.ts","./node_modules/@heroicons/react/outline/supporticon.d.ts","./node_modules/@heroicons/react/outline/switchhorizontalicon.d.ts","./node_modules/@heroicons/react/outline/switchverticalicon.d.ts","./node_modules/@heroicons/react/outline/tableicon.d.ts","./node_modules/@heroicons/react/outline/tagicon.d.ts","./node_modules/@heroicons/react/outline/templateicon.d.ts","./node_modules/@heroicons/react/outline/terminalicon.d.ts","./node_modules/@heroicons/react/outline/thumbdownicon.d.ts","./node_modules/@heroicons/react/outline/thumbupicon.d.ts","./node_modules/@heroicons/react/outline/ticketicon.d.ts","./node_modules/@heroicons/react/outline/translateicon.d.ts","./node_modules/@heroicons/react/outline/trashicon.d.ts","./node_modules/@heroicons/react/outline/trendingdownicon.d.ts","./node_modules/@heroicons/react/outline/trendingupicon.d.ts","./node_modules/@heroicons/react/outline/truckicon.d.ts","./node_modules/@heroicons/react/outline/uploadicon.d.ts","./node_modules/@heroicons/react/outline/useraddicon.d.ts","./node_modules/@heroicons/react/outline/usercircleicon.d.ts","./node_modules/@heroicons/react/outline/usergroupicon.d.ts","./node_modules/@heroicons/react/outline/userremoveicon.d.ts","./node_modules/@heroicons/react/outline/usericon.d.ts","./node_modules/@heroicons/react/outline/usersicon.d.ts","./node_modules/@heroicons/react/outline/variableicon.d.ts","./node_modules/@heroicons/react/outline/videocameraicon.d.ts","./node_modules/@heroicons/react/outline/viewboardsicon.d.ts","./node_modules/@heroicons/react/outline/viewgridaddicon.d.ts","./node_modules/@heroicons/react/outline/viewgridicon.d.ts","./node_modules/@heroicons/react/outline/viewlisticon.d.ts","./node_modules/@heroicons/react/outline/volumeofficon.d.ts","./node_modules/@heroicons/react/outline/volumeupicon.d.ts","./node_modules/@heroicons/react/outline/wifiicon.d.ts","./node_modules/@heroicons/react/outline/xcircleicon.d.ts","./node_modules/@heroicons/react/outline/xicon.d.ts","./node_modules/@heroicons/react/outline/zoominicon.d.ts","./node_modules/@heroicons/react/outline/zoomouticon.d.ts","./node_modules/@heroicons/react/outline/index.d.ts","./src/components/common_components/modelselector.tsx","./src/components/common_components/modelaliasmanager.tsx","./src/components/common_components/passthroughroutesselector.tsx","./src/components/callback_info_helpers.tsx","./src/components/shared/numerical_input.tsx","./src/components/team/loggingsettings.tsx","./src/components/common_components/premiumloggingsettings.tsx","./src/components/common_components/ratelimittypeformitem.tsx","./src/components/router_settings/latencybasedconfiguration.tsx","./src/components/router_settings/reliabilityretriessection.tsx","./src/components/router_settings/routingstrategyselector.tsx","./src/components/router_settings/tagfilteringtoggle.tsx","./src/components/router_settings/routersettingsform.tsx","./src/components/settings/routersettings/fallbacks/addfallbacksmodal.tsx","./src/components/settings/routersettings/fallbacks/fallbackgroupconfig.tsx","./src/components/settings/routersettings/fallbacks/fallbackselectionform.tsx","./src/components/settings/routersettings/fallbacks/addfallbacks.tsx","./src/components/common_components/routersettingsaccordion.tsx","./src/components/shared/paginatedsearchselect.tsx","./src/components/common_components/team_dropdown.tsx","./src/components/common_components/organizationdropdown.tsx","./src/components/common_components/projectdropdown.tsx","./src/components/shared/form/formfield.tsx","./src/components/shared/alert.tsx","./node_modules/@types/react-copy-to-clipboard/index.d.ts","./src/components/onboarding_link.tsx","./src/components/createuserbutton.tsx","./src/components/key_team_helpers/budgetfallbackseditor.tsx","./src/components/key_team_helpers/budgetwindowseditor.tsx","./src/components/key_team_helpers/tagratelimiteditor.tsx","./src/components/mcp_server_management/mcpserverselector.tsx","./src/utils/mcptoolcrudclassification.ts","./src/components/mcp_tools/mcpcrudpermissionpanel.tsx","./src/components/mcp_server_management/mcptoolpermissions.tsx","./src/components/shared/createdkeydisplay.tsx","./src/components/vector_store_management/vectorstoreselector.tsx","./src/components/organisms/createkeypayload.ts","./src/components/organisms/utils.ts","./src/components/organisms/create_key_button.tsx","./src/app/(dashboard)/projects/_components/projectmodals/projectbaseform.tsx","./src/app/(dashboard)/projects/_components/projectmodals/projectformutils.ts","./src/app/(dashboard)/projects/_components/projectmodals/projectformutils.test.ts","./src/app/(dashboard)/prompts/_components/prompt_editor_view/types.ts","./src/app/(dashboard)/prompts/_components/prompt_editor_view/utils.ts","./src/app/(dashboard)/prompts/_components/prompt_editor_view/utils.test.ts","./src/app/(dashboard)/prompts/_components/prompt_editor_view/conversation_panel/types.ts","./src/app/(dashboard)/prompts/_components/prompt_editor_view/conversation_panel/useconversation.ts","./src/app/(dashboard)/search-tools/_components/searchtoolpayload.ts","./src/app/(dashboard)/search-tools/_components/searchtoolpayload.test.ts","./src/app/(dashboard)/usage/_components/components/gatewayactivity.ts","./src/app/(dashboard)/usage/_components/components/gatewayactivity.test.ts","./src/app/(dashboard)/usage/_components/components/entityusage/entityusageaggregations.ts","./src/app/(dashboard)/usage/_components/components/entityusage/entityusagesummary.ts","./src/app/(dashboard)/usage/_components/components/entityusage/entityusagesummary.test.ts","./src/app/(dashboard)/usage/_components/hooks/usepaginateddailyactivity.test.ts","./src/app/(dashboard)/users/_components/default-user-settings/schema.ts","./src/app/(dashboard)/users/_components/default-user-settings/mapper.ts","./src/app/(dashboard)/users/_components/default-user-settings/mapper.test.ts","./src/app/(dashboard)/users/_components/default-user-settings/schema.test.ts","./src/components/key_scope.test.ts","./src/components/networking.test.ts","./src/components/page_metadata.ts","./src/contexts/themecontext.tsx","./src/components/ui/scroll-area.tsx","./src/components/ui/sidebar.tsx","./src/components/betabadge.tsx","./src/components/common_components/newbadge.tsx","./src/components/navbar/navdisplayname.ts","./src/components/shared/copybutton.tsx","./src/components/ui/avatar.tsx","./src/components/ui/popover.tsx","./src/components/sidebaraccountmenu/sidebaraccountmenu.tsx","./src/utils/licenseutils.ts","./src/components/sidebarusagecard.tsx","./src/components/leftnav.tsx","./src/components/page_utils.ts","./src/components/page_utils.test.ts","./src/components/cloudzerocosttracking/cloudzeropayload.ts","./src/components/cloudzerocosttracking/cloudzeropayload.test.ts","./src/utils/teamutils.ts","./src/components/shared/date_picker_types.ts","./src/components/entityusageexport/types.ts","./src/components/entityusageexport/exportformatselector.tsx","./src/components/entityusageexport/exportsummary.tsx","./src/components/entityusageexport/exporttypeselector.tsx","./node_modules/@types/papaparse/index.d.ts","./src/components/entityusageexport/utils.ts","./src/components/entityusageexport/entityusageexportmodal.tsx","./src/components/entityusageexport/usageexportheader.tsx","./src/components/entityusageexport/index.ts","./src/components/entityusageexport/utils.test.ts","./src/components/guardrailsmonitor/mockdata.ts","./src/components/modelselect/modelutils.ts","./src/components/modelselect/modelutils.test.ts","./src/components/navbar/navdisplayname.test.ts","./src/components/navbar/navproductlinkclass.ts","./src/components/settings/adminsettings/hashicorpvault/constants.ts","./src/components/settings/adminsettings/mcpsemanticfiltersettings/semanticfiltertestutils.ts","./src/components/settings/adminsettings/mcpsemanticfiltersettings/semanticfiltertestutils.test.ts","./src/components/settings/adminsettings/pluginsettings/schema.ts","./src/components/settings/adminsettings/ssosettings/constants.ts","./src/components/settings/adminsettings/ssosettings/utils.ts","./src/components/settings/adminsettings/ssosettings/utils.test.ts","./src/components/settings/loggingandalerts/loggingcallbacks/types.ts","./src/components/toolpolicies/toolpoliciesqueries.ts","./src/components/usagepage/utils/value_formatters.tsx","./src/components/usagepage/utils/value_formatters.test.ts","./src/components/add_model/build_auto_router_routing_test_request.ts","./src/components/add_model/build_auto_router_routing_test_request.test.ts","./src/components/add_model/build_auto_router_test_targets.ts","./src/components/add_model/build_auto_router_test_targets.test.ts","./src/components/add_model/build_complexity_router_config.test.ts","./src/components/add_model/classifierprompteditorstate.test.ts","./src/components/add_model/complexity_router_tiers.test.ts","./src/components/add_model/heuristic_scoring_knobs.test.ts","./src/components/chat/types.ts","./src/components/chat/usechathistory.ts","./src/contexts/chatshellcontext.tsx","./node_modules/dayjs/locale/types.d.ts","./node_modules/dayjs/locale/index.d.ts","./node_modules/dayjs/index.d.ts","./src/components/chat/conversationlist.tsx","./src/components/chat/chatshell.tsx","./src/components/chat/chatshell.serverrootpath.test.ts","./src/components/chat/usechathistory.test.ts","./src/components/claude_code_plugins/helpers.ts","./src/components/claude_code_plugins/helpers.test.ts","./src/components/common_components/formrules.ts","./src/components/common_components/routersettingspayload.ts","./src/components/common_components/routersettingspayload.test.ts","./node_modules/zod/v3/helpers/typealiases.d.cts","./node_modules/zod/v3/helpers/util.d.cts","./node_modules/zod/v3/zoderror.d.cts","./node_modules/zod/v3/locales/en.d.cts","./node_modules/zod/v3/errors.d.cts","./node_modules/zod/v3/helpers/parseutil.d.cts","./node_modules/zod/v3/helpers/enumutil.d.cts","./node_modules/zod/v3/helpers/errorutil.d.cts","./node_modules/zod/v3/helpers/partialutil.d.cts","./node_modules/zod/v3/standard-schema.d.cts","./node_modules/zod/v3/types.d.cts","./node_modules/zod/v3/external.d.cts","./node_modules/zod/v3/index.d.cts","./node_modules/@hookform/resolvers/zod/dist/zod.d.ts","./node_modules/@hookform/resolvers/zod/dist/index.d.ts","./src/lib/forms/usezodform.ts","./src/components/add_model/accessgrouptagscombobox.tsx","./src/components/add_model/modelchoicecombobox.tsx","./src/components/add_model/routerconfigbuilder.tsx","./src/components/edit_auto_router/edit_auto_router_modal.tsx","./src/components/edit_auto_router/build_updated_complexity_router_config.test.ts","./src/components/edit_auto_router/edit_auto_router_modal.test.ts","./src/components/email_events/email_event_settings.tsx","./src/components/email_events/index.ts","./src/components/guardrails/types.ts","./src/components/key_team_helpers/filter_helpers.ts","./src/components/key_team_helpers/filter_helpers.test.ts","./src/components/key_team_helpers/transform_key_info.tsx","./src/components/key_team_helpers/transform_key_info.test.ts","./src/components/llm_calls/mcp_tool_blocks.ts","./src/components/llm_calls/mcp_tool_blocks.test.ts","./src/components/mcp_server_management/mcpentitlement.ts","./src/components/model_add/credential_form_helpers.ts","./src/components/model_add/credential_form_helpers.test.ts","./src/components/model_dashboard/types.ts","./src/components/organisms/createkeypayload.test.ts","./src/components/organisms/regeneratekeypayload.ts","./src/components/organisms/regeneratekeypayload.test.ts","./src/components/organisms/utils.test.ts","./src/components/organization/org-settings/schema.ts","./src/components/organization/org-create/mapper.ts","./src/components/organization/org-create/mapper.test.ts","./src/components/organization/org-settings/mapper.ts","./src/components/organization/org-settings/mapper.test.ts","./src/components/routing_groups/routinggrouppayload.ts","./src/components/routing_groups/routinggrouppayload.test.ts","./src/components/routing_groups/strategy.ts","./src/components/shared/charts/colors.ts","./node_modules/@types/d3-time/index.d.ts","./node_modules/@types/d3-scale/index.d.ts","./node_modules/victory-vendor/d3-scale.d.ts","./node_modules/recharts/types/shape/dot.d.ts","./node_modules/recharts/types/component/text.d.ts","./node_modules/recharts/types/zindex/zindexlayer.d.ts","./node_modules/recharts/types/cartesian/getcartesianposition.d.ts","./node_modules/recharts/types/component/label.d.ts","./node_modules/recharts/types/cartesian/cartesianaxis.d.ts","./node_modules/recharts/types/util/scale/customscaledefinition.d.ts","./node_modules/redux/dist/redux.d.ts","./node_modules/immer/dist/immer.d.ts","./node_modules/redux-thunk/dist/redux-thunk.d.ts","./node_modules/@reduxjs/toolkit/dist/uncheckedindexed.ts","./node_modules/@reduxjs/toolkit/dist/index.d.mts","./node_modules/recharts/types/state/cartesianaxisslice.d.ts","./node_modules/recharts/types/synchronisation/types.d.ts","./node_modules/recharts/types/chart/types.d.ts","./node_modules/recharts/types/component/defaulttooltipcontent.d.ts","./node_modules/recharts/types/context/brushupdatecontext.d.ts","./node_modules/recharts/types/state/chartdataslice.d.ts","./node_modules/recharts/types/state/types/linesettings.d.ts","./node_modules/recharts/types/state/types/scattersettings.d.ts","./node_modules/@types/d3-path/index.d.ts","./node_modules/@types/d3-shape/index.d.ts","./node_modules/victory-vendor/d3-shape.d.ts","./node_modules/recharts/types/shape/curve.d.ts","./node_modules/recharts/types/component/labellist.d.ts","./node_modules/recharts/types/component/defaultlegendcontent.d.ts","./node_modules/recharts/types/util/payload/getuniqpayload.d.ts","./node_modules/recharts/types/util/useelementoffset.d.ts","./node_modules/recharts/types/component/legend.d.ts","./node_modules/recharts/types/state/legendslice.d.ts","./node_modules/recharts/types/state/types/stackedgraphicalitem.d.ts","./node_modules/recharts/types/util/stacks/stacktypes.d.ts","./node_modules/recharts/types/util/scale/rechartsscale.d.ts","./node_modules/recharts/types/util/chartutils.d.ts","./node_modules/recharts/types/state/selectors/areaselectors.d.ts","./node_modules/recharts/types/animation/easing.d.ts","./node_modules/recharts/types/animation/matchby.d.ts","./node_modules/recharts/types/animation/animateditems.d.ts","./node_modules/recharts/types/cartesian/arearevealshape.d.ts","./node_modules/recharts/types/cartesian/area.d.ts","./node_modules/recharts/types/state/types/areasettings.d.ts","./node_modules/recharts/types/shape/rectangle.d.ts","./node_modules/recharts/types/cartesian/bar.d.ts","./node_modules/recharts/types/util/barutils.d.ts","./node_modules/recharts/types/state/types/barsettings.d.ts","./node_modules/recharts/types/state/types/radialbarsettings.d.ts","./node_modules/recharts/types/util/svgpropertiesnoevents.d.ts","./node_modules/recharts/types/util/useuniqueid.d.ts","./node_modules/recharts/types/state/types/piesettings.d.ts","./node_modules/recharts/types/state/types/radarsettings.d.ts","./node_modules/recharts/types/state/graphicalitemsslice.d.ts","./node_modules/recharts/types/state/tooltipslice.d.ts","./node_modules/recharts/types/state/optionsslice.d.ts","./node_modules/recharts/types/state/layoutslice.d.ts","./node_modules/recharts/types/util/ifoverflow.d.ts","./node_modules/recharts/types/util/resolvedefaultprops.d.ts","./node_modules/recharts/types/cartesian/referenceline.d.ts","./node_modules/recharts/types/state/referenceelementsslice.d.ts","./node_modules/recharts/types/state/brushslice.d.ts","./node_modules/recharts/types/state/rootpropsslice.d.ts","./node_modules/recharts/types/state/polaraxisslice.d.ts","./node_modules/recharts/types/state/polaroptionsslice.d.ts","./node_modules/recharts/types/cartesian/linedrawshape.d.ts","./node_modules/recharts/types/cartesian/line.d.ts","./node_modules/recharts/types/shape/symbols.d.ts","./node_modules/recharts/types/util/constants.d.ts","./node_modules/recharts/types/util/scatterutils.d.ts","./node_modules/recharts/types/cartesian/scatter.d.ts","./node_modules/recharts/types/cartesian/errorbar.d.ts","./node_modules/recharts/types/state/errorbarslice.d.ts","./node_modules/recharts/types/state/zindexslice.d.ts","./node_modules/recharts/types/state/eventsettingsslice.d.ts","./node_modules/recharts/types/state/renderedticksslice.d.ts","./node_modules/recharts/types/state/store.d.ts","./node_modules/recharts/types/cartesian/getticks.d.ts","./node_modules/recharts/types/cartesian/cartesiangrid.d.ts","./node_modules/recharts/types/state/selectors/combiners/combinedisplayedstackeddata.d.ts","./node_modules/recharts/types/state/selectors/selecttooltipaxistype.d.ts","./node_modules/recharts/types/types.d.ts","./node_modules/recharts/types/hooks.d.ts","./node_modules/recharts/types/state/selectors/axisselectors.d.ts","./node_modules/recharts/types/component/dots.d.ts","./node_modules/recharts/types/util/typeddatakey.d.ts","./node_modules/recharts/types/util/types.d.ts","./node_modules/recharts/types/container/surface.d.ts","./node_modules/recharts/types/container/layer.d.ts","./node_modules/recharts/types/component/cursor.d.ts","./node_modules/recharts/types/component/tooltip.d.ts","./node_modules/recharts/types/component/responsivecontainer.d.ts","./node_modules/recharts/types/component/cell.d.ts","./node_modules/recharts/types/component/customized.d.ts","./node_modules/recharts/types/shape/sector.d.ts","./node_modules/recharts/types/shape/polygon.d.ts","./node_modules/recharts/types/shape/cross.d.ts","./node_modules/recharts/types/polar/polargrid.d.ts","./node_modules/recharts/types/polar/defaultpolarradiusaxisprops.d.ts","./node_modules/recharts/types/polar/polarradiusaxis.d.ts","./node_modules/recharts/types/polar/defaultpolarangleaxisprops.d.ts","./node_modules/recharts/types/polar/polarangleaxis.d.ts","./node_modules/recharts/types/context/tooltipcontext.d.ts","./node_modules/recharts/types/polar/pie.d.ts","./node_modules/recharts/types/polar/radar.d.ts","./node_modules/recharts/types/util/radialbarutils.d.ts","./node_modules/recharts/types/polar/radialbar.d.ts","./node_modules/recharts/types/cartesian/brush.d.ts","./node_modules/recharts/types/cartesian/referencedot.d.ts","./node_modules/recharts/types/util/excludeeventprops.d.ts","./node_modules/recharts/types/util/svgpropertiesandevents.d.ts","./node_modules/recharts/types/cartesian/referencearea.d.ts","./node_modules/recharts/types/cartesian/barstack.d.ts","./node_modules/recharts/types/cartesian/xaxis.d.ts","./node_modules/recharts/types/cartesian/yaxis.d.ts","./node_modules/recharts/types/cartesian/zaxis.d.ts","./node_modules/recharts/types/chart/linechart.d.ts","./node_modules/recharts/types/chart/barchart.d.ts","./node_modules/recharts/types/chart/piechart.d.ts","./node_modules/recharts/types/chart/treemap.d.ts","./node_modules/recharts/types/chart/sankey.d.ts","./node_modules/recharts/types/chart/radarchart.d.ts","./node_modules/recharts/types/chart/scatterchart.d.ts","./node_modules/recharts/types/chart/areachart.d.ts","./node_modules/recharts/types/chart/radialbarchart.d.ts","./node_modules/recharts/types/chart/composedchart.d.ts","./node_modules/recharts/types/chart/sunburstchart.d.ts","./node_modules/recharts/types/shape/trapezoid.d.ts","./node_modules/recharts/types/cartesian/funnel.d.ts","./node_modules/recharts/types/chart/funnelchart.d.ts","./node_modules/recharts/types/util/global.d.ts","./node_modules/recharts/types/animation/animationhandle.d.ts","./node_modules/recharts/types/animation/timeoutcontroller.d.ts","./node_modules/recharts/types/animation/animationcontroller.d.ts","./node_modules/recharts/types/animation/useanimationcontroller.d.ts","./node_modules/recharts/types/zindex/defaultzindexes.d.ts","./node_modules/decimal.js-light/decimal.d.ts","./node_modules/recharts/types/util/scale/getnicetickvalues.d.ts","./node_modules/recharts/types/context/chartlayoutcontext.d.ts","./node_modules/recharts/types/util/getrelativecoordinate.d.ts","./node_modules/recharts/types/util/createcartesiancharts.d.ts","./node_modules/recharts/types/util/createpolarcharts.d.ts","./node_modules/recharts/types/util/datautils.d.ts","./node_modules/recharts/types/index.d.ts","./src/components/ui/chart.tsx","./src/components/shared/charts/chart_tooltip.tsx","./src/components/shared/charts/area_chart.tsx","./src/components/shared/charts/bar_chart.tsx","./src/components/shared/charts/chart_legend.tsx","./src/components/shared/charts/donut_chart.tsx","./src/components/shared/charts/line_chart.tsx","./src/components/shared/charts/index.ts","./src/components/team/memberformvalues.ts","./src/components/team/memberformvalues.test.ts","./src/components/team/tabvisibilityutils.ts","./src/components/team/tabvisibilityutils.test.ts","./src/components/team/teammodelaccess.ts","./src/components/team/teammodelaccess.test.ts","./src/components/team/usemyteammember.ts","./src/components/templates/estimatedoutputtokens.ts","./src/components/templates/estimatedoutputtokens.test.ts","./src/components/templates/keyeditfieldnormalizers.ts","./src/components/key_info_utils.tsx","./src/components/templates/keyeditformvalues.ts","./src/components/templates/keyeditformvalues.test.ts","./src/components/view_logs/constants.ts","./src/components/view_logs/logdetailrouting.ts","./src/components/view_logs/utils.ts","./src/components/view_logs/guardrailviewer/bedrockguardraildetails.tsx","./src/components/view_logs/guardrailviewer/__tests__/fixtures.ts","./src/components/view_logs/logdetailsdrawer/constants.ts","./src/components/view_logs/columns.tsx","./src/components/view_logs/logdetailsdrawer/classifytag.tsx","./node_modules/moment/ts3.1-typings/moment.d.ts","./src/components/view_logs/logdetailsdrawer/drawerheader.tsx","./src/components/view_logs/logdetailsdrawer/usekeyboardnavigation.ts","./src/components/view_logs/guardrailviewer/presidiodetectedentities.tsx","./src/components/view_logs/guardrailviewer/contentfilterdetails.tsx","./src/components/view_logs/guardrailviewer/compliancepanel.tsx","./src/components/view_logs/guardrailviewer/guardrailviewer.tsx","./src/components/view_logs/evalviewer/evalviewer.tsx","./src/components/view_logs/costbreakdownviewer.tsx","./src/components/view_logs/configinfomessage.tsx","./src/components/view_logs/vectorstoreviewer.tsx","./src/components/view_logs/logdetailsdrawer/truncatedvalue.tsx","./src/components/view_logs/logdetailsdrawer/tokenflow.tsx","./node_modules/react-json-view-lite/dist/datarenderer.d.ts","./node_modules/react-json-view-lite/dist/index.d.ts","./src/components/view_logs/logdetailsdrawer/jsonviewer.tsx","./src/components/view_logs/logdetailsdrawer/utils.ts","./src/components/view_logs/toolssection/types.ts","./src/components/view_logs/toolssection/utils.ts","./src/components/view_logs/toolssection/formattedtoolview.tsx","./src/components/view_logs/toolssection/jsontoolview.tsx","./src/components/view_logs/toolssection/toolexpandedcontent.tsx","./src/components/view_logs/toolssection/toolitem.tsx","./src/components/view_logs/toolssection/toolssection.tsx","./src/components/view_logs/toolssection/index.ts","./src/components/view_logs/logdetailsdrawer/prettymessagestypes.ts","./src/components/view_logs/logdetailsdrawer/prettymessagesutils.ts","./src/components/view_logs/logdetailsdrawer/sectionheader.tsx","./src/components/view_logs/logdetailsdrawer/collapsiblemessage.tsx","./src/components/view_logs/logdetailsdrawer/simpletoolcallblock.tsx","./src/components/view_logs/logdetailsdrawer/simplemessageblock.tsx","./src/components/view_logs/logdetailsdrawer/historytree.tsx","./src/components/view_logs/logdetailsdrawer/inputcard.tsx","./src/components/view_logs/logdetailsdrawer/outputcard.tsx","./src/components/view_logs/logdetailsdrawer/realtimeprettyview.tsx","./src/components/view_logs/logdetailsdrawer/prettymessagesview.tsx","./src/components/view_logs/logdetailsdrawer/logdetailcontent.tsx","./src/components/view_logs/logdetailsdrawer/logdetailsdrawer.tsx","./src/components/view_logs/logdetailsdrawer/index.ts","./src/components/view_logs/logdetailsdrawer/utils.test.ts","./src/components/view_logs/toolssection/utils.test.ts","./src/data/insultscomplianceprompts.ts","./src/data/financialcomplianceprompts.ts","./src/data/codeexecutioncomplianceprompts.ts","./src/data/claimscomplianceprompts.ts","./src/data/complianceprompts.ts","./src/data/canadianpiicomplianceprompts.ts","./src/hooks/mcpoauthutils.ts","./src/hooks/usevisitedtabs.ts","./src/hooks/useworker.ts","./src/hooks/policies/usedeletepolicyattachment.ts","./src/lib/assetpaths.test.ts","./src/autorouter_presets.json","./src/lib/autorouter_presets.ts","./src/lib/autorouter_presets.test.ts","./src/lib/toast.test.ts","./src/lib/forms/pickdirty.ts","./src/lib/forms/pickdirty.test.ts","./src/lib/forms/urlvalidation.ts","./src/lib/forms/urlvalidation.test.ts","./src/lib/http/api.sameorigin.test.ts","./src/lib/http/api.test.ts","./src/lib/http/client.test.ts","./src/lib/http/resolveapibase.test.ts","./src/lib/http/runtime.test.ts","./src/utils/budgetutils.ts","./src/utils/capabilities.test.ts","./src/utils/cookieutils.test.ts","./src/utils/datautils.test.ts","./src/utils/errorpatterns.ts","./src/utils/errorutils.ts","./src/utils/errorutils.test.ts","./src/utils/jwtutils.test.ts","./node_modules/date-fns/constants.d.ts","./node_modules/date-fns/locale/types.d.ts","./node_modules/date-fns/fp/types.d.ts","./node_modules/date-fns/types.d.ts","./node_modules/date-fns/add.d.ts","./node_modules/date-fns/addbusinessdays.d.ts","./node_modules/date-fns/adddays.d.ts","./node_modules/date-fns/addhours.d.ts","./node_modules/date-fns/addisoweekyears.d.ts","./node_modules/date-fns/addmilliseconds.d.ts","./node_modules/date-fns/addminutes.d.ts","./node_modules/date-fns/addmonths.d.ts","./node_modules/date-fns/addquarters.d.ts","./node_modules/date-fns/addseconds.d.ts","./node_modules/date-fns/addweeks.d.ts","./node_modules/date-fns/addyears.d.ts","./node_modules/date-fns/areintervalsoverlapping.d.ts","./node_modules/date-fns/clamp.d.ts","./node_modules/date-fns/closestindexto.d.ts","./node_modules/date-fns/closestto.d.ts","./node_modules/date-fns/compareasc.d.ts","./node_modules/date-fns/comparedesc.d.ts","./node_modules/date-fns/constructfrom.d.ts","./node_modules/date-fns/constructnow.d.ts","./node_modules/date-fns/daystoweeks.d.ts","./node_modules/date-fns/differenceinbusinessdays.d.ts","./node_modules/date-fns/differenceincalendardays.d.ts","./node_modules/date-fns/differenceincalendarisoweekyears.d.ts","./node_modules/date-fns/differenceincalendarisoweeks.d.ts","./node_modules/date-fns/differenceincalendarmonths.d.ts","./node_modules/date-fns/differenceincalendarquarters.d.ts","./node_modules/date-fns/differenceincalendarweeks.d.ts","./node_modules/date-fns/differenceincalendaryears.d.ts","./node_modules/date-fns/differenceindays.d.ts","./node_modules/date-fns/differenceinhours.d.ts","./node_modules/date-fns/differenceinisoweekyears.d.ts","./node_modules/date-fns/differenceinmilliseconds.d.ts","./node_modules/date-fns/differenceinminutes.d.ts","./node_modules/date-fns/differenceinmonths.d.ts","./node_modules/date-fns/differenceinquarters.d.ts","./node_modules/date-fns/differenceinseconds.d.ts","./node_modules/date-fns/differenceinweeks.d.ts","./node_modules/date-fns/differenceinyears.d.ts","./node_modules/date-fns/eachdayofinterval.d.ts","./node_modules/date-fns/eachhourofinterval.d.ts","./node_modules/date-fns/eachminuteofinterval.d.ts","./node_modules/date-fns/eachmonthofinterval.d.ts","./node_modules/date-fns/eachquarterofinterval.d.ts","./node_modules/date-fns/eachweekofinterval.d.ts","./node_modules/date-fns/eachweekendofinterval.d.ts","./node_modules/date-fns/eachweekendofmonth.d.ts","./node_modules/date-fns/eachweekendofyear.d.ts","./node_modules/date-fns/eachyearofinterval.d.ts","./node_modules/date-fns/endofday.d.ts","./node_modules/date-fns/endofdecade.d.ts","./node_modules/date-fns/endofhour.d.ts","./node_modules/date-fns/endofisoweek.d.ts","./node_modules/date-fns/endofisoweekyear.d.ts","./node_modules/date-fns/endofminute.d.ts","./node_modules/date-fns/endofmonth.d.ts","./node_modules/date-fns/endofquarter.d.ts","./node_modules/date-fns/endofsecond.d.ts","./node_modules/date-fns/endoftoday.d.ts","./node_modules/date-fns/endoftomorrow.d.ts","./node_modules/date-fns/endofweek.d.ts","./node_modules/date-fns/endofyear.d.ts","./node_modules/date-fns/endofyesterday.d.ts","./node_modules/date-fns/_lib/format/formatters.d.ts","./node_modules/date-fns/_lib/format/longformatters.d.ts","./node_modules/date-fns/format.d.ts","./node_modules/date-fns/formatdistance.d.ts","./node_modules/date-fns/formatdistancestrict.d.ts","./node_modules/date-fns/formatdistancetonow.d.ts","./node_modules/date-fns/formatdistancetonowstrict.d.ts","./node_modules/date-fns/formatduration.d.ts","./node_modules/date-fns/formatiso.d.ts","./node_modules/date-fns/formatiso9075.d.ts","./node_modules/date-fns/formatisoduration.d.ts","./node_modules/date-fns/formatrfc3339.d.ts","./node_modules/date-fns/formatrfc7231.d.ts","./node_modules/date-fns/formatrelative.d.ts","./node_modules/date-fns/fromunixtime.d.ts","./node_modules/date-fns/getdate.d.ts","./node_modules/date-fns/getday.d.ts","./node_modules/date-fns/getdayofyear.d.ts","./node_modules/date-fns/getdaysinmonth.d.ts","./node_modules/date-fns/getdaysinyear.d.ts","./node_modules/date-fns/getdecade.d.ts","./node_modules/date-fns/_lib/defaultoptions.d.ts","./node_modules/date-fns/getdefaultoptions.d.ts","./node_modules/date-fns/gethours.d.ts","./node_modules/date-fns/getisoday.d.ts","./node_modules/date-fns/getisoweek.d.ts","./node_modules/date-fns/getisoweekyear.d.ts","./node_modules/date-fns/getisoweeksinyear.d.ts","./node_modules/date-fns/getmilliseconds.d.ts","./node_modules/date-fns/getminutes.d.ts","./node_modules/date-fns/getmonth.d.ts","./node_modules/date-fns/getoverlappingdaysinintervals.d.ts","./node_modules/date-fns/getquarter.d.ts","./node_modules/date-fns/getseconds.d.ts","./node_modules/date-fns/gettime.d.ts","./node_modules/date-fns/getunixtime.d.ts","./node_modules/date-fns/getweek.d.ts","./node_modules/date-fns/getweekofmonth.d.ts","./node_modules/date-fns/getweekyear.d.ts","./node_modules/date-fns/getweeksinmonth.d.ts","./node_modules/date-fns/getyear.d.ts","./node_modules/date-fns/hourstomilliseconds.d.ts","./node_modules/date-fns/hourstominutes.d.ts","./node_modules/date-fns/hourstoseconds.d.ts","./node_modules/date-fns/interval.d.ts","./node_modules/date-fns/intervaltoduration.d.ts","./node_modules/date-fns/intlformat.d.ts","./node_modules/date-fns/intlformatdistance.d.ts","./node_modules/date-fns/isafter.d.ts","./node_modules/date-fns/isbefore.d.ts","./node_modules/date-fns/isdate.d.ts","./node_modules/date-fns/isequal.d.ts","./node_modules/date-fns/isexists.d.ts","./node_modules/date-fns/isfirstdayofmonth.d.ts","./node_modules/date-fns/isfriday.d.ts","./node_modules/date-fns/isfuture.d.ts","./node_modules/date-fns/islastdayofmonth.d.ts","./node_modules/date-fns/isleapyear.d.ts","./node_modules/date-fns/ismatch.d.ts","./node_modules/date-fns/ismonday.d.ts","./node_modules/date-fns/ispast.d.ts","./node_modules/date-fns/issameday.d.ts","./node_modules/date-fns/issamehour.d.ts","./node_modules/date-fns/issameisoweek.d.ts","./node_modules/date-fns/issameisoweekyear.d.ts","./node_modules/date-fns/issameminute.d.ts","./node_modules/date-fns/issamemonth.d.ts","./node_modules/date-fns/issamequarter.d.ts","./node_modules/date-fns/issamesecond.d.ts","./node_modules/date-fns/issameweek.d.ts","./node_modules/date-fns/issameyear.d.ts","./node_modules/date-fns/issaturday.d.ts","./node_modules/date-fns/issunday.d.ts","./node_modules/date-fns/isthishour.d.ts","./node_modules/date-fns/isthisisoweek.d.ts","./node_modules/date-fns/isthisminute.d.ts","./node_modules/date-fns/isthismonth.d.ts","./node_modules/date-fns/isthisquarter.d.ts","./node_modules/date-fns/isthissecond.d.ts","./node_modules/date-fns/isthisweek.d.ts","./node_modules/date-fns/isthisyear.d.ts","./node_modules/date-fns/isthursday.d.ts","./node_modules/date-fns/istoday.d.ts","./node_modules/date-fns/istomorrow.d.ts","./node_modules/date-fns/istuesday.d.ts","./node_modules/date-fns/isvalid.d.ts","./node_modules/date-fns/iswednesday.d.ts","./node_modules/date-fns/isweekend.d.ts","./node_modules/date-fns/iswithininterval.d.ts","./node_modules/date-fns/isyesterday.d.ts","./node_modules/date-fns/lastdayofdecade.d.ts","./node_modules/date-fns/lastdayofisoweek.d.ts","./node_modules/date-fns/lastdayofisoweekyear.d.ts","./node_modules/date-fns/lastdayofmonth.d.ts","./node_modules/date-fns/lastdayofquarter.d.ts","./node_modules/date-fns/lastdayofweek.d.ts","./node_modules/date-fns/lastdayofyear.d.ts","./node_modules/date-fns/_lib/format/lightformatters.d.ts","./node_modules/date-fns/lightformat.d.ts","./node_modules/date-fns/max.d.ts","./node_modules/date-fns/milliseconds.d.ts","./node_modules/date-fns/millisecondstohours.d.ts","./node_modules/date-fns/millisecondstominutes.d.ts","./node_modules/date-fns/millisecondstoseconds.d.ts","./node_modules/date-fns/min.d.ts","./node_modules/date-fns/minutestohours.d.ts","./node_modules/date-fns/minutestomilliseconds.d.ts","./node_modules/date-fns/minutestoseconds.d.ts","./node_modules/date-fns/monthstoquarters.d.ts","./node_modules/date-fns/monthstoyears.d.ts","./node_modules/date-fns/nextday.d.ts","./node_modules/date-fns/nextfriday.d.ts","./node_modules/date-fns/nextmonday.d.ts","./node_modules/date-fns/nextsaturday.d.ts","./node_modules/date-fns/nextsunday.d.ts","./node_modules/date-fns/nextthursday.d.ts","./node_modules/date-fns/nexttuesday.d.ts","./node_modules/date-fns/nextwednesday.d.ts","./node_modules/date-fns/parse/_lib/types.d.ts","./node_modules/date-fns/parse/_lib/setter.d.ts","./node_modules/date-fns/parse/_lib/parser.d.ts","./node_modules/date-fns/parse/_lib/parsers.d.ts","./node_modules/date-fns/parse.d.ts","./node_modules/date-fns/parseiso.d.ts","./node_modules/date-fns/parsejson.d.ts","./node_modules/date-fns/previousday.d.ts","./node_modules/date-fns/previousfriday.d.ts","./node_modules/date-fns/previousmonday.d.ts","./node_modules/date-fns/previoussaturday.d.ts","./node_modules/date-fns/previoussunday.d.ts","./node_modules/date-fns/previousthursday.d.ts","./node_modules/date-fns/previoustuesday.d.ts","./node_modules/date-fns/previouswednesday.d.ts","./node_modules/date-fns/quarterstomonths.d.ts","./node_modules/date-fns/quarterstoyears.d.ts","./node_modules/date-fns/roundtonearesthours.d.ts","./node_modules/date-fns/roundtonearestminutes.d.ts","./node_modules/date-fns/secondstohours.d.ts","./node_modules/date-fns/secondstomilliseconds.d.ts","./node_modules/date-fns/secondstominutes.d.ts","./node_modules/date-fns/set.d.ts","./node_modules/date-fns/setdate.d.ts","./node_modules/date-fns/setday.d.ts","./node_modules/date-fns/setdayofyear.d.ts","./node_modules/date-fns/setdefaultoptions.d.ts","./node_modules/date-fns/sethours.d.ts","./node_modules/date-fns/setisoday.d.ts","./node_modules/date-fns/setisoweek.d.ts","./node_modules/date-fns/setisoweekyear.d.ts","./node_modules/date-fns/setmilliseconds.d.ts","./node_modules/date-fns/setminutes.d.ts","./node_modules/date-fns/setmonth.d.ts","./node_modules/date-fns/setquarter.d.ts","./node_modules/date-fns/setseconds.d.ts","./node_modules/date-fns/setweek.d.ts","./node_modules/date-fns/setweekyear.d.ts","./node_modules/date-fns/setyear.d.ts","./node_modules/date-fns/startofday.d.ts","./node_modules/date-fns/startofdecade.d.ts","./node_modules/date-fns/startofhour.d.ts","./node_modules/date-fns/startofisoweek.d.ts","./node_modules/date-fns/startofisoweekyear.d.ts","./node_modules/date-fns/startofminute.d.ts","./node_modules/date-fns/startofmonth.d.ts","./node_modules/date-fns/startofquarter.d.ts","./node_modules/date-fns/startofsecond.d.ts","./node_modules/date-fns/startoftoday.d.ts","./node_modules/date-fns/startoftomorrow.d.ts","./node_modules/date-fns/startofweek.d.ts","./node_modules/date-fns/startofweekyear.d.ts","./node_modules/date-fns/startofyear.d.ts","./node_modules/date-fns/startofyesterday.d.ts","./node_modules/date-fns/sub.d.ts","./node_modules/date-fns/subbusinessdays.d.ts","./node_modules/date-fns/subdays.d.ts","./node_modules/date-fns/subhours.d.ts","./node_modules/date-fns/subisoweekyears.d.ts","./node_modules/date-fns/submilliseconds.d.ts","./node_modules/date-fns/subminutes.d.ts","./node_modules/date-fns/submonths.d.ts","./node_modules/date-fns/subquarters.d.ts","./node_modules/date-fns/subseconds.d.ts","./node_modules/date-fns/subweeks.d.ts","./node_modules/date-fns/subyears.d.ts","./node_modules/date-fns/todate.d.ts","./node_modules/date-fns/transpose.d.ts","./node_modules/date-fns/weekstodays.d.ts","./node_modules/date-fns/yearstodays.d.ts","./node_modules/date-fns/yearstomonths.d.ts","./node_modules/date-fns/yearstoquarters.d.ts","./node_modules/date-fns/index.d.ts","./src/utils/keyexpiryutils.ts","./src/utils/keyexpiryutils.test.ts","./src/utils/keyupdateutils.ts","./src/utils/keyupdateutils.test.ts","./src/utils/licenseutils.test.ts","./src/utils/localstorageutils.test.ts","./src/utils/maskedsecretutils.ts","./src/utils/mcpheaderutils.ts","./src/utils/mcpheaderutils.test.ts","./src/utils/mcptokenstore.test.ts","./src/utils/mcptoolcrudclassification.test.ts","./src/utils/migratedpages.test.ts","./src/utils/modelpermissions.test.ts","./src/utils/pkce.ts","./src/utils/promptcacheusage.test.ts","./src/utils/proxyutils.test.ts","./node_modules/dayjs/plugin/utc.d.ts","./src/utils/ptudatetime.ts","./src/utils/ptudatetime.test.ts","./src/utils/ptuvalidation.ts","./src/utils/ptumodelinfo.ts","./src/utils/ptumodelinfo.test.ts","./src/utils/ptuvalidation.test.ts","./src/utils/returnurlutils.test.ts","./src/utils/roles.test.ts","./src/utils/tabroutes.test.ts","./src/utils/teamutils.test.ts","./src/utils/textutils.test.ts","./node_modules/@types/json-schema/index.d.ts","./node_modules/@eslint/core/dist/cjs/types.d.cts","./node_modules/eslint/lib/types/use-at-your-own-risk.d.ts","./node_modules/eslint/lib/types/index.d.ts","./tests/fetch-location-rule.test.ts","./node_modules/vitest/dist/environments.d.ts","./tests/jsdomfetchenv.ts","./scripts/lint-budget-lib.mjs","./tests/lint-budget-lib.test.ts","./tests/setup.unit.ts","./node_modules/@testing-library/jest-dom/types/matchers.d.ts","./node_modules/@testing-library/jest-dom/types/jest.d.ts","./node_modules/@testing-library/jest-dom/types/index.d.ts","./tests/setuptests.ts","./scripts/eslint-rules/filename-pascal-case.mjs","./tests/eslint-rules/filename-pascal-case.test.ts","./scripts/eslint-rules/no-complex-jsx-arrow.mjs","./tests/eslint-rules/no-complex-jsx-arrow.test.ts","./scripts/eslint-rules/no-large-inline-object-arg.mjs","./tests/eslint-rules/no-large-inline-object-arg.test.ts","./scripts/eslint-rules/no-long-condition-chain.mjs","./tests/eslint-rules/no-long-condition-chain.test.ts","./tests/mocks/complexityscorerdefaults.ts","./node_modules/next/dist/compiled/@next/font/dist/types.d.ts","./node_modules/next/dist/compiled/@next/font/dist/google/index.d.ts","./node_modules/next/font/google/index.d.ts","./node_modules/nuqs/dist/adapters/next/app.d.ts","./src/contexts/authcontext.tsx","./src/contexts/reactqueryprovider.tsx","./src/components/ui/sonner.tsx","./src/app/layout.tsx","./src/components/ui/breadcrumb.tsx","./src/components/shared/toolbarseparator.tsx","./src/components/navbar/blogdropdown/blogdropdown.tsx","./src/components/ui/button-group.tsx","./src/components/navbar/communityengagementbuttons/communityengagementbuttons.tsx","./src/components/navbar/notificationsbell/notificationsbell.tsx","./src/contexts/pluginmodecontext.tsx","./src/components/navbar/viewswitcher.tsx","./src/components/navbar/workerdropdown/workerdropdown.tsx","./src/components/dashboardheader.tsx","./src/components/navbar/userdropdown/userdropdown.tsx","./src/components/navbar.tsx","./src/components/common_components/loadingscreen.tsx","./src/app/(dashboard)/components/sidebarprovider.tsx","./src/components/debugwarningbanner.tsx","./src/components/norediswarningbanner.tsx","./src/components/licenseexpirybanner.tsx","./node_modules/@types/unist/index.d.ts","./node_modules/@types/hast/index.d.ts","./node_modules/vfile-message/lib/index.d.ts","./node_modules/vfile-message/index.d.ts","./node_modules/vfile/lib/index.d.ts","./node_modules/vfile/index.d.ts","./node_modules/unified/lib/callable-instance.d.ts","./node_modules/trough/lib/index.d.ts","./node_modules/trough/index.d.ts","./node_modules/unified/lib/index.d.ts","./node_modules/unified/index.d.ts","./node_modules/@types/mdast/index.d.ts","./node_modules/mdast-util-to-hast/lib/state.d.ts","./node_modules/mdast-util-to-hast/lib/footer.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/blockquote.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/break.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/code.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/delete.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/emphasis.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/footnote-reference.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/heading.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/html.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/image-reference.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/image.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/inline-code.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/link-reference.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/link.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/list-item.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/list.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/paragraph.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/root.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/strong.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/table.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/table-cell.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/table-row.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/text.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/thematic-break.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/index.d.ts","./node_modules/mdast-util-to-hast/lib/index.d.ts","./node_modules/mdast-util-to-hast/index.d.ts","./node_modules/remark-rehype/lib/index.d.ts","./node_modules/remark-rehype/index.d.ts","./node_modules/react-markdown/lib/index.d.ts","./node_modules/react-markdown/index.d.ts","./node_modules/micromark-util-types/index.d.ts","./node_modules/micromark-extension-gfm-footnote/lib/html.d.ts","./node_modules/micromark-extension-gfm-footnote/lib/syntax.d.ts","./node_modules/micromark-extension-gfm-footnote/index.d.ts","./node_modules/micromark-extension-gfm-strikethrough/lib/html.d.ts","./node_modules/micromark-extension-gfm-strikethrough/lib/syntax.d.ts","./node_modules/micromark-extension-gfm-strikethrough/index.d.ts","./node_modules/micromark-extension-gfm/index.d.ts","./node_modules/mdast-util-from-markdown/lib/types.d.ts","./node_modules/mdast-util-from-markdown/lib/index.d.ts","./node_modules/mdast-util-from-markdown/index.d.ts","./node_modules/mdast-util-to-markdown/lib/types.d.ts","./node_modules/mdast-util-to-markdown/lib/index.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/blockquote.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/break.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/code.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/definition.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/emphasis.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/heading.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/html.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/image.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/image-reference.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/inline-code.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/link.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/link-reference.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/list.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/list-item.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/paragraph.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/root.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/strong.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/text.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/thematic-break.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/index.d.ts","./node_modules/mdast-util-to-markdown/index.d.ts","./node_modules/mdast-util-gfm-footnote/lib/index.d.ts","./node_modules/mdast-util-gfm-footnote/index.d.ts","./node_modules/markdown-table/index.d.ts","./node_modules/mdast-util-gfm-table/lib/index.d.ts","./node_modules/mdast-util-gfm-table/index.d.ts","./node_modules/mdast-util-gfm/lib/index.d.ts","./node_modules/mdast-util-gfm/index.d.ts","./node_modules/remark-gfm/lib/index.d.ts","./node_modules/remark-gfm/index.d.ts","./src/components/userbanner.tsx","./src/app/(dashboard)/layout.tsx","./src/app/(dashboard)/agentcontrolplaneview.test.tsx","./src/app/(dashboard)/layout.test.tsx","./src/components/common_components/fetch_teams.tsx","./src/components/shared/legacypageheader.tsx","./src/app/(dashboard)/hooks/useteams.tsx","./src/components/ui/hover-card.tsx","./src/components/common_components/defaultproxyadmintag.tsx","./src/components/common_components/labeledfield.tsx","./src/components/templates/keyinfoheader.tsx","./src/components/common_components/autorotationview.tsx","./src/components/common_components/deleteresourcemodal.tsx","./src/components/common_components/routersettingssummary.tsx","./src/components/logging_settings_view.tsx","./src/components/permissions/vectorstorepermissions.tsx","./src/components/permissions/mcpserverpermissions.tsx","./src/components/permissions/agentpermissions.tsx","./src/components/object_permissions_view.tsx","./src/components/organisms/regeneratekeymodal.tsx","./src/components/shared/errorutils.tsx","./src/components/guardrails/guardrailselector.tsx","./src/components/policies/policyselector.tsx","./src/components/templates/keyeditviewcontrols.tsx","./src/components/team/editloggingsettings.tsx","./src/components/templates/key_edit_view.tsx","./src/components/templates/key_info_view.tsx","./src/components/virtualkeyspage/keytablecolumns.tsx","./src/components/virtualkeyspage/virtualkeystable.tsx","./src/components/user_dashboard.tsx","./src/app/(dashboard)/api-keys/apikeysdashboard.tsx","./src/app/(dashboard)/page.tsx","./src/app/(dashboard)/page.test.tsx","./src/components/modelselect/modelselect.tsx","./src/app/(dashboard)/access-groups/_components/accessgroupsmodal/accessgroupbaseform.tsx","./src/app/(dashboard)/access-groups/_components/accessgroupsmodal/accessgroupeditmodal.tsx","./src/app/(dashboard)/access-groups/_components/accessgroupsdetailspage.tsx","./src/app/(dashboard)/access-groups/_components/access-group-create/accessgroupcreatedialog.tsx","./src/app/(dashboard)/access-groups/_components/accessgroupstablecolumns.tsx","./src/app/(dashboard)/access-groups/_components/accessgroupstable.tsx","./src/app/(dashboard)/access-groups/_components/accessgroupspage.tsx","./src/app/(dashboard)/access-groups/page.tsx","./tests/test-utils.tsx","./src/app/(dashboard)/access-groups/_components/accessgroupsdetailspage.test.tsx","./src/app/(dashboard)/access-groups/_components/accessgroupspage.test.tsx","./src/app/(dashboard)/access-groups/_components/accessgroupsmodal/accessgroupeditmodal.integration.test.tsx","./src/app/(dashboard)/access-groups/_components/access-group-create/accessgroupcreatedialog.test.tsx","./src/components/constants.tsx","./src/components/scim.tsx","./src/components/settings/adminsettings/loggingsettings/loggingsettings.tsx","./src/components/shared/passwordinput.tsx","./src/components/settings/adminsettings/ssosettings/modals/basessosettingsform.tsx","./src/components/settings/adminsettings/ssosettings/modals/addssosettingsmodal.tsx","./src/components/settings/adminsettings/ssosettings/modals/deletessosettingsmodal.tsx","./src/components/settings/adminsettings/ssosettings/modals/editssosettingsmodal.tsx","./src/components/settings/adminsettings/ssosettings/redactablefield.tsx","./src/components/settings/adminsettings/ssosettings/rolemappings.tsx","./src/components/settings/adminsettings/ssosettings/ssosettingsemptyplaceholder.tsx","./src/components/settings/adminsettings/ssosettings/ssosettingsloadingskeleton.tsx","./src/components/settings/adminsettings/ssosettings/ssosettings.tsx","./src/components/settings/adminsettings/uisettings/pagevisibilitysettings.tsx","./src/components/settings/adminsettings/uisettings/uisettings.tsx","./src/components/settings/adminsettings/userbannersettings/userbannersettings.tsx","./src/components/settings/adminsettings/hashicorpvault/edithashicorpvaultmodal.tsx","./src/components/settings/adminsettings/hashicorpvault/hashicorpvaultemptyplaceholder.tsx","./src/components/settings/adminsettings/hashicorpvault/hashicorpvault.tsx","./src/components/settings/adminsettings/pluginsettings/pluginsettings.tsx","./src/components/ssomodals.tsx","./src/components/uiaccesscontrolform.tsx","./src/app/(dashboard)/admin-panel/_components/adminpanel.tsx","./src/app/(dashboard)/admin-panel/page.tsx","./src/app/(dashboard)/admin-panel/_components/adminpanel.test.tsx","./src/app/(dashboard)/agents/_components/agentformkit.tsx","./src/app/(dashboard)/agents/_components/cost_config_fields.tsx","./src/app/(dashboard)/agents/_components/agent_form_fields.tsx","./src/app/(dashboard)/agents/_components/agent_card_discovery.tsx","./src/app/(dashboard)/agents/_components/dynamic_agent_form_fields.tsx","./src/app/(dashboard)/agents/_components/add_agent_form.tsx","./src/app/(dashboard)/agents/_components/agent_virtual_keys.tsx","./src/app/(dashboard)/agents/_components/agent_cost_view.tsx","./src/app/(dashboard)/agents/_components/agent_info.tsx","./src/app/(dashboard)/agents/_components/agentstablecolumns.tsx","./src/app/(dashboard)/agents/_components/agentstable.tsx","./src/app/(dashboard)/agents/_components/agentspanel.tsx","./src/app/(dashboard)/agents/page.tsx","./src/app/(dashboard)/agents/_components/agentspanel.test.tsx","./src/app/(dashboard)/agents/_components/agentstable.test.tsx","./src/app/(dashboard)/agents/_components/add_agent_form.integration.test.tsx","./src/app/(dashboard)/agents/_components/add_agent_form.test.tsx","./src/app/(dashboard)/agents/_components/agent_card_discovery.test.tsx","./src/app/(dashboard)/agents/_components/agent_cost_view.test.tsx","./src/app/(dashboard)/agents/_components/agent_info.integration.test.tsx","./src/app/(dashboard)/agents/_components/agent_info.test.tsx","./src/app/(dashboard)/agents/_components/agent_virtual_keys.test.tsx","./src/app/(dashboard)/api-keys/apikeysdashboard.test.tsx","./src/app/(dashboard)/api-keys/page.tsx","./src/app/(dashboard)/api-reference/_components/doclink.tsx","./src/app/(dashboard)/api-reference/_components/apireferenceview.tsx","./src/components/deprecationbanner.tsx","./src/app/(dashboard)/api-reference/page.tsx","./src/app/(dashboard)/api-reference/_components/apireferenceview.test.tsx","./src/app/(dashboard)/budgets/_components/budget_modal.tsx","./src/app/(dashboard)/budgets/_components/budgettablecolumns.tsx","./src/app/(dashboard)/budgets/_components/budgettable.tsx","./src/app/(dashboard)/budgets/_components/edit_budget_modal.tsx","./src/app/(dashboard)/budgets/_components/budget_panel.tsx","./src/app/(dashboard)/budgets/page.tsx","./src/app/(dashboard)/budgets/_components/budgettable.test.tsx","./src/app/(dashboard)/budgets/_components/budget_modal.integration.test.tsx","./src/app/(dashboard)/budgets/_components/budget_panel.test.tsx","./src/app/(dashboard)/budgets/_components/edit_budget_modal.integration.test.tsx","./src/components/shared/advanced_date_picker.tsx","./src/app/(dashboard)/caching/_components/response_time_indicator.tsx","./src/app/(dashboard)/caching/_components/cache_health.tsx","./src/app/(dashboard)/caching/_components/cache_settings/redistypeselector.tsx","./src/app/(dashboard)/caching/_components/cache_settings/cacheformfield.tsx","./src/app/(dashboard)/caching/_components/cache_settings/cachefieldsection.tsx","./src/app/(dashboard)/caching/_components/cache_settings/index.tsx","./src/app/(dashboard)/caching/_components/coordination_redis_settings/coordinationredisformfield.tsx","./src/app/(dashboard)/caching/_components/coordination_redis_settings/coordinationredisfieldsection.tsx","./src/app/(dashboard)/caching/_components/coordination_redis_settings/coordinationredistypeselector.tsx","./src/app/(dashboard)/caching/_components/coordination_redis_settings/index.tsx","./src/app/(dashboard)/caching/_components/cache_dashboard.tsx","./src/app/(dashboard)/caching/page.tsx","./src/app/(dashboard)/caching/_components/cache_dashboard.test.tsx","./src/app/(dashboard)/caching/_components/cache_health.test.tsx","./src/app/(dashboard)/caching/_components/cache_settings/redistypeselector.test.tsx","./src/app/(dashboard)/caching/_components/cache_settings/index.integration.test.tsx","./src/app/(dashboard)/caching/_components/cache_settings/index.test.tsx","./src/app/(dashboard)/caching/_components/coordination_redis_settings/coordinationredistypeselector.test.tsx","./src/app/(dashboard)/caching/_components/coordination_redis_settings/index.integration.test.tsx","./src/app/(dashboard)/caching/_components/coordination_redis_settings/index.test.tsx","./src/app/(dashboard)/cost-optimization/_components/usagetab.tsx","./src/app/(dashboard)/cost-optimization/_components/promptcompressiontab.tsx","./src/components/router_settings/index.tsx","./node_modules/openai/_shims/manual-types.d.ts","./node_modules/openai/_shims/auto/types.d.ts","./node_modules/openai/streaming.d.ts","./node_modules/openai/error.d.ts","./node_modules/openai/_shims/multipartbody.d.ts","./node_modules/openai/uploads.d.ts","./node_modules/openai/core.d.ts","./node_modules/openai/_shims/index.d.ts","./node_modules/openai/pagination.d.ts","./node_modules/openai/resources/shared.d.ts","./node_modules/openai/resources/batches.d.ts","./node_modules/openai/resources/chat/completions/messages.d.ts","./node_modules/openai/resources/chat/completions/completions.d.ts","./node_modules/openai/resources/completions.d.ts","./node_modules/openai/resources/embeddings.d.ts","./node_modules/openai/resources/files.d.ts","./node_modules/openai/resources/images.d.ts","./node_modules/openai/resources/models.d.ts","./node_modules/openai/resources/moderations.d.ts","./node_modules/openai/resources/audio/speech.d.ts","./node_modules/openai/resources/audio/transcriptions.d.ts","./node_modules/openai/resources/audio/translations.d.ts","./node_modules/openai/resources/audio/audio.d.ts","./node_modules/openai/resources/beta/threads/messages.d.ts","./node_modules/openai/resources/beta/threads/runs/steps.d.ts","./node_modules/openai/resources/beta/threads/runs/runs.d.ts","./node_modules/openai/lib/eventstream.d.ts","./node_modules/openai/lib/assistantstream.d.ts","./node_modules/openai/resources/beta/threads/threads.d.ts","./node_modules/openai/resources/beta/assistants.d.ts","./node_modules/openai/resources/chat/completions.d.ts","./node_modules/openai/lib/abstractchatcompletionrunner.d.ts","./node_modules/openai/lib/chatcompletionstream.d.ts","./node_modules/openai/lib/responsesparser.d.ts","./node_modules/openai/resources/responses/input-items.d.ts","./node_modules/openai/lib/responses/eventtypes.d.ts","./node_modules/openai/lib/responses/responsestream.d.ts","./node_modules/openai/resources/responses/responses.d.ts","./node_modules/openai/lib/parser.d.ts","./node_modules/openai/lib/chatcompletionstreamingrunner.d.ts","./node_modules/openai/lib/jsonschema.d.ts","./node_modules/openai/lib/runnablefunction.d.ts","./node_modules/openai/lib/chatcompletionrunner.d.ts","./node_modules/openai/resources/beta/chat/completions.d.ts","./node_modules/openai/resources/beta/chat/chat.d.ts","./node_modules/openai/resources/beta/realtime/sessions.d.ts","./node_modules/openai/resources/beta/realtime/transcription-sessions.d.ts","./node_modules/openai/resources/beta/realtime/realtime.d.ts","./node_modules/openai/resources/beta/beta.d.ts","./node_modules/openai/resources/containers/files/content.d.ts","./node_modules/openai/resources/containers/files/files.d.ts","./node_modules/openai/resources/containers/containers.d.ts","./node_modules/openai/resources/graders/grader-models.d.ts","./node_modules/openai/resources/evals/runs/output-items.d.ts","./node_modules/openai/resources/evals/runs/runs.d.ts","./node_modules/openai/resources/evals/evals.d.ts","./node_modules/openai/resources/fine-tuning/methods.d.ts","./node_modules/openai/resources/fine-tuning/alpha/graders.d.ts","./node_modules/openai/resources/fine-tuning/alpha/alpha.d.ts","./node_modules/openai/resources/fine-tuning/checkpoints/permissions.d.ts","./node_modules/openai/resources/fine-tuning/checkpoints/checkpoints.d.ts","./node_modules/openai/resources/fine-tuning/jobs/checkpoints.d.ts","./node_modules/openai/resources/fine-tuning/jobs/jobs.d.ts","./node_modules/openai/resources/fine-tuning/fine-tuning.d.ts","./node_modules/openai/resources/graders/graders.d.ts","./node_modules/openai/resources/uploads/parts.d.ts","./node_modules/openai/resources/uploads/uploads.d.ts","./node_modules/openai/resources/vector-stores/files.d.ts","./node_modules/openai/resources/vector-stores/file-batches.d.ts","./node_modules/openai/resources/vector-stores/vector-stores.d.ts","./node_modules/openai/index.d.ts","./node_modules/openai/resource.d.ts","./node_modules/openai/resources/chat/chat.d.ts","./node_modules/openai/resources/chat/completions/index.d.ts","./node_modules/openai/resources/chat/index.d.ts","./node_modules/openai/resources/index.d.ts","./node_modules/openai/index.d.mts","./src/components/molecules/models/providerlogo.tsx","./src/components/settings/routersettings/fallbacks/editfallbacks.tsx","./src/components/settings/routersettings/fallbacks/fallbacks.tsx","./src/components/routing_groups/routinggroupusagepanel.tsx","./src/components/routing_groups/routinggroupstablecolumns.tsx","./src/components/routing_groups/routinggroupstable.tsx","./src/components/routing_groups/routinggroupmodal.tsx","./src/components/routing_groups/index.tsx","./src/app/(dashboard)/router-settings/_components/general_settings.tsx","./src/app/(dashboard)/cost-optimization/_components/cacheleakagecard.tsx","./src/app/(dashboard)/cost-optimization/_components/promptcachingtab.tsx","./src/app/(dashboard)/cost-optimization/_components/shadowevalsection.tsx","./src/app/(dashboard)/cost-optimization/_components/tierturnschart.tsx","./src/app/(dashboard)/cost-optimization/_components/autorouterbenchmarkstab.tsx","./src/app/(dashboard)/cost-optimization/_components/costoptimizationview.tsx","./src/app/(dashboard)/cost-optimization/page.tsx","./src/app/(dashboard)/cost-optimization/_components/autorouterbenchmarkstab.test.tsx","./src/app/(dashboard)/cost-optimization/_components/cacheleakagecard.test.tsx","./src/app/(dashboard)/cost-optimization/_components/costoptimizationview.activity.test.tsx","./src/app/(dashboard)/cost-optimization/_components/costoptimizationview.test.tsx","./src/app/(dashboard)/cost-optimization/_components/promptcachingtab.test.tsx","./src/app/(dashboard)/cost-optimization/_components/promptcompressiontab.integration.test.tsx","./src/app/(dashboard)/cost-optimization/_components/shadowevalsection.test.tsx","./src/app/(dashboard)/cost-optimization/_components/tierturnschart.test.tsx","./src/app/(dashboard)/cost-optimization/_components/usagetab.test.tsx","./src/app/(dashboard)/cost-optimization/_components/usedailyactivityrange.test.tsx","./src/app/(dashboard)/cost-tracking/page.tsx","./src/app/(dashboard)/cost-tracking/_components/add_margin_form.test.tsx","./src/app/(dashboard)/cost-tracking/_components/add_provider_form.integration.test.tsx","./src/app/(dashboard)/cost-tracking/_components/add_provider_form.test.tsx","./src/app/(dashboard)/cost-tracking/_components/cost_tracking_settings.integration.test.tsx","./src/app/(dashboard)/cost-tracking/_components/cost_tracking_settings.test.tsx","./src/app/(dashboard)/cost-tracking/_components/how_it_works.test.tsx","./src/app/(dashboard)/cost-tracking/_components/provider_discount_table.test.tsx","./src/app/(dashboard)/cost-tracking/_components/provider_margin_table.test.tsx","./src/app/(dashboard)/cost-tracking/_components/pricing_calculator/index.test.tsx","./src/app/(dashboard)/cost-tracking/_components/pricing_calculator/multi_cost_results.test.tsx","./src/app/(dashboard)/cost-tracking/_components/pricing_calculator/multi_export_dropdown.test.tsx","./src/app/(dashboard)/guardrails/_components/content_filter/patternmodal.tsx","./src/app/(dashboard)/guardrails/_components/content_filter/custompatternmodal.tsx","./src/app/(dashboard)/guardrails/_components/content_filter/keywordmodal.tsx","./src/app/(dashboard)/guardrails/_components/content_filter/patterntable.tsx","./src/app/(dashboard)/guardrails/_components/content_filter/keywordtable.tsx","./src/app/(dashboard)/guardrails/_components/content_filter/contentcategoryconfiguration.tsx","./src/app/(dashboard)/guardrails/_components/content_filter/thresholdinput.tsx","./src/app/(dashboard)/guardrails/_components/content_filter/competitorintentconfiguration.tsx","./src/app/(dashboard)/guardrails/_components/content_filter/contentfilterconfiguration.tsx","./src/app/(dashboard)/guardrails/_components/guardrailformfield.tsx","./src/app/(dashboard)/guardrails/_components/guardrail_optional_params.tsx","./src/app/(dashboard)/guardrails/_components/guardrail_provider_fields.tsx","./src/app/(dashboard)/guardrails/_components/llm_judge/llmjudgefields.tsx","./src/app/(dashboard)/guardrails/_components/pii_components.tsx","./src/app/(dashboard)/guardrails/_components/pii_configuration.tsx","./src/app/(dashboard)/guardrails/_components/tool_permission/toolpermissionruleseditor.tsx","./src/app/(dashboard)/guardrails/_components/add_guardrail_form.tsx","./src/app/(dashboard)/guardrails/_components/guardrailtablecolumns.tsx","./src/app/(dashboard)/guardrails/_components/guardrail_table.tsx","./src/app/(dashboard)/guardrails/_components/content_filter/categorytable.tsx","./src/app/(dashboard)/guardrails/_components/content_filter/contentfilterdisplay.tsx","./src/app/(dashboard)/guardrails/_components/content_filter/contentfiltermanager.tsx","./src/app/(dashboard)/guardrails/_components/guardrail_info.tsx","./src/app/(dashboard)/guardrails/_components/guardrailtestresults.tsx","./src/app/(dashboard)/guardrails/_components/guardrailtestpanel.tsx","./src/app/(dashboard)/guardrails/_components/guardrailtestplayground.tsx","./src/app/(dashboard)/guardrails/_components/guardrail_garden_card.tsx","./src/app/(dashboard)/guardrails/_components/guardrail_garden_detail.tsx","./src/app/(dashboard)/guardrails/_components/guardrail_garden.tsx","./src/app/(dashboard)/guardrails/_components/teamguardrailstab.tsx","./src/app/(dashboard)/guardrails/_components/guardrailspanel.tsx","./src/app/(dashboard)/guardrails/page.tsx","./src/app/(dashboard)/guardrails/_components/guardrailtestpanel.test.tsx","./src/app/(dashboard)/guardrails/_components/guardrailtestplayground.test.tsx","./src/app/(dashboard)/guardrails/_components/guardrailtestresults.test.tsx","./src/app/(dashboard)/guardrails/_components/guardrailspanel.test.tsx","./src/app/(dashboard)/guardrails/_components/teamguardrailstab.integration.test.tsx","./src/app/(dashboard)/guardrails/_components/teamguardrailstab.test.tsx","./src/app/(dashboard)/guardrails/_components/add_guardrail_form.characterization.test.tsx","./src/app/(dashboard)/guardrails/_components/add_guardrail_form.test.tsx","./src/app/(dashboard)/guardrails/_components/guardrail_garden.test.tsx","./src/app/(dashboard)/guardrails/_components/guardrail_garden_card.test.tsx","./src/app/(dashboard)/guardrails/_components/guardrail_garden_detail.test.tsx","./src/app/(dashboard)/guardrails/_components/guardrail_info.characterization.test.tsx","./src/app/(dashboard)/guardrails/_components/guardrail_info.test.tsx","./src/app/(dashboard)/guardrails/_components/guardrail_info_helpers.test.tsx","./src/app/(dashboard)/guardrails/_components/guardrail_table.test.tsx","./src/app/(dashboard)/guardrails/_components/pii_components.test.tsx","./src/app/(dashboard)/guardrails/_components/pii_configuration.test.tsx","./src/app/(dashboard)/guardrails/_components/content_filter/competitorintentconfiguration.test.tsx","./src/app/(dashboard)/guardrails/_components/content_filter/contentfilterconfiguration.test.tsx","./src/app/(dashboard)/guardrails/_components/content_filter/contentfilterdisplay.test.tsx","./src/app/(dashboard)/guardrails/_components/content_filter/contentfiltermanager.test.tsx","./src/app/(dashboard)/guardrails/_components/content_filter/contentfiltertables.test.tsx","./src/app/(dashboard)/guardrails/_components/content_filter/custompatternmodal.test.tsx","./src/app/(dashboard)/guardrails/_components/content_filter/keywordmodal.test.tsx","./src/app/(dashboard)/guardrails/_components/content_filter/patternmodal.test.tsx","./src/app/(dashboard)/guardrails/_components/content_filter/tagsinput.test.tsx","./src/app/(dashboard)/guardrails/_components/content_filter/thresholdinput.test.tsx","./src/app/(dashboard)/guardrails/_components/custom_code/customcodemodal.test.tsx","./src/app/(dashboard)/guardrails/_components/tool_permission/toolpermissionruleseditor.test.tsx","./src/app/(dashboard)/guardrails-monitor/_components/evaluationsettingsmodal.tsx","./src/components/guardrailsmonitor/logviewer.tsx","./src/components/guardrailsmonitor/metriccard.tsx","./src/app/(dashboard)/guardrails-monitor/_components/guardraildetail.tsx","./src/app/(dashboard)/guardrails-monitor/_components/scorechart.tsx","./src/app/(dashboard)/guardrails-monitor/_components/guardrailsoverview.tsx","./src/app/(dashboard)/guardrails-monitor/_components/guardrailsmonitorview.tsx","./src/components/shared/adminonlynotice.tsx","./src/app/(dashboard)/guardrails-monitor/page.tsx","./src/app/(dashboard)/guardrails-monitor/page.integration.test.tsx","./src/app/(dashboard)/guardrails-monitor/_components/evaluationsettingsmodal.test.tsx","./src/app/(dashboard)/guardrails-monitor/_components/guardrailconfig.tsx","./src/app/(dashboard)/guardrails-monitor/_components/guardrailconfig.test.tsx","./src/app/(dashboard)/guardrails-monitor/_components/guardraildetail.test.tsx","./src/app/(dashboard)/guardrails-monitor/_components/guardrailsmonitorview.test.tsx","./src/app/(dashboard)/guardrails-monitor/_components/guardrailsoverview.test.tsx","./src/app/(dashboard)/guardrails-monitor/_components/scorechart.test.tsx","./src/app/(dashboard)/hooks/usetabrouting.test.tsx","./src/app/(dashboard)/hooks/common/useresourcelist.test.tsx","./src/components/email_settings.tsx","./src/components/alerting/dynamic_form.tsx","./src/components/alerting/alerting_settings.tsx","./src/components/cloudzerocosttracking/cloudzeroemptyplaceholder.tsx","./src/components/cloudzerocosttracking/cloudzeroformcontrols.tsx","./src/components/cloudzerocosttracking/cloudzerocreatemodal.tsx","./src/components/cloudzerocosttracking/cloudzeroupdatemodal.tsx","./src/components/cloudzerocosttracking/cloudzerointegrationsettings.tsx","./src/components/cloudzerocosttracking/cloudzerocosttracking.tsx","./src/components/settings/loggingandalerts/loggingcallbacks/loggingcallbackstablecolumns.tsx","./src/components/settings/loggingandalerts/loggingcallbacks/loggingcallbackstable.tsx","./src/components/settings.tsx","./src/app/(dashboard)/logging-and-alerts/page.tsx","./src/components/deletedkeyspage/deletedkeystable/deletedkeystablecolumns.tsx","./src/components/deletedkeyspage/deletedkeystable/deletedkeystable.tsx","./src/components/deletedkeyspage/deletedkeyspage.tsx","./src/components/deletedteamspage/deletedteamstable/deletedteamstablecolumns.tsx","./src/components/deletedteamspage/deletedteamstable/deletedteamstable.tsx","./src/components/deletedteamspage/deletedteamspage.tsx","./src/components/view_logs/auditlogstablecolumns.tsx","./src/components/view_logs/auditlogstable.tsx","./src/components/view_logs/auditlogdrawer/auditlogdrawer.tsx","./src/components/view_logs/auditlogspanel.tsx","./src/components/view_logs/log_filter_logic.tsx","./src/components/view_logs/logs_utils.tsx","./src/components/view_logs/logstabletoolbar.tsx","./src/components/view_logs/requestlogsfilters.tsx","./src/components/view_logs/typebadges.tsx","./src/components/view_logs/requestlogstablecolumns.tsx","./src/components/view_logs/requestlogstable.tsx","./src/components/view_logs/requestlogspanel.tsx","./src/components/view_logs/index.tsx","./src/app/(dashboard)/logs/page.tsx","./src/app/(dashboard)/mcp-servers/_components/mcpstandardssettings.tsx","./src/app/(dashboard)/mcp-servers/_components/mcpsubmissionstab.tsx","./src/app/(dashboard)/mcp-servers/_components/mcptoolsettablecolumns.tsx","./src/app/(dashboard)/mcp-servers/_components/mcptoolsetstab.tsx","./src/app/(dashboard)/mcp-servers/_components/awssigv4fields.tsx","./src/app/(dashboard)/mcp-servers/_components/openapibyokfields.tsx","./src/app/(dashboard)/mcp-servers/_components/tokenendpointauthmethodfield.tsx","./src/app/(dashboard)/mcp-servers/_components/oauthformfields.tsx","./src/app/(dashboard)/mcp-servers/_components/truepassthroughwarning.tsx","./src/app/(dashboard)/mcp-servers/_components/dcrbridgetoggle.tsx","./src/app/(dashboard)/mcp-servers/_components/passthroughauthorizesection.tsx","./src/app/(dashboard)/mcp-servers/_components/tokenexchangeformfields.tsx","./src/app/(dashboard)/mcp-servers/_components/idjagformfields.tsx","./src/app/(dashboard)/mcp-servers/_components/mcp_server_cost_config.tsx","./src/app/(dashboard)/mcp-servers/_components/mcp_connection_status.tsx","./src/app/(dashboard)/mcp-servers/_components/mcp_tool_configuration.tsx","./src/app/(dashboard)/mcp-servers/_components/stdioconfiguration.tsx","./src/app/(dashboard)/mcp-servers/_components/mcppermissionmanagement.tsx","./src/app/(dashboard)/mcp-servers/_components/openapiquickpicker.tsx","./src/app/(dashboard)/mcp-servers/_components/openapiformsection.tsx","./src/app/(dashboard)/mcp-servers/_components/mcplogoselector.tsx","./src/app/(dashboard)/mcp-servers/_components/envvarssection.tsx","./src/hooks/usemcpoauthflow.tsx","./src/hooks/usetestmcpconnection.tsx","./src/app/(dashboard)/mcp-servers/_components/createmcpserver.tsx","./src/app/(dashboard)/mcp-servers/_components/mcp_connect.tsx","./src/app/(dashboard)/mcp-servers/_components/mcpservercard.tsx","./src/app/(dashboard)/mcp-servers/_components/mcp_server_edit.tsx","./src/app/(dashboard)/mcp-servers/_components/mcp_server_cost_display.tsx","./src/app/(dashboard)/mcp-servers/_components/mcp_server_view.tsx","./src/components/settings/adminsettings/mcpsemanticfiltersettings/mcpsemanticfiltertestpanel.tsx","./src/components/settings/adminsettings/mcpsemanticfiltersettings/mcpsemanticfiltersettings.tsx","./src/app/(dashboard)/mcp-servers/_components/mcpnetworksettings.tsx","./src/app/(dashboard)/mcp-servers/_components/mcp_discovery.tsx","./src/components/mcp_tools/byokcredentialmodal.tsx","./src/app/(dashboard)/mcp-servers/_components/userenvvarsmodal.tsx","./src/app/(dashboard)/mcp-servers/_components/mcp_servers.tsx","./src/app/(dashboard)/mcp-servers/_components/toolargumentsform.tsx","./src/app/(dashboard)/mcp-servers/_components/tooltestpanel.tsx","./src/hooks/usetoolsoauthflow.tsx","./src/hooks/useusermcpoauthflow.tsx","./src/app/(dashboard)/mcp-servers/_components/mcp_tools.tsx","./src/app/(dashboard)/mcp-servers/_components/index.tsx","./src/app/(dashboard)/mcp-servers/page.tsx","./src/app/(dashboard)/mcp-servers/_components/createmcpserver.integration.test.tsx","./src/app/(dashboard)/mcp-servers/_components/createmcpserver.permissions.integration.test.tsx","./src/app/(dashboard)/mcp-servers/_components/envvarssection.test.tsx","./src/app/(dashboard)/mcp-servers/_components/mcplogoselector.test.tsx","./src/app/(dashboard)/mcp-servers/_components/mcpnetworksettings.test.tsx","./src/app/(dashboard)/mcp-servers/_components/mcpformtestharness.tsx","./src/app/(dashboard)/mcp-servers/_components/mcppermissionmanagement.test.tsx","./src/app/(dashboard)/mcp-servers/_components/mcpservercard.test.tsx","./src/app/(dashboard)/mcp-servers/_components/mcpstandardssettings.test.tsx","./src/app/(dashboard)/mcp-servers/_components/mcptoolsettablecolumns.test.tsx","./src/app/(dashboard)/mcp-servers/_components/mcptoolsetstab.integration.test.tsx","./src/app/(dashboard)/mcp-servers/_components/oauthformfields.test.tsx","./src/app/(dashboard)/mcp-servers/_components/openapiquickpicker.test.tsx","./src/app/(dashboard)/mcp-servers/_components/passthroughauthorizesection.test.tsx","./src/app/(dashboard)/mcp-servers/_components/tooltestpanel.test.tsx","./src/app/(dashboard)/mcp-servers/_components/truepassthroughwarning.test.tsx","./src/app/(dashboard)/mcp-servers/_components/userenvvarsmodal.integration.test.tsx","./src/app/(dashboard)/mcp-servers/_components/mcpformstore.test.tsx","./src/app/(dashboard)/mcp-servers/_components/mcp_connect.test.tsx","./src/app/(dashboard)/mcp-servers/_components/mcp_connection_status.test.tsx","./src/app/(dashboard)/mcp-servers/_components/mcp_discovery.test.tsx","./src/app/(dashboard)/mcp-servers/_components/mcp_server_cost_config.test.tsx","./src/app/(dashboard)/mcp-servers/_components/mcp_server_cost_display.test.tsx","./src/app/(dashboard)/mcp-servers/_components/mcp_server_edit.integration.test.tsx","./src/app/(dashboard)/mcp-servers/_components/mcp_server_edit.test.tsx","./src/app/(dashboard)/mcp-servers/_components/mcp_server_view.test.tsx","./src/app/(dashboard)/mcp-servers/_components/mcp_servers.test.tsx","./src/app/(dashboard)/mcp-servers/_components/mcp_tool_configuration.test.tsx","./src/app/(dashboard)/mcp-servers/_components/mcp_tools.test.tsx","./src/app/(dashboard)/mcp-servers/_components/utils.test.tsx","./src/app/(dashboard)/memory/_components/memorydetaildrawer.tsx","./src/app/(dashboard)/memory/_components/memoryeditmodal.tsx","./src/app/(dashboard)/memory/_components/memorytablecolumns.tsx","./src/app/(dashboard)/memory/_components/memorytable.tsx","./src/app/(dashboard)/memory/_components/memoryview.tsx","./src/app/(dashboard)/memory/page.tsx","./src/app/(dashboard)/memory/page.integration.test.tsx","./src/app/(dashboard)/memory/_components/memorydetaildrawer.test.tsx","./src/app/(dashboard)/memory/_components/memoryeditmodal.integration.test.tsx","./src/app/(dashboard)/memory/_components/memorytable.test.tsx","./src/app/(dashboard)/memory/_components/memoryview.test.tsx","./src/components/aihub/agenthubtablecolumns.tsx","./src/components/aihub/forms/makeagentpublicform.tsx","./src/components/aihub/mcphubtablecolumns.tsx","./src/components/aihub/forms/makemcppublicform.tsx","./src/components/model_filters.tsx","./src/components/aihub/forms/makemodelpublicform.tsx","./src/components/aihub/modelhubtablecolumns.tsx","./src/components/common_components/iconactionbutton/baseactionbutton.tsx","./src/components/common_components/iconactionbutton/tableiconactionbuttons/tableiconactionbutton.tsx","./src/components/aihub/usefullinksmanagement.tsx","./src/components/aihub/skillhubtablecolumns.tsx","./src/components/claude_code_plugins/skill_detail.tsx","./src/components/aihub/skillhubdashboard.tsx","./src/components/claude_code_plugins/makeskillpublicform.tsx","./src/components/publicmodelhubtablecolumns.tsx","./src/components/chat_ui/codesnippets.tsx","./src/components/public_model_hub.tsx","./src/components/aihub/modelhubtable.tsx","./src/app/(dashboard)/model-hub-table/page.tsx","./src/components/molecules/cost_optimization_feedback_banner.tsx","./src/components/add_model/auto_router_connection_test.tsx","./src/components/model_add/reuse_credentials.tsx","./src/components/update_model_credentials_modal.tsx","./src/components/shared/form/utcdatetimeinput.tsx","./src/components/add_model/cache_control_settings.tsx","./src/components/modelinfoeditform.tsx","./src/components/view_model/model_name_display.tsx","./src/components/model_info_view.tsx","./src/components/common_components/user_search_modal.tsx","./src/components/shared/form/labelwithhint.tsx","./src/components/team/guardrailsselect.tsx","./src/components/common_components/metadatakeyvaluefields.tsx","./src/components/common_components/durationselect.tsx","./src/components/guardrailsettingsview.tsx","./src/components/search_tools/searchtoolselector.tsx","./src/components/team/editmembership.tsx","./src/components/team/permission_definitions.tsx","./src/components/team/member_permissions.tsx","./src/components/team/myusertab.tsx","./src/components/common_components/membertable.tsx","./src/components/team/teammembertab.tsx","./src/components/team/teamvirtualkeystable.tsx","./src/components/team/teaminfo.tsx","./src/components/model_dashboard/modelsettingsmodal/modelsettingsmodal.tsx","./src/app/(dashboard)/models-and-endpoints/components/modelstablecolumns.tsx","./src/app/(dashboard)/models-and-endpoints/components/allmodelstable.tsx","./src/app/(dashboard)/models-and-endpoints/components/allmodelstab.tsx","./src/app/(dashboard)/models-and-endpoints/panels/allmodelspanel.tsx","./src/components/add_model/handle_add_auto_router_submit.tsx","./src/components/add_model/autorouterroutingtest.tsx","./src/components/add_model/add_auto_router_tab.tsx","./src/app/(dashboard)/models-and-endpoints/components/autorouters/autorouterstablecolumns.tsx","./src/app/(dashboard)/models-and-endpoints/components/autorouters/autorouterstable.tsx","./src/app/(dashboard)/models-and-endpoints/components/autorouters/autorouterspanel.tsx","./src/app/(dashboard)/models-and-endpoints/panels/autorouterstabpanel.tsx","./src/components/add_model/advanced_settings.tsx","./src/components/add_model/conditional_public_model_name.tsx","./src/components/add_model/litellm_model_name.tsx","./src/components/add_model/handle_add_model_submit.tsx","./src/components/add_model/model_connection_test.tsx","./src/components/add_model/provider_specific_fields.tsx","./src/components/add_model/add_model_modes.tsx","./src/components/add_model/addmodelform.tsx","./src/app/(dashboard)/models-and-endpoints/panels/addmodelpanel.tsx","./src/components/model_add/credentialmodal.tsx","./src/components/model_add/credentialstablecolumns.tsx","./src/components/model_add/credentialstable.tsx","./src/components/model_add/credentialspanel.tsx","./src/app/(dashboard)/models-and-endpoints/panels/llmcredentialspanel.tsx","./src/components/key_value_input.tsx","./src/components/query_param_input.tsx","./src/components/route_preview.tsx","./src/components/common_components/passthroughsecuritysection.tsx","./src/components/common_components/passthroughguardrailssection.tsx","./src/components/add_pass_through.tsx","./src/components/pass_through_info.tsx","./src/components/passthroughsettings/passthroughendpointstablecolumns.tsx","./src/components/passthroughsettings/passthroughendpointstable.tsx","./src/components/passthroughsettings/passthroughsettings.tsx","./src/app/(dashboard)/models-and-endpoints/panels/passthroughpanel.tsx","./src/components/model_dashboard/healthcheckstablecolumns.tsx","./src/components/model_dashboard/healthcheckstable.tsx","./src/components/model_dashboard/healthcheckcomponent.tsx","./src/app/(dashboard)/models-and-endpoints/panels/healthstatuspanel.tsx","./src/app/(dashboard)/models-and-endpoints/components/modelretrysettingstab.tsx","./src/app/(dashboard)/models-and-endpoints/panels/modelretrysettingspanel.tsx","./src/components/model_group_alias_settings.tsx","./src/app/(dashboard)/models-and-endpoints/panels/modelgroupaliaspanel.tsx","./src/components/price_data_reload.tsx","./src/app/(dashboard)/models-and-endpoints/components/pricedatamanagementtab.tsx","./src/app/(dashboard)/models-and-endpoints/panels/pricedatapanel.tsx","./src/app/(dashboard)/models-and-endpoints/page.tsx","./src/app/(dashboard)/models-and-endpoints/page.test.tsx","./src/app/(dashboard)/models-and-endpoints/components/allmodelstab.test.tsx","./src/app/(dashboard)/models-and-endpoints/components/allmodelstable.test.tsx","./src/app/(dashboard)/models-and-endpoints/components/modelretrysettingstab.test.tsx","./src/app/(dashboard)/models-and-endpoints/components/pricedatamanagementtab.test.tsx","./src/app/(dashboard)/models-and-endpoints/components/autorouters/autorouterspanel.test.tsx","./src/app/(dashboard)/models-and-endpoints/panels/addmodelpanel.integration.test.tsx","./src/app/(dashboard)/models-and-endpoints/panels/healthstatuspanel.test.tsx","./src/components/view_user_spend.tsx","./src/components/usagepage/components/entityusage/topkeyview.tsx","./src/app/(dashboard)/old-usage/_components/usage.tsx","./src/app/(dashboard)/old-usage/page.tsx","./src/app/(dashboard)/old-usage/_components/usage.test.tsx","./src/components/common_components/filters/filterinput.tsx","./src/components/common_components/filters/filtersbutton.tsx","./src/components/common_components/filters/resetfiltersbutton.tsx","./src/app/(dashboard)/organizations/organizationfilters.tsx","./src/app/(dashboard)/organizations/organizationfilters.test.tsx","./src/components/organization/org-settings/orgsettingsform.tsx","./src/components/organization/org-create/orgcreatedialog.tsx","./src/components/shared/badgelink.tsx","./src/components/organization/organization_view.tsx","./src/app/(dashboard)/organizations/_components/organizationstablecolumns.tsx","./src/app/(dashboard)/organizations/_components/organizationstable.tsx","./src/app/(dashboard)/organizations/_components/organizationspanel.tsx","./src/app/(dashboard)/organizations/page.tsx","./src/app/(dashboard)/organizations/_components/organizationspanel.test.tsx","./src/app/(dashboard)/organizations/_components/organizationstable.test.tsx","./src/components/llm_calls/chat_completion.tsx","./src/app/(dashboard)/playground/components/complianceui/complianceui.tsx","./node_modules/uuid/dist/max.d.ts","./node_modules/uuid/dist/nil.d.ts","./node_modules/uuid/dist/types.d.ts","./node_modules/uuid/dist/parse.d.ts","./node_modules/uuid/dist/stringify.d.ts","./node_modules/uuid/dist/v1.d.ts","./node_modules/uuid/dist/v1tov6.d.ts","./node_modules/uuid/dist/v35.d.ts","./node_modules/uuid/dist/v3.d.ts","./node_modules/uuid/dist/v4.d.ts","./node_modules/uuid/dist/v5.d.ts","./node_modules/uuid/dist/v6.d.ts","./node_modules/uuid/dist/v6tov1.d.ts","./node_modules/uuid/dist/v7.d.ts","./node_modules/uuid/dist/validate.d.ts","./node_modules/uuid/dist/version.d.ts","./node_modules/uuid/dist/index.d.ts","./src/components/mcp_tools/mcptoolargumentsform.tsx","./src/components/tag_management/tagselector.tsx","./src/app/(dashboard)/playground/llm_calls/a2a_send_message.tsx","./node_modules/@anthropic-ai/sdk/internal/builtin-types.d.mts","./node_modules/form-data/index.d.ts","./node_modules/@types/node-fetch/externals.d.ts","./node_modules/@types/node-fetch/index.d.ts","./node_modules/@anthropic-ai/sdk/internal/types.d.mts","./node_modules/@anthropic-ai/sdk/internal/headers.d.mts","./node_modules/@anthropic-ai/sdk/internal/shim-types.d.mts","./node_modules/@anthropic-ai/sdk/core/streaming.d.mts","./node_modules/@anthropic-ai/sdk/internal/request-options.d.mts","./node_modules/@anthropic-ai/sdk/internal/utils/log.d.mts","./node_modules/@anthropic-ai/sdk/resources/shared.d.mts","./node_modules/@anthropic-ai/sdk/core/error.d.mts","./node_modules/@anthropic-ai/sdk/internal/parse.d.mts","./node_modules/@anthropic-ai/sdk/core/api-promise.d.mts","./node_modules/@anthropic-ai/sdk/core/pagination.d.mts","./node_modules/@anthropic-ai/sdk/internal/uploads.d.mts","./node_modules/@anthropic-ai/sdk/internal/to-file.d.mts","./node_modules/@anthropic-ai/sdk/core/uploads.d.mts","./node_modules/@anthropic-ai/sdk/core/resource.d.mts","./node_modules/@anthropic-ai/sdk/resources/beta/environments.d.mts","./node_modules/@anthropic-ai/sdk/resources/beta/files.d.mts","./node_modules/@anthropic-ai/sdk/resources/beta/models.d.mts","./node_modules/@anthropic-ai/sdk/resources/beta/user-profiles.d.mts","./node_modules/@anthropic-ai/sdk/resources/beta/agents/versions.d.mts","./node_modules/@anthropic-ai/sdk/resources/beta/agents/agents.d.mts","./node_modules/@anthropic-ai/sdk/resources/beta/memory-stores/memories.d.mts","./node_modules/@anthropic-ai/sdk/resources/beta/memory-stores/memory-versions.d.mts","./node_modules/@anthropic-ai/sdk/resources/beta/memory-stores/memory-stores.d.mts","./node_modules/@anthropic-ai/sdk/internal/decoders/line.d.mts","./node_modules/@anthropic-ai/sdk/internal/decoders/jsonl.d.mts","./node_modules/@anthropic-ai/sdk/error.d.mts","./node_modules/@anthropic-ai/sdk/resources/messages/batches.d.mts","./node_modules/@anthropic-ai/sdk/resources/messages/index.d.mts","./node_modules/@anthropic-ai/sdk/resources/messages.d.mts","./node_modules/@anthropic-ai/sdk/lib/parser.d.mts","./node_modules/@anthropic-ai/sdk/lib/messagestream.d.mts","./node_modules/@anthropic-ai/sdk/resources/messages/messages.d.mts","./node_modules/@anthropic-ai/sdk/resources/beta/messages/batches.d.mts","./node_modules/@anthropic-ai/sdk/lib/beta-parser.d.mts","./node_modules/@anthropic-ai/sdk/lib/betamessagestream.d.mts","./node_modules/@anthropic-ai/sdk/resources/beta/agents/index.d.mts","./node_modules/@anthropic-ai/sdk/resources/beta/memory-stores/index.d.mts","./node_modules/@anthropic-ai/sdk/resources/beta/messages/index.d.mts","./node_modules/@anthropic-ai/sdk/resources/beta/sessions/events.d.mts","./node_modules/@anthropic-ai/sdk/resources/beta/sessions/sessions.d.mts","./node_modules/@anthropic-ai/sdk/resources/beta/sessions/resources.d.mts","./node_modules/@anthropic-ai/sdk/resources/beta/sessions/index.d.mts","./node_modules/@anthropic-ai/sdk/resources/beta/skills/versions.d.mts","./node_modules/@anthropic-ai/sdk/resources/beta/skills/skills.d.mts","./node_modules/@anthropic-ai/sdk/resources/beta/skills/index.d.mts","./node_modules/@anthropic-ai/sdk/resources/beta/vaults/credentials.d.mts","./node_modules/@anthropic-ai/sdk/resources/beta/vaults/vaults.d.mts","./node_modules/@anthropic-ai/sdk/resources/beta/vaults/index.d.mts","./node_modules/@anthropic-ai/sdk/resources/beta/index.d.mts","./node_modules/@anthropic-ai/sdk/resources/beta.d.mts","./node_modules/@anthropic-ai/sdk/lib/tools/betarunnabletool.d.mts","./node_modules/@anthropic-ai/sdk/resources.d.mts","./node_modules/@anthropic-ai/sdk/lib/tools/compactioncontrol.d.mts","./node_modules/@anthropic-ai/sdk/lib/tools/betatoolrunner.d.mts","./node_modules/@anthropic-ai/sdk/lib/tools/toolerror.d.mts","./node_modules/@anthropic-ai/sdk/resources/beta/messages/messages.d.mts","./node_modules/@anthropic-ai/sdk/resources/beta/beta.d.mts","./node_modules/@anthropic-ai/sdk/resources/completions.d.mts","./node_modules/@anthropic-ai/sdk/resources/models.d.mts","./node_modules/@anthropic-ai/sdk/resources/index.d.mts","./node_modules/@anthropic-ai/sdk/client.d.mts","./node_modules/@anthropic-ai/sdk/index.d.mts","./src/app/(dashboard)/playground/llm_calls/anthropic_messages.tsx","./src/app/(dashboard)/playground/llm_calls/audio_speech.tsx","./src/app/(dashboard)/playground/llm_calls/audio_transcriptions.tsx","./src/app/(dashboard)/playground/llm_calls/embeddings_api.tsx","./src/app/(dashboard)/playground/llm_calls/image_edits.tsx","./src/app/(dashboard)/playground/llm_calls/image_generation.tsx","./src/components/llm_calls/responses_api.tsx","./src/app/(dashboard)/playground/llm_calls/interactions_api.tsx","./src/app/(dashboard)/playground/components/chat_ui/additionalmodelsettings.tsx","./src/app/(dashboard)/playground/components/chat_ui/chatcomposer.tsx","./src/app/(dashboard)/playground/components/chat_ui/chatimageupload.tsx","./src/app/(dashboard)/playground/components/chat_ui/chatimageutils.tsx","./src/app/(dashboard)/playground/components/chat_ui/codeinterpretertool.tsx","./src/app/(dashboard)/playground/components/chat_ui/endpointselector.tsx","./src/app/(dashboard)/playground/components/chat_ui/endpointutils.tsx","./src/app/(dashboard)/playground/components/chat_ui/filepreviewcard.tsx","./src/app/(dashboard)/playground/components/chat_ui/a2ametrics.tsx","./src/app/(dashboard)/playground/components/chat_ui/audiorenderer.tsx","./src/app/(dashboard)/playground/components/chat_ui/chatimagerenderer.tsx","./src/app/(dashboard)/playground/components/chat_ui/codeinterpreteroutput.tsx","./src/components/chat_ui/mcpeventsdisplay.tsx","./src/components/chat_ui/reasoningcontent.tsx","./src/app/(dashboard)/playground/components/chat_ui/responsesimageutils.tsx","./src/app/(dashboard)/playground/components/chat_ui/responsesimagerenderer.tsx","./src/app/(dashboard)/playground/components/chat_ui/searchresultsdisplay.tsx","./src/app/(dashboard)/playground/components/chat_ui/chatmessagebubble.tsx","./src/app/(dashboard)/playground/components/chat_ui/responsesimageupload.tsx","./src/app/(dashboard)/playground/components/chat_ui/sessionmanagement.tsx","./src/app/(dashboard)/playground/components/chat_ui/realtimeplayground.tsx","./src/app/(dashboard)/playground/components/chat_ui/chatui.tsx","./src/app/(dashboard)/playground/components/chat_ui/agentbuilderview.tsx","./src/app/(dashboard)/playground/components/compareui/components/messagedisplay.tsx","./src/app/(dashboard)/playground/components/compareui/components/unifiedselector.tsx","./src/app/(dashboard)/playground/components/compareui/components/comparisonpanel.tsx","./src/app/(dashboard)/playground/components/compareui/components/messageinput.tsx","./src/app/(dashboard)/playground/components/compareui/compareui.tsx","./src/app/(dashboard)/playground/page.tsx","./src/app/(dashboard)/playground/page.test.tsx","./src/app/(dashboard)/playground/components/chat_ui/additionalmodelsettings.test.tsx","./src/app/(dashboard)/playground/components/chat_ui/agentbuilderview.test.tsx","./src/app/(dashboard)/playground/components/chat_ui/audiorenderer.test.tsx","./src/app/(dashboard)/playground/components/chat_ui/chatcomposer.test.tsx","./src/app/(dashboard)/playground/components/chat_ui/chatimageutils.test.tsx","./src/app/(dashboard)/playground/components/chat_ui/chatmessagebubble.test.tsx","./src/app/(dashboard)/playground/components/chat_ui/chatui.test.tsx","./src/app/(dashboard)/playground/components/chat_ui/codeinterpreteroutput.test.tsx","./src/app/(dashboard)/playground/components/chat_ui/endpointselector.test.tsx","./src/app/(dashboard)/playground/components/chat_ui/endpointutils.test.tsx","./src/app/(dashboard)/playground/components/chat_ui/filepreviewcard.test.tsx","./src/app/(dashboard)/playground/components/chat_ui/realtimeplayground.test.tsx","./src/app/(dashboard)/playground/components/compareui/compareui.test.tsx","./src/app/(dashboard)/playground/components/compareui/components/comparisonpanel.test.tsx","./src/app/(dashboard)/playground/components/compareui/components/messagedisplay.test.tsx","./src/app/(dashboard)/playground/components/compareui/components/messageinput.test.tsx","./src/app/(dashboard)/playground/components/compareui/components/modelselector.tsx","./src/app/(dashboard)/playground/components/compareui/components/modelselector.test.tsx","./src/app/(dashboard)/playground/components/compareui/components/unifiedselector.test.tsx","./src/app/(dashboard)/playground/llm_calls/anthropic_messages.test.tsx","./src/app/(dashboard)/playground/llm_calls/audio_speech.test.tsx","./src/app/(dashboard)/playground/llm_calls/audio_transcriptions.test.tsx","./src/app/(dashboard)/playground/llm_calls/embeddings_api.test.tsx","./src/app/(dashboard)/policies/_components/policytablecolumns.tsx","./src/app/(dashboard)/policies/_components/policytable.tsx","./src/app/(dashboard)/policies/_components/pipeline_flow_builder.tsx","./src/app/(dashboard)/policies/_components/policy_info.tsx","./src/app/(dashboard)/policies/_components/add_policy_form.tsx","./src/app/(dashboard)/policies/_components/impact_popover.tsx","./src/app/(dashboard)/policies/_components/attachmenttablecolumns.tsx","./src/app/(dashboard)/policies/_components/attachmenttable.tsx","./src/app/(dashboard)/policies/_components/impact_preview_alert.tsx","./src/app/(dashboard)/policies/_components/tokenselect.tsx","./src/app/(dashboard)/policies/_components/add_attachment_form.tsx","./src/app/(dashboard)/policies/_components/policy_test_panel.tsx","./src/app/(dashboard)/policies/_components/policy_templates.tsx","./src/app/(dashboard)/policies/_components/guardrail_selection_modal.tsx","./src/app/(dashboard)/policies/_components/template_parameter_modal.tsx","./src/app/(dashboard)/policies/_components/ai_suggestion_modal.tsx","./src/app/(dashboard)/policies/_components/index.tsx","./src/app/(dashboard)/policies/page.tsx","./src/app/(dashboard)/policies/_components/attachmenttable.test.tsx","./src/app/(dashboard)/policies/_components/policytable.test.tsx","./src/app/(dashboard)/policies/_components/add_attachment_form.test.tsx","./src/app/(dashboard)/policies/_components/add_policy_form.test.tsx","./src/app/(dashboard)/policies/_components/ai_suggestion_modal.test.tsx","./src/app/(dashboard)/policies/_components/guardrail_selection_modal.test.tsx","./src/app/(dashboard)/policies/_components/impact_popover.test.tsx","./src/app/(dashboard)/policies/_components/impact_preview_alert.test.tsx","./src/app/(dashboard)/policies/_components/index.test.tsx","./src/app/(dashboard)/policies/_components/pipeline_flow_builder.test.tsx","./src/app/(dashboard)/policies/_components/policy_info.test.tsx","./src/app/(dashboard)/policies/_components/policy_templates.test.tsx","./src/app/(dashboard)/policies/_components/policy_test_panel.test.tsx","./src/app/(dashboard)/policies/_components/template_parameter_modal.test.tsx","./src/app/(dashboard)/projects/_components/projectmodals/createprojectmodal.tsx","./src/app/(dashboard)/projects/_components/projectmodals/editprojectmodal.tsx","./src/app/(dashboard)/projects/_components/projectkeystablecolumns.tsx","./src/app/(dashboard)/projects/_components/projectkeystable.tsx","./src/app/(dashboard)/projects/_components/projectkeyssection.tsx","./src/app/(dashboard)/projects/_components/projectdetailspage.tsx","./src/app/(dashboard)/projects/_components/projectstablecolumns.tsx","./src/app/(dashboard)/projects/_components/projectstable.tsx","./src/app/(dashboard)/projects/_components/projectspage.tsx","./src/app/(dashboard)/projects/page.tsx","./src/app/(dashboard)/projects/_components/projectdetailspage.test.tsx","./src/app/(dashboard)/projects/_components/projectkeyssection.test.tsx","./src/app/(dashboard)/projects/_components/projectkeystable.test.tsx","./src/app/(dashboard)/projects/_components/projectspage.test.tsx","./src/app/(dashboard)/projects/_components/projectstable.test.tsx","./src/app/(dashboard)/projects/_components/projectmodals/createprojectmodal.integration.test.tsx","./src/app/(dashboard)/projects/_components/projectmodals/createprojectmodal.test.tsx","./src/app/(dashboard)/projects/_components/projectmodals/editprojectmodal.integration.test.tsx","./src/app/(dashboard)/projects/_components/projectmodals/editprojectmodal.test.tsx","./src/app/(dashboard)/projects/_components/projectmodals/projectbaseform.test.tsx","./src/app/(dashboard)/prompts/_components/prompt_utils.tsx","./src/app/(dashboard)/prompts/_components/prompttablecolumns.tsx","./src/app/(dashboard)/prompts/_components/prompttable.tsx","./src/app/(dashboard)/prompts/_components/prompt_editor_view/promptcodesnippets.tsx","./src/app/(dashboard)/prompts/_components/prompt_info.tsx","./src/app/(dashboard)/prompts/_components/add_prompt_form.tsx","./src/app/(dashboard)/prompts/_components/tool_modal.tsx","./src/app/(dashboard)/prompts/_components/prompt_editor_view/prompteditorheader.tsx","./src/app/(dashboard)/prompts/_components/prompt_editor_view/modelconfigcard.tsx","./src/app/(dashboard)/prompts/_components/prompt_editor_view/toolscard.tsx","./src/app/(dashboard)/prompts/_components/variable_textarea.tsx","./src/app/(dashboard)/prompts/_components/prompt_editor_view/developermessagecard.tsx","./src/app/(dashboard)/prompts/_components/prompt_editor_view/promptmessagescard.tsx","./src/app/(dashboard)/prompts/_components/prompt_editor_view/conversation_panel/variableinput.tsx","./src/app/(dashboard)/prompts/_components/prompt_editor_view/conversation_panel/emptystate.tsx","./src/app/(dashboard)/prompts/_components/prompt_editor_view/conversation_panel/messagebubble.tsx","./src/app/(dashboard)/prompts/_components/prompt_editor_view/conversation_panel/messagelist.tsx","./src/app/(dashboard)/prompts/_components/prompt_editor_view/conversation_panel/variablewarning.tsx","./src/app/(dashboard)/prompts/_components/prompt_editor_view/conversation_panel/messageinput.tsx","./src/app/(dashboard)/prompts/_components/prompt_editor_view/conversation_panel/index.tsx","./src/app/(dashboard)/prompts/_components/prompt_editor_view/publishmodal.tsx","./src/app/(dashboard)/prompts/_components/prompt_editor_view/dotpromptviewtab.tsx","./src/app/(dashboard)/prompts/_components/prompt_editor_view/versionhistorysidepanel.tsx","./src/app/(dashboard)/prompts/_components/prompt_editor_view/index.tsx","./src/app/(dashboard)/prompts/_components/prompt_editor_view.tsx","./src/app/(dashboard)/prompts/_components/index.tsx","./src/app/(dashboard)/prompts/page.tsx","./src/app/(dashboard)/prompts/_components/prompttable.test.tsx","./src/app/(dashboard)/prompts/_components/add_prompt_form.integration.test.tsx","./src/app/(dashboard)/prompts/_components/index.test.tsx","./src/app/(dashboard)/prompts/_components/prompt_info.test.tsx","./src/app/(dashboard)/prompts/_components/tool_modal.test.tsx","./src/app/(dashboard)/prompts/_components/variable_textarea.test.tsx","./src/app/(dashboard)/prompts/_components/prompt_editor_view/developermessagecard.test.tsx","./src/app/(dashboard)/prompts/_components/prompt_editor_view/modelconfigcard.test.tsx","./src/app/(dashboard)/prompts/_components/prompt_editor_view/promptcodesnippets.test.tsx","./src/app/(dashboard)/prompts/_components/prompt_editor_view/prompteditorheader.test.tsx","./src/app/(dashboard)/prompts/_components/prompt_editor_view/promptmessagescard.test.tsx","./src/app/(dashboard)/prompts/_components/prompt_editor_view/publishmodal.test.tsx","./src/app/(dashboard)/prompts/_components/prompt_editor_view/toolscard.test.tsx","./src/app/(dashboard)/prompts/_components/prompt_editor_view/versionhistorysidepanel.test.tsx","./src/app/(dashboard)/prompts/_components/prompt_editor_view/conversation_panel/emptystate.test.tsx","./src/app/(dashboard)/prompts/_components/prompt_editor_view/conversation_panel/messagebubble.test.tsx","./src/app/(dashboard)/prompts/_components/prompt_editor_view/conversation_panel/messageinput.test.tsx","./src/app/(dashboard)/prompts/_components/prompt_editor_view/conversation_panel/messagelist.test.tsx","./src/app/(dashboard)/prompts/_components/prompt_editor_view/conversation_panel/variableinput.test.tsx","./src/app/(dashboard)/prompts/_components/prompt_editor_view/conversation_panel/index.test.tsx","./src/app/(dashboard)/router-settings/page.tsx","./src/app/(dashboard)/router-settings/_components/general_settings.test.tsx","./src/app/(dashboard)/search-tools/_components/searchconnectiontest.tsx","./src/app/(dashboard)/search-tools/_components/types.tsx","./src/app/(dashboard)/search-tools/_components/createsearchtools.tsx","./src/app/(dashboard)/search-tools/_components/searchtooltablecolumns.tsx","./src/app/(dashboard)/search-tools/_components/searchtooltable.tsx","./src/app/(dashboard)/search-tools/_components/searchtooltester.tsx","./src/app/(dashboard)/search-tools/_components/searchtoolview.tsx","./src/app/(dashboard)/search-tools/_components/searchtools.tsx","./src/app/(dashboard)/search-tools/_components/index.tsx","./src/app/(dashboard)/search-tools/page.tsx","./src/app/(dashboard)/search-tools/_components/createsearchtools.integration.test.tsx","./src/app/(dashboard)/search-tools/_components/createsearchtools.test.tsx","./src/app/(dashboard)/search-tools/_components/searchconnectiontest.test.tsx","./src/app/(dashboard)/search-tools/_components/searchtooltable.test.tsx","./src/app/(dashboard)/search-tools/_components/searchtooltester.test.tsx","./src/app/(dashboard)/search-tools/_components/searchtoolview.test.tsx","./src/app/(dashboard)/search-tools/_components/searchtools.integration.test.tsx","./src/app/(dashboard)/search-tools/_components/searchtools.test.tsx","./src/app/(dashboard)/skills/_components/add_plugin_form.tsx","./src/app/(dashboard)/skills/_components/plugintablecolumns.tsx","./src/app/(dashboard)/skills/_components/plugintable.tsx","./src/app/(dashboard)/skills/_components/claudecodepluginspanel.tsx","./src/app/(dashboard)/skills/page.tsx","./src/app/(dashboard)/skills/_components/claudecodepluginspanel.test.tsx","./src/app/(dashboard)/skills/_components/plugintable.test.tsx","./src/app/(dashboard)/skills/_components/add_plugin_form.test.tsx","./src/app/(dashboard)/tag-management/_components/tag_info.tsx","./src/app/(dashboard)/tag-management/_components/tagtablecolumns.tsx","./src/app/(dashboard)/tag-management/_components/tagtable.tsx","./src/app/(dashboard)/tag-management/_components/components/createtagmodal.tsx","./src/app/(dashboard)/tag-management/_components/index.tsx","./src/app/(dashboard)/tag-management/page.tsx","./src/app/(dashboard)/tag-management/_components/tagtable.test.tsx","./src/app/(dashboard)/tag-management/_components/index.test.tsx","./src/app/(dashboard)/tag-management/_components/tag_info.integration.test.tsx","./src/app/(dashboard)/tag-management/_components/components/createtagmodal.test.tsx","./src/components/team/availableteamstablecolumns.tsx","./src/components/team/availableteamstable.tsx","./src/components/team/availableteamspanel.tsx","./src/components/teamssosettings.tsx","./src/components/shared/pageheader.tsx","./src/components/teamspage/teamtablecolumns.tsx","./src/components/teamspage/teamstable.tsx","./src/components/teams.tsx","./src/app/(dashboard)/teams/page.tsx","./src/components/toolpolicies/policyselect.tsx","./src/components/tooldetail.tsx","./src/components/toolpolicies/toolpoliciestablecolumns.tsx","./src/components/toolpolicies/toolpoliciestable.tsx","./src/components/toolpolicies/toolpoliciespanel.tsx","./src/components/toolpoliciesview.tsx","./src/app/(dashboard)/tool-policies/page.tsx","./src/app/(dashboard)/transform-request/transformrequestpanel.tsx","./src/app/(dashboard)/transform-request/transformrequestpanel.test.tsx","./src/app/(dashboard)/transform-request/page.tsx","./src/app/(dashboard)/ui-theme/uithemesettings.tsx","./src/app/(dashboard)/ui-theme/uithemesettings.test.tsx","./src/app/(dashboard)/ui-theme/page.tsx","./src/components/usagepage/components/keymodelusageview.tsx","./src/components/activity_metrics.tsx","./src/components/cloudzero_export_modal.tsx","./src/components/common_components/userdropdown.tsx","./src/components/shared/chart_loader.tsx","./src/components/per_user_usage.tsx","./src/components/user_agent_activity.tsx","./src/app/(dashboard)/usage/_components/components/endpointusage/components/endpointusagebarchart.tsx","./src/app/(dashboard)/usage/_components/components/endpointusage/components/endpointusagelinechart.tsx","./src/app/(dashboard)/usage/_components/components/endpointusage/components/endpointusagetable.tsx","./src/app/(dashboard)/usage/_components/components/endpointusage/endpointusage.tsx","./src/components/common_components/team_multi_select.tsx","./src/app/(dashboard)/usage/_components/components/modelviewtoggle.tsx","./src/app/(dashboard)/usage/_components/components/entityusage/topmodelview.tsx","./src/app/(dashboard)/usage/_components/components/entityusage/entityusage.tsx","./src/app/(dashboard)/usage/_components/components/entityusage/spendbyprovider.tsx","./src/app/(dashboard)/usage/_components/components/usageaichatpanel.tsx","./src/app/(dashboard)/usage/_components/components/usageviewselect/usageviewselect.tsx","./src/app/(dashboard)/usage/_components/components/usagepageview.tsx","./src/app/(dashboard)/usage/page.tsx","./src/app/(dashboard)/usage/_components/components/usageaichatpanel.test.tsx","./src/app/(dashboard)/usage/_components/components/usagepageview.test.tsx","./src/app/(dashboard)/usage/_components/components/endpointusage/endpointusage.test.tsx","./src/app/(dashboard)/usage/_components/components/endpointusage/components/endpointusagebarchart.test.tsx","./src/app/(dashboard)/usage/_components/components/endpointusage/components/endpointusagelinechart.test.tsx","./src/app/(dashboard)/usage/_components/components/endpointusage/components/endpointusagetable.test.tsx","./src/app/(dashboard)/usage/_components/components/entityusage/entityusage.test.tsx","./src/app/(dashboard)/usage/_components/components/entityusage/spendbyprovider.test.tsx","./src/app/(dashboard)/usage/_components/components/entityusage/topmodelview.test.tsx","./src/app/(dashboard)/usage/_components/components/usageviewselect/usageviewselect.test.tsx","./src/app/(dashboard)/users/_components/user_edit_view.tsx","./src/app/(dashboard)/users/_components/bulkeditusers.tsx","./src/components/bulk_create_users_button.tsx","./src/app/(dashboard)/users/_components/default-user-settings/defaultusersettingsform.tsx","./src/app/(dashboard)/users/_components/view_users/userstablecolumns.tsx","./src/app/(dashboard)/users/_components/view_users/userstable.tsx","./src/app/(dashboard)/users/_components/view_users/user_info_view.tsx","./src/app/(dashboard)/users/_components/view_users.tsx","./src/app/(dashboard)/users/_components/index.tsx","./src/app/(dashboard)/users/page.tsx","./src/app/(dashboard)/users/_components/bulkeditusers.test.tsx","./src/app/(dashboard)/users/_components/user_edit_view.test.tsx","./src/app/(dashboard)/users/_components/view_users.test.tsx","./src/app/(dashboard)/users/_components/default-user-settings/defaultusersettingsform.test.tsx","./src/app/(dashboard)/users/_components/view_users/userstable.test.tsx","./src/app/(dashboard)/users/_components/view_users/user_info_view.integration.test.tsx","./src/app/(dashboard)/users/_components/view_users/user_info_view.test.tsx","./src/components/vector_store_providers.tsx","./src/app/(dashboard)/vector-stores/_components/vectorstoretablecolumns.tsx","./src/app/(dashboard)/vector-stores/_components/vectorstoretable.tsx","./src/app/(dashboard)/vector-stores/_components/vectorstoreform.tsx","./src/app/(dashboard)/vector-stores/_components/vectorstoretester.tsx","./src/app/(dashboard)/vector-stores/_components/vector_store_info.tsx","./src/app/(dashboard)/vector-stores/_components/documentstablecolumns.tsx","./src/app/(dashboard)/vector-stores/_components/documentstable.tsx","./src/app/(dashboard)/vector-stores/_components/s3vectorsconfig.tsx","./src/app/(dashboard)/vector-stores/_components/createvectorstore.tsx","./src/app/(dashboard)/vector-stores/_components/testvectorstoretab.tsx","./src/app/(dashboard)/vector-stores/_components/index.tsx","./src/app/(dashboard)/vector-stores/page.tsx","./src/app/(dashboard)/vector-stores/_components/createvectorstore.characterization.test.tsx","./src/app/(dashboard)/vector-stores/_components/createvectorstore.test.tsx","./src/app/(dashboard)/vector-stores/_components/documentstable.test.tsx","./src/app/(dashboard)/vector-stores/_components/indexestable.test.tsx","./src/app/(dashboard)/vector-stores/_components/s3vectorsconfig.test.tsx","./src/app/(dashboard)/vector-stores/_components/testvectorstoretab.test.tsx","./src/app/(dashboard)/vector-stores/_components/vectorstoreform.integration.test.tsx","./src/app/(dashboard)/vector-stores/_components/vectorstoreform.test.tsx","./src/app/(dashboard)/vector-stores/_components/vectorstoretable.test.tsx","./src/app/(dashboard)/vector-stores/_components/vectorstoretester.test.tsx","./src/app/(dashboard)/vector-stores/_components/index.test.tsx","./src/app/(dashboard)/vector-stores/_components/vector_store_info.integration.test.tsx","./src/app/(dashboard)/vector-stores/_components/vector_store_info.test.tsx","./src/app/(dashboard)/workflows/workflowruns.tsx","./src/app/(dashboard)/workflows/workflowruns.test.tsx","./src/app/(dashboard)/workflows/page.tsx","./src/app/(dashboard)/workflows/page.integration.test.tsx","./src/app/chat/layout.tsx","./src/app/chat/layout.test.tsx","./src/components/chat/chatmessages.tsx","./src/components/chat/mcpconnectpicker.tsx","./src/app/chat/page.tsx","./src/app/chat/page.integration.test.tsx","./src/components/chat/keyspanel.tsx","./src/app/chat/api-keys/page.tsx","./src/components/chat/mcpcredentialstab.tsx","./src/app/chat/credentials/page.tsx","./src/components/chat/mcpappspanel.tsx","./src/components/chat/connectflowbanner.tsx","./src/app/chat/integrations/page.tsx","./src/components/chat/logspanel.tsx","./src/app/chat/logs/page.tsx","./src/components/chat/usagepanel.tsx","./src/app/chat/usage/page.tsx","./src/app/connect/layout.tsx","./src/app/connect/layout.test.tsx","./src/app/connect/page.tsx","./src/app/connect/page.test.tsx","./src/app/login/loginpage.tsx","./src/app/login/loginpage.integration.test.tsx","./src/app/login/loginpage.test.tsx","./src/app/login/page.tsx","./src/app/mcp/oauth/callback/page.tsx","./src/app/model_hub/page.tsx","./src/app/model_hub_table/page.tsx","./src/app/onboarding/onboardingerrorview.tsx","./src/app/onboarding/onboardingerrorview.test.tsx","./src/app/onboarding/onboardingloadingview.tsx","./src/app/onboarding/onboardingformbody.tsx","./src/app/onboarding/onboardingform.tsx","./src/app/onboarding/onboardingform.test.tsx","./src/app/onboarding/onboardingformbody.integration.test.tsx","./src/app/onboarding/onboardingformbody.test.tsx","./src/app/onboarding/onboardingloadingview.test.tsx","./src/app/onboarding/page.tsx","./src/components/betabadge.test.tsx","./src/components/createuserbutton.test.tsx","./src/components/dashboardheader.test.tsx","./src/components/debugwarningbanner.test.tsx","./src/components/deprecationbanner.test.tsx","./src/components/guardrailsettingsview.test.tsx","./src/components/helplink.test.tsx","./src/components/licenseexpirybanner.test.tsx","./src/components/norediswarningbanner.test.tsx","./src/components/scim.test.tsx","./src/components/ssomodals.test.tsx","./src/components/sidebarusagecard.test.tsx","./src/components/teamssosettings.test.tsx","./src/components/teams.test.tsx","./src/components/tooldetail.test.tsx","./src/components/toolpoliciesview.test.tsx","./src/components/uiaccesscontrolform.integration.test.tsx","./src/components/uiaccesscontrolform.unit.test.tsx","./src/components/userbanner.test.tsx","./src/components/activity_metrics.test.tsx","./src/components/add_pass_through.integration.test.tsx","./src/components/bulk_create_users_button.test.tsx","./src/components/cloudzero_export_modal.integration.test.tsx","./src/components/email_settings.test.tsx","./src/components/key_info_utils.test.tsx","./src/components/key_value_input.test.tsx","./src/components/leftnav.test.tsx","./src/components/logging_settings_view.test.tsx","./src/components/model_info_view.test.tsx","./src/components/navbar.test.tsx","./src/components/onboarding_link.test.tsx","./src/components/pass_through_info.integration.test.tsx","./src/components/per_user_usage.test.tsx","./src/components/price_data_reload.test.tsx","./src/components/provider_info_helpers.test.tsx","./src/components/public_model_hub.test.tsx","./src/components/query_param_input.test.tsx","./src/components/route_preview.test.tsx","./src/components/settings.test.tsx","./src/components/update_model_credentials_modal.test.tsx","./src/components/user_agent_activity.test.tsx","./src/components/user_dashboard.test.tsx","./src/components/vector_store_providers.test.tsx","./src/components/aihub/agenthubtablecolumns.test.tsx","./src/components/aihub/mcphubtablecolumns.test.tsx","./src/components/aihub/modelhubtable.test.tsx","./src/components/aihub/modelhubtablecolumns.test.tsx","./src/components/aihub/skillhubtablecolumns.test.tsx","./src/components/aihub/usefullinksmanagement.test.tsx","./src/components/aihub/forms/makeagentpublicform.test.tsx","./src/components/aihub/forms/makemcppublicform.test.tsx","./src/components/aihub/forms/makemodelpublicform.test.tsx","./src/components/cloudzerocosttracking/cloudzerocosttracking.test.tsx","./src/components/cloudzerocosttracking/cloudzerocreatemodal.integration.test.tsx","./src/components/cloudzerocosttracking/cloudzerocreatemodal.test.tsx","./src/components/cloudzerocosttracking/cloudzeroemptyplaceholder.test.tsx","./src/components/cloudzerocosttracking/cloudzerointegrationsettings.test.tsx","./src/components/cloudzerocosttracking/cloudzeroupdatemodal.integration.test.tsx","./src/components/cloudzerocosttracking/cloudzeroupdatemodal.test.tsx","./src/components/deletedkeyspage/deletedkeyspage.test.tsx","./src/components/deletedkeyspage/deletedkeystable/deletedkeystable.test.tsx","./src/components/deletedteamspage/deletedteamspage.test.tsx","./src/components/deletedteamspage/deletedteamstable/deletedteamstable.test.tsx","./src/components/entityusageexport/entityusageexportmodal.test.tsx","./src/components/entityusageexport/exportformatselector.test.tsx","./src/components/entityusageexport/exportsummary.test.tsx","./src/components/entityusageexport/exporttypeselector.test.tsx","./src/components/entityusageexport/usageexportheader.test.tsx","./src/components/guardrailsmonitor/metriccard.test.tsx","./src/components/modelselect/modelselect.test.tsx","./src/components/navbar/viewswitcher.test.tsx","./src/components/navbar/blogdropdown/blogdropdown.test.tsx","./src/components/navbar/communityengagementbuttons/communityengagementbuttons.test.tsx","./src/components/navbar/notificationsbell/notificationsbell.test.tsx","./src/components/navbar/userdropdown/userdropdown.test.tsx","./src/components/navbar/workerdropdown/workerdropdown.test.tsx","./src/components/passthroughsettings/passthroughendpointstable.test.tsx","./src/components/passthroughsettings/passthroughsettings.test.tsx","./src/components/settings/adminsettings/hashicorpvault/edithashicorpvaultmodal.test.tsx","./src/components/settings/adminsettings/hashicorpvault/hashicorpvault.test.tsx","./src/components/settings/adminsettings/hashicorpvault/hashicorpvaultemptyplaceholder.test.tsx","./src/components/settings/adminsettings/loggingsettings/loggingsettings.test.tsx","./src/components/settings/adminsettings/mcpsemanticfiltersettings/mcpsemanticfiltersettings.test.tsx","./src/components/settings/adminsettings/mcpsemanticfiltersettings/mcpsemanticfiltertestpanel.test.tsx","./src/components/settings/adminsettings/pluginsettings/pluginsettings.integration.test.tsx","./src/components/settings/adminsettings/ssosettings/redactablefield.test.tsx","./src/components/settings/adminsettings/ssosettings/rolemappings.test.tsx","./src/components/settings/adminsettings/ssosettings/ssosettings.test.tsx","./src/components/settings/adminsettings/ssosettings/ssosettingsemptyplaceholder.test.tsx","./src/components/settings/adminsettings/ssosettings/ssosettingsloadingskeleton.test.tsx","./src/components/settings/adminsettings/ssosettings/modals/addssosettingsmodal.test.tsx","./src/components/settings/adminsettings/ssosettings/modals/basessosettingsform.test.tsx","./src/components/settings/adminsettings/ssosettings/modals/deletessosettingsmodal.test.tsx","./src/components/settings/adminsettings/ssosettings/modals/editssosettingsmodal.integration.test.tsx","./src/components/settings/adminsettings/ssosettings/modals/editssosettingsmodal.test.tsx","./src/components/settings/adminsettings/uisettings/pagevisibilitysettings.test.tsx","./src/components/settings/adminsettings/uisettings/uisettings.test.tsx","./src/components/settings/adminsettings/userbannersettings/userbannersettings.test.tsx","./src/components/settings/loggingandalerts/loggingcallbacks/loggingcallbackstable.test.tsx","./src/components/settings/routersettings/fallbacks/addfallbacks.test.tsx","./src/components/settings/routersettings/fallbacks/addfallbacksmodal.test.tsx","./src/components/settings/routersettings/fallbacks/editfallbacks.test.tsx","./src/components/settings/routersettings/fallbacks/fallbackselectionform.test.tsx","./src/components/settings/routersettings/fallbacks/fallbacks.test.tsx","./src/components/sidebaraccountmenu/sidebaraccountmenu.test.tsx","./src/components/teamspage/teamstable.test.tsx","./src/components/toolpolicies/policyselect.test.tsx","./src/components/toolpolicies/toolpoliciespanel.test.tsx","./src/components/toolpolicies/toolpoliciestable.test.tsx","./src/components/toolpolicies/toolpoliciestablecolumns.test.tsx","./src/components/usagepage/components/keymodelusageview.test.tsx","./src/components/usagepage/components/entityusage/topkeyview.test.tsx","./src/components/virtualkeyspage/virtualkeystable.test.tsx","./src/components/add_model/addmodelform.test.tsx","./src/components/add_model/autorouterroutingtest.test.tsx","./src/components/add_model/classifierprompteditor.integration.test.tsx","./src/components/add_model/complexityrouterconfig.test.tsx","./src/components/add_model/heuristicscoringconfig.test.tsx","./src/components/add_model/routerconfigbuilder.test.tsx","./src/components/add_model/semantickeywordmatching.test.tsx","./src/components/add_model/add_auto_router_tab.test.tsx","./tests/mounted-form-host.tsx","./src/components/add_model/advanced_settings.test.tsx","./src/components/add_model/auto_router_connection_test.test.tsx","./src/components/add_model/cache_control_settings.test.tsx","./src/components/add_model/conditional_public_model_name.test.tsx","./src/components/add_model/handle_add_model_submit.test.tsx","./src/components/add_model/litellm_model_name.test.tsx","./src/components/add_model/model_connection_test.test.tsx","./src/components/add_model/provider_specific_fields.test.tsx","./src/components/agent_management/agentselector.test.tsx","./src/components/alerting/dynamic_form.integration.test.tsx","./src/components/chat/chatshell.test.tsx","./src/components/chat/connectflowbanner.test.tsx","./src/components/chat/logspanel.test.tsx","./src/components/chat/mcpappspanel.test.tsx","./src/components/chat/mcpconnectpicker.test.tsx","./src/components/chat_ui/codesnippets.test.tsx","./src/components/chat_ui/reasoningcontent.test.tsx","./src/components/chat_ui/responsemetrics.test.tsx","./src/components/common_components/defaultproxyadmintag.test.tsx","./src/components/common_components/deleteresourcemodal.test.tsx","./src/components/common_components/durationselect.test.tsx","./src/components/common_components/keylifecyclesettings.test.tsx","./src/components/common_components/labeledfield.test.tsx","./src/components/common_components/loadingscreen.test.tsx","./src/components/common_components/metadatakeyvaluefields.test.tsx","./src/components/common_components/modelaliasmanager.test.tsx","./src/components/common_components/modelselector.test.tsx","./src/components/common_components/mountedformfield.test.tsx","./src/components/common_components/newbadge.test.tsx","./src/components/common_components/organizationdropdown.test.tsx","./src/components/common_components/passthroughguardrailssection.test.tsx","./src/components/common_components/premiumloggingsettings.test.tsx","./src/components/common_components/ratelimittypeformitem.test.tsx","./src/components/common_components/routersettingsaccordion.test.tsx","./src/components/common_components/routersettingssummary.test.tsx","./src/components/common_components/userdropdown.test.tsx","./src/components/common_components/routersettingswiring.test.tsx","./src/components/common_components/team_multi_select.test.tsx","./src/components/common_components/user_search_modal.test.tsx","./src/components/common_components/filters/filterinput.test.tsx","./src/components/common_components/filters/filtersbutton.test.tsx","./src/components/common_components/filters/resetfiltersbutton.test.tsx","./src/components/common_components/iconactionbutton/baseactionbutton.test.tsx","./src/components/common_components/iconactionbutton/tableiconactionbuttons/tableiconactionbutton.test.tsx","./src/components/email_events/email_event_settings.test.tsx","./src/components/guardrails/guardrailselector.test.tsx","./src/components/key_team_helpers/budgetfallbackseditor.test.tsx","./src/components/key_team_helpers/tagratelimiteditor.test.tsx","./src/components/key_team_helpers/fetch_available_models_team_key.test.tsx","./src/components/llm_calls/chat_completion.test.tsx","./src/components/llm_calls/fetch_models.test.tsx","./src/components/llm_calls/responses_api.test.tsx","./src/components/mcp_server_management/mcpserverselector.test.tsx","./src/components/mcp_server_management/mcptoolpermissions.test.tsx","./src/components/mcp_tools/byokcredentialmodal.test.tsx","./src/components/mcp_tools/mcptoolargumentsform.test.tsx","./src/components/mcp_tools/types.test.tsx","./src/components/model_add/credentialmodal.test.tsx","./src/components/model_add/credentialspanel.test.tsx","./src/components/model_add/credentialstable.test.tsx","./src/components/model_add/reuse_credentials.test.tsx","./src/components/model_dashboard/healthcheckcomponent.test.tsx","./src/components/model_dashboard/healthcheckstable.test.tsx","./src/components/model_dashboard/modelsettingsmodal/modelsettingsmodal.test.tsx","./src/components/molecules/cost_optimization_feedback_banner.test.tsx","./src/components/molecules/logo/logo.test.tsx","./src/components/molecules/models/providerlogo.test.tsx","./src/components/organisms/regeneratekeymodal.integration.test.tsx","./src/components/organisms/regeneratekeymodal.test.tsx","./src/components/organisms/create_key_button.integration.test.tsx","./src/components/organisms/create_key_button.test.tsx","./src/components/organization/organization_view.test.tsx","./src/components/organization/org-create/orgcreatedialog.test.tsx","./src/components/organization/org-settings/orgsettingsform.test.tsx","./src/components/permissions/mcpserverpermissions.test.tsx","./src/components/policies/policyselector.test.tsx","./src/components/router_settings/latencybasedconfiguration.test.tsx","./src/components/router_settings/reliabilityretriessection.test.tsx","./src/components/router_settings/routersettingsform.test.tsx","./src/components/router_settings/routingstrategyselector.test.tsx","./src/components/router_settings/tagfilteringtoggle.test.tsx","./src/components/router_settings/index.test.tsx","./src/components/routing_groups/routinggroupmodal.test.tsx","./src/components/routing_groups/routinggroupstable.test.tsx","./src/components/routing_groups/index.integration.test.tsx","./src/components/search_tools/searchtoolselector.test.tsx","./src/components/shared/alert.test.tsx","./src/components/shared/badgelink.test.tsx","./src/components/shared/copybutton.test.tsx","./src/components/shared/createdkeydisplay.test.tsx","./src/components/shared/entitylink.test.tsx","./src/components/shared/inheritedbudgethint.test.tsx","./src/components/shared/legacypageheader.test.tsx","./src/components/shared/multiselect.test.tsx","./src/components/shared/pageheader.test.tsx","./src/components/shared/paginatedsearchselect.test.tsx","./src/components/shared/searchselect.test.tsx","./src/components/shared/toolbarseparator.test.tsx","./src/components/shared/advanced_date_picker.test.tsx","./src/components/shared/chart_loader.test.tsx","./src/components/shared/datatable/datatable.test-d.tsx","./src/components/shared/datatable/datatable.test.tsx","./src/components/shared/datatable/datatablefilterdrawer.test.tsx","./src/components/shared/datatable/datatablepagination.test.tsx","./src/components/shared/datatable/datatablerowselection.test.tsx","./src/components/shared/datatable/datatablesortheader.test.tsx","./src/components/shared/datatable/datatabletoolbar.test.tsx","./src/components/shared/charts/area_chart.test.tsx","./src/components/shared/charts/bar_chart.test.tsx","./src/components/shared/charts/chart_legend.test.tsx","./src/components/shared/charts/chart_tooltip.test.tsx","./src/components/shared/charts/donut_chart.test.tsx","./src/components/shared/charts/line_chart.test.tsx","./src/components/shared/form/formfield.test.tsx","./src/components/shared/form/field.test.tsx","./src/components/shared/table_cells/autoroutertag.test.tsx","./src/components/shared/table_cells/date_cell.test.tsx","./src/components/shared/table_cells/id_cell.test.tsx","./src/components/shared/table_cells/identity_cell.test.tsx","./src/components/shared/table_cells/models_cell.test.tsx","./src/components/shared/table_cells/money_cell.test.tsx","./src/components/shared/table_cells/spend_budget_cell.test.tsx","./src/components/shared/table_cells/status_badge.test.tsx","./src/components/tag_management/tagselector.test.tsx","./src/components/team/availableteamspanel.test.tsx","./src/components/team/editmembership.integration.test.tsx","./src/components/team/editmembership.test.tsx","./src/components/team/loggingsettings.test.tsx","./src/components/team/myusertab.test.tsx","./src/components/team/teaminfo.test.tsx","./src/components/team/teammembertab.test.tsx","./src/components/team/teamvirtualkeystable.test.tsx","./src/components/team/member_permissions.test.tsx","./src/components/team/permission_definitions.test.tsx","./src/components/templates/keyinfoheader.test.tsx","./src/components/templates/keyinfoview.handlekeyupdate.test.tsx","./src/components/templates/key_edit_view.test.tsx","./src/components/templates/key_info_view.budget_display.test.tsx","./src/components/templates/key_info_view.test.tsx","./src/components/ui/alert-dialog.test.tsx","./src/components/ui/avatar.test.tsx","./src/components/ui/badge.test.tsx","./src/components/ui/breadcrumb.test.tsx","./src/components/ui/button.test.tsx","./src/components/ui/chart.test.tsx","./src/components/ui/meter.test.tsx","./src/components/ui/ref-forwarding.test.tsx","./src/components/ui/select.test.tsx","./src/components/ui/tooltip.test.tsx","./src/components/ui/ui-loading-spinner.test.tsx","./src/components/vector_store_management/vectorstoreselector.test.tsx","./src/components/view_logs/auditlogstable.test.tsx","./src/components/view_logs/configinfomessage.test.tsx","./src/components/view_logs/costbreakdownviewer.test.tsx","./src/components/view_logs/requestlogsfilters.test.tsx","./src/components/view_logs/requestlogspanel.test.tsx","./src/components/view_logs/requestlogstablecolumns.test.tsx","./src/components/view_logs/typebadges.test.tsx","./src/components/view_logs/index.integration.test.tsx","./src/components/view_logs/index.test.tsx","./src/components/view_logs/log_filter_logic.test.tsx","./src/components/view_logs/logs_utils.test.tsx","./src/components/view_logs/auditlogdrawer/auditlogdrawer.test.tsx","./src/components/view_logs/guardrailviewer/bedrockguardraildetails.test.tsx","./src/components/view_logs/guardrailviewer/guardrailviewer.test.tsx","./src/components/view_logs/guardrailviewer/presidiodetectedentities.test.tsx","./src/components/view_logs/logdetailsdrawer/classifytag.test.tsx","./src/components/view_logs/logdetailsdrawer/collapsiblemessage.test.tsx","./src/components/view_logs/logdetailsdrawer/historytree.test.tsx","./src/components/view_logs/logdetailsdrawer/inputcard.test.tsx","./src/components/view_logs/logdetailsdrawer/jsonviewer.test.tsx","./src/components/view_logs/logdetailsdrawer/logdetailcontent.test.tsx","./src/components/view_logs/logdetailsdrawer/logdetailsdrawer.test.tsx","./src/components/view_logs/logdetailsdrawer/outputcard.test.tsx","./src/components/view_logs/logdetailsdrawer/prettymessagesview.test.tsx","./src/components/view_logs/logdetailsdrawer/realtimeprettyview.test.tsx","./src/components/view_logs/logdetailsdrawer/routingdecisioncard.test.tsx","./src/components/view_logs/logdetailsdrawer/sectionheader.test.tsx","./src/components/view_logs/logdetailsdrawer/simplemessageblock.test.tsx","./src/components/view_logs/logdetailsdrawer/simpletoolcallblock.test.tsx","./src/components/view_logs/logdetailsdrawer/tokenflow.test.tsx","./src/components/view_logs/logdetailsdrawer/truncatedvalue.test.tsx","./src/components/view_logs/toolssection/toolssection.test.tsx","./src/contexts/pluginmodecontext.test.tsx","./src/hooks/usemcpoauthflow.test.tsx","./src/hooks/usetoolsoauthflow.test.tsx","./src/hooks/policies/usedeletepolicyattachment.test.tsx","./src/lib/forms/usezodform.test.tsx","./tests/createkeypage.expiredtoken.test.tsx","./tests/top_key_view.test.tsx","./.next/dev/types/cache-life.d.ts","./.next/dev/types/validator.ts","./node_modules/@types/d3-array/index.d.ts","./node_modules/@types/d3-color/index.d.ts","./node_modules/@types/d3-ease/index.d.ts","./node_modules/@types/d3-interpolate/index.d.ts","./node_modules/@types/d3-timer/index.d.ts","./node_modules/@types/ms/index.d.ts","./node_modules/@types/debug/index.d.ts","./node_modules/@types/estree-jsx/index.d.ts","./node_modules/@types/json5/index.d.ts","./node_modules/@types/use-sync-external-store/index.d.ts"],"fileIdsList":[[97,143,484,485,486,487],[97,143],[97,143,226,528,531,2614,2720,2750,2760,2789,2803,2814,2818,2825,2842,2946,2957,3000,3038,3061,3081,3125,3161,3185,3258,3270,3284,3412,3454,3478,3515,3536,3547,3560,3569,3582,3589,3592,3595,3615,3635,3655,3671,3673,3677,3680,3682,3685,3687,3689,3690,3692,3697,3698,3699,3700,3710],[97,143,529,530,531],[97,143,3309,3313,3314,3317,3318,3320,3322,3323,3326,3345,3370,3371,3372,3373],[97,143,3313,3321,3374],[97,143,3319],[97,143,3317,3321,3322,3374],[97,143,3374],[97,143,3315,3374],[97,143,3324,3325],[97,143,3320],[97,143,3320,3322,3323,3326,3343,3374],[97,143,3337],[97,143,3317,3323,3374],[97,143,3309,3313,3314,3316],[97,143,176],[97,143,3309],[97,138,143,3312],[97,143,3309,3317,3374],[97,143,3317,3374],[97,143,3369,3374],[97,143,3317,3339,3347,3369,3374],[97,143,3317,3339,3342,3343,3374],[97,143,3345,3374],[97,143,3363],[97,143,3317,3348,3363,3364,3366,3375],[97,143,3365],[97,143,3373],[97,143,3362],[97,143,3317,3322,3323,3327,3332,3370],[97,143,3332,3333],[97,143,3317,3323,3327,3333,3370],[97,143,3327,3328,3329,3330,3331,3333,3336,3353,3357,3360,3369],[97,143,3317,3322,3323,3327,3370],[97,143,3317,3322,3323,3326,3327,3370],[97,143,3328,3329,3330,3331,3349,3350,3351,3355,3358,3361,3370],[97,143,3334,3335,3336],[97,143,3317,3322,3323,3327,3334,3335,3370],[97,143,3317,3322,3323,3327,3334,3370],[97,143,3317,3322,3323,3327,3338,3345,3369,3370],[97,143,3346,3369],[97,143,3316,3317,3322,3327,3345,3346,3347,3348,3367,3368,3369,3370],[97,143,3316,3317,3322,3323,3327,3370],[97,143,3352,3353,3354],[97,143,3317,3322,3323,3327,3353,3370],[97,143,3317,3322,3323,3327,3333,3352,3354,3370],[97,143,3356,3357],[97,143,3317,3322,3323,3326,3327,3356,3370],[97,143,3359,3360],[97,143,3317,3322,3323,3327,3359,3370],[97,143,3316,3317,3322,3327,3345,3370,3371],[97,143,3319,3345,3370,3371,3372],[97,143,3341],[97,143,3317,3319,3322,3323,3327,3338,3345],[97,143,3340,3345],[97,143,3316,3317,3322,3327,3340,3343,3344,3345],[85,97,143,640,720],[97,143,717,720,721,722,723,724],[97,143,717,720,721,722,723],[85,97,143,635,636,640,717,719],[85,97,143,640,663,717,720],[85,97,143,635,636,640],[97,143,726,727],[97,143,730,731,732,733,734,735,736,738,739,740],[97,143,729,730,731,732,733,734,735,736,738,739],[85,97,143,226,636,728,729],[85,97,143,729,737],[97,143,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,764,766],[97,143,712,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,764,765],[85,97,143,640,644,695],[85,97,143,640],[85,97,143,742],[85,97,143],[85,97,143,640,768],[85,97,143,640,663,768],[97,143,768,769,770,771],[97,143,768,769,770],[97,143,773],[85,97,143,635,636,640,644],[97,143,779],[97,143,775,776,777],[97,143,775,776],[85,97,143,640,663,775],[97,143,718,781,782,783],[97,143,718,781,782],[85,97,143,640,663,718],[85,97,143,635,636,640,719],[85,97,143,663,718],[85,97,143,640,718],[85,97,143,640,695],[85,97,143,640,663],[97,143,746,748,749,750,751,752,753,754,755,756,757,758,760,761,762,764,785,786,787,788,789,790,791,792,793,794,796],[97,143,746,748,749,750,751,752,753,754,755,756,757,758,760,761,762,764,765,785,786,787,788,789,790,791,792,793,794,795],[85,97,143,640,644],[85,97,143,640,662,663,695],[85,97,143,694],[85,97,143,635,636,637],[97,143,763],[97,143,798,799,806,807,808,809,810,811,812,813,814,815,816,817,819,822,825,826,827],[97,143,712,798,799,806,807,808,809,810,811,812,813,814,815,816,817,819,822,825,826],[97,143,226,639,805,824],[85,97,143,825],[85,97,143,226],[97,143,829,830],[97,143,829],[97,143,728,731,732,733,734,735,736,737,739,832],[97,143,727,728,731,732,733,734,735,736,737,739],[85,97,143,640,662,663],[85,97,143,226,635,636,667,727],[97,143,726],[85,97,143,660,662,663,667,668,694,728,1012],[85,97,143,640,727],[85,97,143,834],[97,143,835,836],[97,143,834,835],[97,143,838,839,840,841,842,843,845,847,848,849,850,851,852,853,854,855],[97,143,727,838,839,840,841,842,843,845,847,848,849,850,851,852,853,854],[85,97,143,640,662,663,846],[85,97,143,226,635,636,667,727,846],[85,97,143,844,845],[85,97,143,640,844,846],[85,97,143,640,644,663],[97,143,644,857,858,859,860,861,862,863],[97,143,644,857,858,859,860,861,862],[85,97,143,640,643],[85,97,143,644,663],[97,143,865,866,867],[97,143,865,866],[85,97,143,689],[85,97,143,651,662,689],[85,97,143,640,671],[85,97,143,636,660,663,667,689],[85,97,143,651,689],[97,143,689],[85,97,143,682],[97,143,635,689],[97,143,651,689],[97,143,636,668,689],[97,143,678,689],[85,97,143,640,651,678,689],[97,143,677,689],[85,97,143,651,683,689],[97,143,639,660,667,668],[85,97,143,682,689],[97,143,650,651,669,672,673,674,675,679,680,681,684,685,686,687,688,689,690,691,692,693],[97,143,678],[85,97,143,636,650,651,668,669,672,673,674,675,678,679,680,681,684,685,686,687,688,690,694],[97,143,667,676],[85,97,143,635,636,640,641],[97,143,642],[97,143,639,643,714,725,741,767,772,774,778,780,784,795,797,824,828,831,833,837,856,864,868,870,872,874,881,896,906,911,927,940,947,951,953,961,971,975,982,997,999,1001,1009,1011,1024],[97,143,869],[85,97,143,640,864],[97,143,635],[85,97,143,642,644],[97,143,634],[85,97,143,639],[85,97,143,640,670],[85,97,143,640,805],[97,143,798,799,805,806,807,808,809,810,811,812,813,814,815,816,817,819,820,821,822,823],[97,143,712,798,799,804,805,806,807,808,809,810,811,812,813,814,815,816,817,819,820,821,822],[85,97,143,226,635,636,667,800,801,802,803,804],[85,97,143,800,805],[97,143,800],[85,97,143,640,651,660,662,663,667,668,694,805,824],[85,97,143,226,805,818],[85,97,143,800],[85,97,143,640,804],[97,143,871],[85,97,143,805],[97,143,873],[97,143,875,876,877,878,879,880],[97,143,875,876,877,878,879],[85,97,143,640,875],[97,143,882,883,884,885,886,887,888,889,890,891,892,893,894,895],[97,143,882,883,884,885,886,887,888,889,890,891,892,893,894],[85,97,143,640,663,695],[85,97,143,640,898],[97,143,898,899,900,901,902,903,904,905],[97,143,898,899,900,901,902,903,904],[85,97,143,635,636,640,644,897],[97,143,908,909,910],[97,143,712,908,909],[85,97,143,640,908],[85,97,143,635,636,640,644,907],[97,143,915,916,917,918,919,920,921,922,923,924,925,926],[97,143,914,915,916,917,918,919,920,921,922,923,924,925],[85,97,143,226,635,636,667,914],[97,143,913],[85,97,143,660,662,663,667,668,694,912,915,927,1012],[85,97,143,640,914],[97,143,930,932,933,934,935,936,937,938,939],[97,143,929,930,932,933,934,935,936,937,938],[85,97,143,931],[85,97,143,226,635,636,667,929],[97,143,928],[85,97,143,660,663,667,668,694,930,1012],[85,97,143,640,929],[97,143,941,942,943,944,945,946],[97,143,941,942,943,944,945],[85,97,143,640,941],[97,143,952],[97,143,948,949,950],[97,143,948,949],[85,97,143,640,663,948],[85,97,143,640,954],[97,143,954,955,956,957,958,959,960],[97,143,954,955,956,957,958,959],[97,143,638,645,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,713],[97,143,638,645,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712],[97,143,712],[85,97,143,640,962],[97,143,962,963,964,965,966,968,969,970],[97,143,962,963,964,965,966,968,969],[85,97,143,640,962,967],[97,143,972,973,974],[97,143,972,973],[85,97,143,635,639,640,644],[85,97,143,640,972],[97,143,976,977,978,979,980,981],[97,143,976,977,978,979,980],[85,97,143,640,976,977],[85,97,143,640,977],[85,97,143,640,663,976,977],[85,97,143,635,636,640,976],[97,143,984],[97,143,983,984,985,986,987,988,989,990,991,992,993,994,995,996],[97,143,983,984,985,986,987,988,989,990,991,992,993,994,995],[85,97,143,640,695,984],[85,97,143,985],[85,97,143,640,663,984],[85,97,143,983],[97,143,1000],[97,143,998],[85,97,143,640,1003],[97,143,1002,1003,1004,1005,1006,1007,1008],[97,143,640,1002,1003,1004,1005,1006,1007],[85,97,143,640,795],[97,143,1015,1016,1017,1018,1019,1020,1021,1022,1023],[97,143,1014,1015,1016,1017,1018,1019,1020,1021,1022],[85,97,143,226,635,636,667,1014],[97,143,1013],[85,97,143,660,663,667,668,694,1012,1015,1024],[85,97,143,640,1014],[85,97,143,636],[97,143,640,1010],[97,143,661,664,665,666],[85,97,143,650],[85,97,143,635,636,660,662,663,665],[97,143,640,663,664,668,694],[85,97,143,646,694],[97,143,652],[97,143,653],[97,143,653,654,656,657,658,659],[97,143,656],[85,97,143,226,656],[97,143,655,656],[97,143,2584],[97,143,646],[97,143,647,648],[85,97,143,649],[97,143,1643,1644,1645,1646,1647,1648,1649,1650,1651,1652,1653,1654,1655,1656,1657,1658,1659,1660,1661,1662,1663,1664,1665,1666,1667,1668,1669,1670,1671,1672,1673,1674,1675,1676,1677,1678,1679,1680,1681,1682,1683,1684,1685,1686,1687,1688,1689,1690,1691,1692,1693,1694,1695,1696,1697,1698,1699,1700,1701,1702,1703,1704,1705,1706,1707,1708,1709,1710,1711,1712,1713,1714,1715,1716,1717,1718,1719,1720,1721,1722,1723,1724,1725,1726,1727,1728,1729,1730,1731,1732,1733,1734,1735,1736,1737,1738,1739,1740,1741,1742,1743,1744,1745,1746,1747,1748,1749,1750,1751,1752,1753,1754,1755,1756,1757,1758,1759,1760,1761,1762,1763,1764,1765,1766,1767,1768,1769,1770,1771,1772,1773,1774,1775,1776,1777,1778,1779,1780,1781,1782,1783,1784,1785,1786,1787,1788,1789,1790,1791,1792,1793,1794,1795,1796,1797,1798,1799,1800,1801,1802,1803,1804,1805,1806,1807,1808,1809,1810,1811,1812,1813,1814,1815,1816,1817,1818,1819,1820,1821,1822,1823,1824,1825,1826,1827,1828,1829,1830,1831,1832,1833,1834,1835,1836,1837,1838,1839,1840,1841,1842,1843,1844,1845,1846,1847,1848,1849,1850,1851,1852,1853,1854,1855,1856,1857,1858,1859,1860,1861,1862,1863,1864,1865,1866,1867,1868,1869,1870,1871,1872],[97,143,2017],[97,143,1059,1250,2016],[97,143,652,2062,2063,2064,2065],[97,143,226],[97,143,1391,1399],[97,143,1085],[97,143,1400,1401,1402,1403,1404],[97,143,1399,1401],[97,143,1400,1401],[85,97,143,1398,1399,1400],[85,97,143,226,1086],[97,143,1087],[97,143,1391,1394],[97,143,1385,1391,1392,1393,1394,1395,1396,1397],[97,143,1391],[85,97,143,1141],[97,143,1387],[97,143,1387,1388,1389,1390],[97,143,1386],[97,143,1122],[97,143,1107,1130],[97,143,1130],[97,143,1130,1141],[97,143,1116,1130,1141],[97,143,1121,1130,1141],[97,143,1111,1130],[97,143,1119,1130,1141],[97,143,1117],[97,143,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140],[97,143,1120],[97,143,1107,1108,1109,1110,1111,1112,1113,1114,1115,1117,1118,1120,1122,1123,1124,1125,1126,1127,1128,1129],[97,143,1328],[97,143,1325,1326,1327,1328,1329,1332,1333,1334,1335,1336,1337,1338,1339],[97,143,1324],[97,143,1331],[97,143,1325,1326,1327],[97,143,1325,1326],[97,143,1328,1329,1331],[97,143,1326],[97,143,2595],[97,143,2594],[85,97,143,196,460,1340,1341],[97,143,1597],[97,143,1584,1585,1586],[97,143,1579,1580,1581],[97,143,1557,1558,1559,1560],[97,143,1523,1597],[97,143,1523],[97,143,1523,1524,1525,1526,1571],[97,143,1561],[97,143,1556,1562,1563,1564,1565,1566,1567,1568,1569,1570],[97,143,1571],[97,143,1522],[97,143,1575,1577,1578,1596,1597],[97,143,1575,1577],[97,143,1572,1575,1597],[97,143,1582,1583,1587,1588,1593],[97,143,1576,1578,1588,1596],[97,143,1595,1596],[97,143,1572,1576,1578,1594,1595],[97,143,1576,1597],[97,143,1574],[97,143,1574,1576,1597],[97,143,1572,1573],[97,143,1589,1590,1591,1592],[97,143,1578,1597],[97,143,1533],[97,143,1527,1534],[97,143,1527,1528,1529,1530,1531,1532,1533,1534,1535,1536,1537,1538,1539,1540,1541,1542,1543,1544,1545,1546,1547,1548,1549,1550,1551,1552,1553,1554,1555],[97,143,1553,1597],[97,143,600,601],[97,143,4026],[97,143,2052],[97,143,2075],[97,143,4030],[97,143,546,547,4032],[97,143,2632],[97,143,157,184,191,3310,3311],[97,140,143],[97,142,143],[143],[97,143,148,176],[97,143,144,149,154,162,173,184],[97,143,144,145,154,162],[92,93,94,97,143],[97,143,146,185],[97,143,147,148,155,163],[97,143,148,173,181],[97,143,149,151,154,162],[97,142,143,150],[97,143,151,152],[97,143,153,154],[97,142,143,154],[97,143,154,155,156,173,184],[97,143,154,155,156,169,173,176],[97,143,151,154,157,162,173,184],[97,143,154,155,157,158,162,173,181,184],[97,143,157,159,173,181,184],[95,96,97,98,99,100,101,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190],[97,143,154,160],[97,143,161,184,189],[97,143,151,154,162,173],[97,143,163],[97,143,164],[97,142,143,165],[97,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190],[97,143,167],[97,143,168],[97,143,154,169,170],[97,143,169,171,185,187],[97,143,154,173,174,176],[97,143,175,176],[97,143,173,174],[97,143,177],[97,140,143,173,178],[97,143,154,179,180],[97,143,179,180],[97,143,148,162,173,181],[97,143,182],[97,143,162,183],[97,143,157,168,184],[97,143,148,185],[97,143,173,186],[97,143,161,187],[97,143,188],[97,138,143],[97,138,143,154,156,165,173,176,184,187,189],[97,143,173,190],[97,143,173,191],[85,89,97,143,192,193,194,195,196,479,524],[85,89,97,143,192,193,194,195,460,479,524],[85,89,97,143,192,193,195,196,479,524],[85,97,143,196,460,461],[85,97,143,196,460],[85,97,143,1315],[85,89,97,143,193,194,195,196,479,524],[85,89,97,143,192,194,195,196,479,524],[83,84,97,143],[97,143,533,538,539,541],[97,143,587,588],[97,143,539,541,581,582,583],[97,143,539],[97,143,539,541,581],[97,143,539,581],[97,143,594],[97,143,534,594,595],[97,143,534,594],[97,143,534,540],[97,143,535],[97,143,534,535,536,538],[97,143,534],[97,143,2301],[97,143,2299,2301],[97,143,2299],[97,143,2301,2365,2366],[97,143,2301,2368],[97,143,2301,2369],[97,143,2386],[97,143,2301,2302,2303,2304,2305,2306,2307,2308,2309,2310,2311,2312,2313,2314,2315,2316,2317,2318,2319,2320,2321,2322,2323,2324,2325,2326,2327,2328,2329,2330,2331,2332,2333,2334,2335,2336,2337,2338,2339,2340,2341,2342,2343,2344,2345,2346,2347,2348,2349,2350,2351,2352,2353,2354,2355,2356,2357,2358,2359,2360,2361,2362,2363,2364,2367,2368,2369,2370,2371,2372,2373,2374,2375,2376,2377,2378,2379,2380,2381,2382,2383,2384,2385,2387,2388,2389,2390,2391,2392,2393,2394,2395,2396,2397,2398,2399,2400,2401,2402,2403,2404,2405,2406,2407,2408,2409,2410,2411,2412,2413,2414,2415,2416,2417,2418,2419,2420,2421,2422,2423,2424,2425,2426,2427,2428,2429,2430,2431,2432,2433,2434,2435,2436,2437,2438,2439,2440,2441,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2453,2454,2455,2456,2457,2458,2459,2460,2461,2463,2464,2465,2466,2467,2468,2469,2470,2471,2472,2473,2474,2475,2476,2477,2478,2479,2480,2481,2482,2487,2488,2489,2490,2491,2492,2493,2494,2495,2496,2497,2498,2499,2500,2501,2502,2503,2504,2505,2506,2507,2508,2509,2510,2511,2512,2513,2514,2515,2516,2517,2518,2519,2520,2521,2522,2523,2524,2525,2526,2527,2528,2529,2530,2531,2532,2533,2534,2535,2536,2537,2538,2539,2540,2541,2542,2543,2544,2545,2546,2547,2548,2549,2550,2551,2552,2553,2554],[97,143,2301,2462],[97,143,2301,2366,2486],[97,143,2299,2483,2484],[97,143,2485],[97,143,2301,2483],[97,143,2298,2299,2300],[97,143,1993],[97,143,1992],[97,143,1994],[97,143,546,547,2585,2586,4032],[97,143,2587],[97,143,1189,1190],[97,143,1189,1190,1191,1192],[97,143,1189,1191],[97,143,1189],[97,143,157,173,191],[97,143,574,575],[97,143,2676,2679,2682,2684,2685,2686],[97,143,2643,2671,2676,2679,2682,2684,2686],[97,143,2643,2671,2676,2679,2682,2686],[97,143,2709,2710,2714],[97,143,2686,2709,2711,2714],[97,143,2686,2709,2711,2713],[97,143,2643,2671,2686,2709,2711,2712,2714],[97,143,2711,2714,2715],[97,143,2686,2709,2711,2714,2716],[97,143,2633,2643,2644,2645,2669,2670,2671],[97,143,2633,2644,2671],[97,143,2633,2643,2644,2671],[97,143,2646,2647,2648,2649,2650,2651,2652,2653,2654,2655,2656,2657,2658,2659,2660,2661,2662,2663,2664,2665,2666,2667,2668],[97,143,2633,2637,2643,2645,2671],[97,143,2687,2688,2708],[97,143,2643,2671,2709,2711,2714],[97,143,2643,2671],[97,143,2689,2690,2691,2692,2693,2694,2695,2696,2697,2698,2699,2700,2701,2702,2703,2704,2705,2706,2707],[97,143,2632,2643,2671],[97,143,2676,2677,2678,2682,2686],[97,143,2676,2679,2682,2686],[97,143,2676,2679,2680,2681,2686],[97,143,482],[97,143,430,493,494],[97,143,201,202,204,216,240,355,366,475],[97,143,204,235,236,237,239,475],[97,143,204,372,374,376,377,379,475,477],[97,143,204,238,275,475],[97,143,202,204,215,216,222,228,233,354,355,356,365,475,477],[97,143,475],[97,143,211,217,236,256,351],[97,143,204],[97,143,197,211,217],[97,143,383],[97,143,380,381,383],[97,143,380,382,475],[97,143,157,256,454,472],[97,143,157,327,330,346,351,472],[97,143,157,299,472],[97,143,359],[97,143,358,359,360],[97,143,358],[91,97,143,157,197,204,216,222,228,234,236,240,241,254,255,322,352,353,366,475,479],[97,143,201,204,238,275,372,373,378,475,527],[97,143,238,527],[97,143,201,255,425,475,527],[97,143,527],[97,143,204,238,239,527],[97,143,375,527],[97,143,241,354,357,364],[85,97,143,430],[97,143,168,211,226],[97,143,211,226],[85,97,143,296],[85,97,143,217,226,430],[97,143,211,282,296,297,509,516],[97,143,281,510,511,512,513,515],[97,143,332],[97,143,332,333],[97,143,215,217,284,285],[97,143,217,291,292],[97,143,217,286,294],[97,143,291],[97,143,209,217,284,285,286,287,288,289,290,291,294],[97,143,217,284,291,292,293,295],[97,143,217,285,287,288],[97,143,285,287,290,292],[97,143,514],[97,143,217],[85,97,143,205,503],[85,97,143,184],[85,97,143,238,273],[85,97,143,238,366],[97,143,271,276],[85,97,143,272,481],[97,143,2607],[85,89,97,143,157,192,193,194,195,196,479,523],[97,143,157,217],[97,143,157,216,221,302,319,361,362,366,422,424,475,476],[97,143,254,363],[97,143,479],[97,143,203],[85,97,143,208,211,427,443,445],[97,143,168,211,427,442,443,444,526],[97,143,436,437,438,439,440,441],[97,143,438],[97,143,442],[97,143,226,390,391,393],[85,97,143,217,384,385,386,387,392],[97,143,390,392],[97,143,388],[97,143,389],[85,97,143,226,272,481],[85,97,143,226,480,481],[85,97,143,226,481],[97,143,319,320],[97,143,320],[97,143,157,476,481],[97,143,349],[97,142,143,348],[97,143,211,217,223,225,327,340,344,346,424,427,464,465,472,476],[97,143,217,266,288],[97,143,327,338,341,346],[85,97,143,208,211,327,330,346,349,383,431,432,433,434,435,446,447,448,449,450,451,452,453,527],[97,143,208,211,236,327,334,335,336,339,340],[97,143,173,217,236,338,345,427,428,472],[97,143,342],[97,143,157,168,205,217,221,231,263,264,267,319,322,387,422,423,464,475,476,477,479,527],[97,143,208,209,211],[97,143,327],[97,142,143,236,263,264,321,322,323,324,325,326,476],[97,143,346],[97,142,143,210,211,221,225,261,327,334,335,336,337,338,341,342,343,344,345,465],[97,143,157,261,262,334,476,477],[97,143,236,264,319,322,327,424,476],[97,143,157,475,477],[97,143,157,173,472,476,477],[97,143,157,168,197,211,216,223,225,228,231,238,258,263,264,265,266,267,302,303,305,308,310,313,314,315,316,318,366,422,424,472,475,476,477],[97,143,157,173],[97,143,204,205,206,234,472,473,474,479,481,527],[97,143,201,202,475],[97,143,395],[97,143,157,173,184,213,379,383,384,385,386,387,393,394,527],[97,143,168,184,197,211,213,225,228,264,303,308,318,319,372,399,400,401,408,411,412,422,424,472,475],[97,143,228,234,241,254,264,322,475],[97,143,157,184,205,216,225,264,406,472,475],[97,143,426],[97,143,157,395,409,410,419],[97,143,472,475],[97,143,324,465],[97,143,225,263,366,481],[97,143,157,168,203,308,368,372,401,408,411,414,472],[97,143,157,241,254,372,415],[97,143,204,265,366,417,475,477],[97,143,157,184,387,475],[97,143,157,238,265,366,367,368,377,395,416,418,475],[91,97,143,157,263,421,479,481],[97,143,317,422],[97,143,157,168,211,214,216,217,223,225,231,240,241,254,264,267,303,305,315,318,319,366,399,400,401,402,404,407,422,424,472,481],[97,143,157,173,241,408,413,419,472],[97,143,244,245,246,247,248,249,250,251,252,253],[97,143,258,309],[97,143,311],[97,143,309],[97,143,311,312],[97,143,157,215,216,217,221,222,476],[97,143,157,168,203,205,223,227,263,266,267,301,422,472,477,479,481],[97,143,157,168,184,207,214,215,225,227,264,420,465,471,476],[97,143,334],[97,143,335],[97,143,217,228,464],[97,143,336],[97,143,210],[97,143,212,224],[97,143,157,212,216,223],[97,143,219,224],[97,143,220],[97,143,212,213],[97,143,212,268],[97,143,212],[97,143,214,258,307],[97,143,306],[97,143,211,213,214],[97,143,214,304],[97,143,211,213],[97,143,263,366],[97,143,464],[97,143,157,184,223,225,229,263,366,421,424,427,428,429,455,456,459,463,465,472,476],[97,143,277,280,282,283,296,297],[85,97,143,194,195,196,226,457,458],[85,97,143,194,195,196,226,457,458,462],[97,143,350],[97,143,236,257,262,263,327,328,329,330,331,333,346,347,349,352,421,424,475,477],[97,143,296],[97,143,157,301,472],[97,143,301],[97,143,157,223,269,298,300,302,421,472,479,481],[97,143,277,278,279,280,282,283,296,297,480],[91,97,143,157,168,184,212,213,225,231,263,264,267,366,419,420,422,472,475,476,479],[97,143,208,211,218],[97,143,262,264,396,399],[97,143,262,397,466,467,468,469,470],[97,143,157,258,475],[97,143,157],[97,143,261,346],[97,143,260],[97,143,262,315],[97,143,259,261,475],[97,143,157,207,262,396,397,398,472,475,476],[85,97,143,211,217,295],[85,97,143,209],[97,143,199,200],[85,97,143,205],[85,97,143,211,281],[85,91,97,143,263,267,479,481],[97,143,205,503,504],[85,97,143,276],[85,97,143,168,184,203,270,272,274,275,481],[97,143,211,238,476],[97,143,211,403],[85,97,143,155,157,168,201,203,276,374,479,480],[85,97,143,192,193,194,195,196,479,524],[85,86,87,88,89,97,143],[97,143,148],[97,143,369,370,371],[97,143,369],[85,89,97,143,157,159,168,191,192,193,194,195,196,197,203,231,236,414,442,477,478,481,524],[97,143,489],[97,143,491],[97,143,495],[97,143,2608],[97,143,497],[97,143,499,500,501],[97,143,505],[90,97,143,483,488,490,492,496,498,502,506,508,518,519,521,525,526,527,528],[97,143,507],[97,143,517],[97,143,272],[97,143,520],[97,142,143,262,396,397,399,466,467,469,470,522,524],[97,143,191],[85,97,143,1603],[85,97,143,1602],[97,143,1602,1605],[97,143,2854,2855,2860],[97,143,2856,2857,2859,2861],[97,143,2860],[97,143,2857,2859,2860,2861,2862,2864,2866,2867,2868,2869,2870,2871,2872,2876,2891,2902,2905,2909,2917,2918,2920,2923,2926,2929],[97,143,2860,2867,2880,2884,2893,2895,2896,2897,2924],[97,143,2860,2861,2877,2878,2879,2880,2882,2883],[97,143,2884,2885,2892,2895,2924],[97,143,2860,2861,2866,2885,2897,2924],[97,143,2861,2884,2885,2886,2892,2895,2924],[97,143,2857],[97,143,2863,2884,2891,2897],[97,143,2891],[97,143,2860,2880,2887,2889,2891,2924],[97,143,2884,2891,2892],[97,143,2893,2894,2896],[97,143,2924],[97,143,2873,2874,2875,2925],[97,143,2860,2861,2925],[97,143,2856,2860,2874,2876,2925],[97,143,2860,2874,2876,2925],[97,143,2860,2862,2863,2864,2925],[97,143,2860,2862,2863,2877,2878,2879,2881,2882,2925],[97,143,2882,2883,2898,2901,2925],[97,143,2897,2925],[97,143,2860,2884,2885,2886,2892,2893,2895,2896,2925],[97,143,2863,2899,2900,2901,2925],[97,143,2860,2925],[97,143,2860,2862,2863,2883,2925],[97,143,2856,2860,2862,2863,2877,2878,2879,2881,2882,2883,2925],[97,143,2860,2862,2863,2878,2925],[97,143,2856,2860,2863,2877,2879,2881,2882,2883,2925],[97,143,2863,2866,2925],[97,143,2866],[97,143,2856,2860,2862,2863,2865,2866,2867,2925],[97,143,2865,2866],[97,143,2860,2862,2866,2925],[97,143,2926,2927],[97,143,2856,2860,2866,2867,2925],[97,143,2860,2862,2904,2925],[97,143,2860,2862,2903,2925],[97,143,2860,2862,2863,2891,2906,2908,2925],[97,143,2860,2862,2908,2925],[97,143,2860,2862,2863,2891,2907,2925],[97,143,2860,2861,2862,2925],[97,143,2911,2925],[97,143,2860,2906,2925],[97,143,2913,2925],[97,143,2860,2862,2925],[97,143,2910,2912,2914,2916,2925],[97,143,2860,2862,2910,2915,2925],[97,143,2906,2925],[97,143,2891,2925],[97,143,2863,2864,2867,2868,2869,2870,2871,2872,2876,2891,2902,2905,2909,2917,2918,2920,2923,2928],[97,143,2860,2862,2891,2925],[97,143,2856,2860,2862,2863,2887,2888,2890,2891,2925],[97,143,2860,2869,2919,2925],[97,143,2860,2862,2921,2923,2925],[97,143,2860,2862,2923,2925],[97,143,2860,2862,2863,2921,2922,2925],[97,143,2861],[97,143,2858,2860,2861],[97,143,1285],[97,143,1088,1285,1286],[97,143,568],[97,143,566,568],[97,143,557,565,566,567,569,571],[97,143,555],[97,143,558,563,568,571],[97,143,554,571],[97,143,558,559,562,563,564,571],[97,143,558,559,560,562,563,571],[97,143,555,556,557,558,559,563,564,565,567,568,569,571],[97,143,571],[97,143,553,555,556,557,558,559,560,562,563,564,565,566,567,568,569,570],[97,143,553,571],[97,143,558,560,561,563,564,571],[97,143,562,571],[97,143,563,564,568,571],[97,143,556,566],[97,143,1330],[85,97,143,1041],[97,143,1041,1042,1043,1044,1045,1048,1049,1050,1051,1052,1053,1054,1057,1058],[97,143,1041],[97,143,1046,1047],[85,97,143,1038,1041],[97,143,1035,1036,1038],[97,143,1031,1034,1036,1038],[97,143,1035,1038],[85,97,143,1026,1027,1028,1031,1032,1033,1035,1036,1037,1038],[97,143,1028,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040],[97,143,1035],[97,143,1029,1035,1036],[97,143,1029,1030],[97,143,1034,1036,1037],[97,143,1034],[97,143,1026,1031,1034,1036,1037],[85,97,143,1031,1034,1035,1036],[97,143,1055,1056],[85,97,143,2239],[85,97,143,2238],[97,143,2674],[85,97,143,2633,2642,2671,2673],[85,97,143,2090,2091,2138],[97,143,2183,2184],[97,143,2090],[97,143,2138],[85,97,143,2185],[85,97,143,2057,2067,2070,2072,2078,2079,2086,2088,2089,2091,2092,2093,2095,2135,2138],[85,97,143,2078,2138],[85,97,143,2057,2067,2070,2072,2077,2079,2088,2090,2091,2092,2096,2098,2099,2135,2138],[85,97,143,2088,2096,2140],[85,97,143,2071,2138],[85,97,143,2056,2057,2059,2067,2138],[85,97,143,2057,2067,2088,2129,2138],[85,97,143,2057,2097,2118,2122,2138],[85,97,143,2070,2079,2091,2092,2105,2106,2138,2179],[97,143,2056,2138],[97,143,2067,2138],[85,97,143,2057,2067,2070,2072,2078,2079,2091,2092,2117,2135,2138],[85,97,143,2057,2059,2096,2109,2162],[85,97,143,2055,2057,2059,2109],[85,97,143,2057,2059,2087,2109,2110,2138],[85,97,143,2057,2067,2070,2074,2078,2079,2091,2092,2106,2119,2121,2135,2138],[85,97,143,2061,2067,2138],[85,97,143,2061,2067,2135,2138],[85,97,143,2138],[85,97,143,2138,2195],[85,97,143,2096,2106,2138],[85,97,143,2056,2106,2138],[85,97,143,2106,2138],[85,97,143,2068],[85,97,143,2057,2106,2138],[85,97,143,2055,2057,2138],[85,97,143,2056,2057,2058,2138],[85,97,143,2056,2057,2059,2138,2195],[85,97,143,2080,2081,2082],[85,97,143,2067,2069,2070,2081,2106,2138,2141],[97,143,2128,2138],[97,143,2067,2068,2087,2133,2135,2138],[97,143,2055,2056,2057,2059,2060,2061,2067,2068,2070,2078,2079,2080,2083,2087,2089,2090,2091,2092,2093,2094,2096,2097,2106,2109,2111,2117,2118,2119,2121,2122,2123,2130,2133,2134,2135,2138,2139,2140,2142,2143,2144,2145,2146,2147,2148,2149,2151,2153,2155,2156,2157,2158,2159,2160,2163,2164,2165,2166,2167,2168,2169,2170,2171,2172,2173,2174,2175,2176,2177,2178,2179,2180,2181,2182,2183,2184,2185,2186,2187,2189,2190,2191,2192,2193,2194],[85,97,143,2057,2070,2072,2079,2091,2092,2101,2103,2105,2120,2138,2154,2195],[85,97,143,2057,2061,2067,2110,2138,2152],[85,97,143,2057,2067],[85,97,143,2057,2061,2067,2110,2138,2150],[85,97,143,2057,2079,2087,2091,2092,2102,2110,2138],[85,97,143,2057,2067,2070,2072,2077,2079,2088,2091,2092,2135,2138,2146,2154,2157],[85,97,143,2077,2138],[85,97,143,2090,2138],[97,143,2062,2066,2138],[97,143,2060,2061,2062,2066,2135,2138],[97,143,2062,2066,2071],[97,143,2062,2066,2105,2123,2138],[97,143,2062,2066,2067,2072,2073,2074,2095,2099,2100,2103,2104,2138],[97,143,2062,2066,2080,2083,2138],[97,143,2062,2066,2106,2138],[97,143,2062,2066,2067],[97,143,2062,2066],[97,143,2062,2063,2066,2067,2109,2111],[97,143,2062,2063,2066,2067,2138],[97,143,2062,2066,2068,2094,2138],[97,143,2086,2105,2128,2138],[97,143,2067,2072,2085,2086,2087,2105,2112,2115,2124,2128,2130,2131,2132,2134,2138],[97,143,2067,2072,2085,2086],[97,143,2128],[97,143,2066,2067,2072,2084,2105,2106,2107,2108,2112,2113,2114,2115,2116,2124,2125,2126,2127],[97,143,2062,2066,2067,2069,2070,2105,2138],[97,143,2072,2085,2094,2105,2138],[97,143,2085,2098,2105],[97,143,2072,2105,2138],[85,97,143,2070,2101,2102,2105,2138],[97,143,2105],[97,143,2085,2105],[97,143,2070,2072,2105,2138],[97,143,2088,2105,2138],[97,143,2106,2138],[85,97,143,2096,2097,2138],[97,143,2070,2077,2084,2086,2087,2106,2135,2138],[85,97,143,2070,2094,2097,2118,2122,2138,2142,2165,2166,2167,2180],[85,97,143,2070,2138,2142,2151,2153,2155,2156,2158],[85,97,143,2138,2158,2195],[97,143,2067,2138,2188],[97,143,2061,2138],[85,97,143,2105,2119,2120,2122,2138],[97,143,2077,2085,2088,2105],[85,97,143,2101,2161],[85,97,143,2054,2055,2056,2059,2060,2061,2067,2068,2069,2072,2090,2094,2101,2135,2136,2137,2195],[97,143,2062],[97,143,2683,2716,2717],[97,143,2718],[97,143,2671,2672],[97,143,2633,2637,2642,2643,2671],[97,143,547,579,580],[97,143,173,191,405],[97,143,537],[97,143,2639],[97,110,114,143,184],[97,110,143,173,184],[97,105,143],[97,107,110,143,181,184],[97,143,162,181],[97,105,143,191],[97,107,110,143,162,184],[97,102,103,106,109,143,154,173,184],[97,110,117,143],[97,102,108,143],[97,110,131,132,143],[97,106,110,143,176,184,191],[97,131,143,191],[97,104,105,143,191],[97,110,143],[97,104,105,106,107,108,109,110,111,112,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,132,133,134,135,136,137,143],[97,110,125,143],[97,110,117,118,143],[97,108,110,118,119,143],[97,109,143],[97,102,105,110,143],[97,110,114,118,119,143],[97,114,143],[97,108,110,113,143,184],[97,102,107,110,117,143],[97,143,173],[97,105,110,131,143,189,191],[97,143,2637,2641],[97,143,2632,2637,2638,2640,2642],[97,143,3289,3290,3291,3292,3293,3294,3295,3297,3298,3299,3300,3301,3302,3303,3304],[97,143,3291],[97,143,3291,3296],[97,143,2634],[97,143,2635,2636],[97,143,2632,2635,2637],[97,143,2053],[97,143,2076],[97,143,591,592],[97,143,591],[97,143,543],[97,143,154,155,157,158,159,162,173,181,184,190,191,543,544,545,547,548,550,551,552,572,573,577,578,579,580],[97,143,543,544,545,549],[97,143,545],[97,143,576],[97,143,547,580],[97,143,542,611,1186],[97,143,584,603,604,1186],[97,143,534,541,584,596,597,1186],[97,143,606],[97,143,585],[97,143,534,542,584,586,596,605,1186],[97,143,589],[97,143,146,155,173,534,539,541,580,584,586,589,590,593,596,598,599,602,605,607,608,610,1186],[97,143,584,603,604,605,1186],[97,143,580,609,610],[97,143,584,586,593,596,598,1186],[97,143,189,599],[97,143,146,155,173,534,539,541,580,584,585,586,589,590,593,596,597,598,599,602,603,604,605,606,607,608,609,610,1186],[97,143,585,586],[97,143,146,155,173,189,533,534,539,541,542,580,584,585,586,589,590,593,596,597,598,599,602,603,604,605,606,607,608,609,610,1185,1186,1187,1188,1193],[97,143,2006,2007],[97,143,2004,2005,2006,2008,2009,2014],[97,143,2005,2006],[97,143,2014],[97,143,2015],[97,143,2006],[97,143,2004,2005,2006,2009,2010,2011,2012,2013],[97,143,2004,2005,2016],[97,143,1250],[97,143,1250,1253],[97,143,1243,1250,1251,1252,1253,1254,1255,1256,1257],[97,143,1258],[97,143,1250,1251],[97,143,1250,1252],[97,143,1196,1198,1199,1200,1201],[97,143,1196,1198,1200,1201],[97,143,1196,1198,1200],[97,143,1196,1198,1199,1201],[97,143,1196,1198,1201],[97,143,1196,1197,1198,1199,1200,1201,1202,1203,1243,1244,1245,1246,1247,1248,1249],[97,143,1198,1201],[97,143,1195,1196,1197,1199,1200,1201],[97,143,1198,1244,1248],[97,143,1198,1199,1200,1201],[97,143,1259],[97,143,1200],[97,143,1204,1205,1206,1207,1208,1209,1210,1211,1212,1213,1214,1215,1216,1217,1218,1219,1220,1221,1222,1223,1224,1225,1226,1227,1228,1229,1230,1231,1232,1233,1234,1235,1236,1237,1238,1239,1240,1241,1242],[97,143,164,226],[85,97,143,226,1088,1194,1342,1598,2756],[85,97,143,226,617,632,633,715,716,1063,1069,1088,1092,1261,1262,1288,1295,1375,1380,1451,1896,2019,2752],[97,143,226,1194,1262],[97,143,226,624,1261],[97,143,226,1260],[97,143,226,1194,1342,1375,1376,1598,2755,2761],[85,97,143,226,715,1069,1073,1096,1295,1307,1376,1942,2727,2754],[97,143,226,632,633,715,716,1059,1063,1260,1295,1380,1451,1896,2752],[97,143,226,1194,1375,1598,2754,2761],[85,97,143,226,617,1069,1092,1375,1379,2019,2753],[97,143,226,1194,1342,1375,1598,2759,2761],[85,97,143,226,715,1069,1070,1084,1091,1184,1375,1378,2724,2731,2755,2756,2758],[85,97,143,226,715,1142,1144,1156,1184,2757],[97,143,226,631,715,1069,1142,1144,1156,1172,1184,1308],[97,143,226,1091,2759],[97,143,226,1194,1342,1598,2788],[85,97,143,226,617,632,715,1063,1069,1073,1091,1092,1146,1182,1260,1295,1896,1897,1940,2019,2766,2767,2768,2770,2778,2780,2781,2784,2785,2786,2787],[97,143,226,1091,1371,2788],[97,143,226,1194,1342,2720],[85,97,143,226,1182,1194,1342,1598,2796],[85,97,143,226,617,626,632,633,715,716,1025,1059,1062,1063,1069,1075,1076,1078,1080,1091,1092,1096,1182,1264,1265,1300,1307,1893,1904,1907,1908,2740,2769,2791,2793,2794,2795],[85,97,143,226,1182,1194,1342,1598,2761,2794],[85,97,143,226,632,633,715,1025,1069,1076,1077,1096,1151,1182,1265,1307,1405,1897],[85,97,143,226,1194,1267,1342,2761,2798],[85,97,143,226,1267],[97,143,226,1194,1265],[97,143,226,1182],[85,97,143,226,632,633,715,716,1059,1063,1069,1076,1264,2791,2792],[85,97,143,226,1182,1194,1342,1598,2799],[85,97,143,226,1182,1194,1267,1342,2799],[85,97,143,226,617,626,631,632,715,1025,1059,1062,1063,1069,1073,1182,1264,1265,1267,1268,1295,1307,1436,2745,2791,2793,2794,2795,2797,2798],[97,143,226,1182,1267],[85,97,143,226,626,1194,1342,1598,2761,2797],[85,97,143,226,626,715,1025,1069],[85,97,143,226,632,715,1025,1059,1063,1071,1077],[85,97,143,226,1182,1194,1342,1598,2802],[85,97,143,226,617,626,715,1069,1084,1182,1267,1294,1897,2796,2799,2801],[97,143,226,1194,1267,1342,1598,2801],[85,97,143,226,715,1025,1076,1142,1144,1156,1267,2800],[97,143,226,631,715,1069,1096,1142,1144,1156,1172,1267,1308],[85,97,143,226,632,1264,2791],[85,97,143,226,632,633,716,1063,1182,1264,2769,2791,2792],[97,143,226,1091,1494,2802],[97,143,226,1194,1342,2749],[85,97,143,226,518,626,1091,1494,1912,2611,2748],[85,97,143,226,1091,2627,2749],[97,143,226,1194,1342,1598,2816],[85,97,143,226,1295,1316,2815],[85,97,143,226,631,715],[97,143,226,1091,1371,2816,2817],[85,97,143,226,1194,1342,1598,2820],[85,97,143,226,617,632,715,716,1063,1069,1077,1092,1260,1269,1408,1896,2019],[85,97,143,226,616,1088,1194,1342,1598,2824],[85,97,143,226,617,715,1069,1084,1091,1271,1295,1315,1408,2616,2724,2731,2820,2822,2823],[97,143,226,1194,1269],[97,143,226,616,1161,1194,1342,1407,1408,1598,2761,2822],[85,97,143,226,616,632,715,1061,1151,1156,1383,1407,1408,2821],[97,143,226,631,715,1069,1142,1144,1156,1172,1308,1408,1641],[85,97,143,226,624,1194,1342,1598,2823],[85,97,143,226,617,632,715,716,1059,1063,1069,1077,1092,1269,1408,1896],[97,143,226,1091,2824],[85,97,143,226,1194,1342,2761,2841],[85,97,143,226,617,715,1069,1071,1073,1182,1295,1409,1954,2203,2830,2832,2836,2840],[85,97,143,226,1194,1342,1598,2761,2832],[85,97,143,226,715,1069,1295,2831],[85,97,143,226,1272,1273,2834],[85,97,143,226,632,633,1059,1071,1076,1272,1273,1896,2769],[97,143,226,1194,1272,1273],[97,143,226,1272],[97,143,226,1194,1342,1598,2836],[85,97,143,226,617,715,1059,1069,1077,1079,1182,1272,1273,2833,2834,2835],[97,143,226,1194,1342,2833],[85,97,143,226,716],[85,97,143,226,1275,1276,2837],[85,97,143,226,632,633,1059,1076,1275,1276,1896,2769],[85,97,143,226,1194,1275,1342,1598,2761,2839],[85,97,143,226,716,1275],[97,143,226,1067,1194,1276],[97,143,226,1067,1171,1275],[97,143,226,617,1088,1182,1194,1342,1598,2840],[97,143,226,617,1067,1088,1182,1194,1342,1598,2840],[85,97,143,226,617,1059,1069,1171,1275,1276,1307,1425,2838,2839],[97,143,226,1091,2841],[85,97,143,226,1091,1182,1948],[97,143,226,1194,1278],[97,143,226,624],[85,97,143,226,616,1088,1157,1194,1278,1289,1342,2944],[85,97,143,226,616,716,1025,1073,1096,1146,1157,1161,1278,1281,1289,1295,2942,2943],[97,143,226,1194,1280,1342,2940],[85,97,143,226,715,1025,1073,1146,1161,1281,1291,1295,2830],[97,143,226,1182,1194,1280,1281],[97,143,226,1161,1182,1280],[85,97,143,226,1088,1194,1342,2945],[85,97,143,226,715,1291,1295,1360,2851,2852,2941,2944],[97,143,226,1194,1283],[97,143,226,1194,1342,2941],[85,97,143,226,617,1182,1291,2939,2940],[97,143,226,1194,1342,1598,2852],[85,97,143,226,617,632,715,1025,1063,1069,1073,1076,1182,1260,1283,1307,1896,2019],[85,97,143,226,616,1194,1292,1342,1436,1598,2942],[85,97,143,226,616,632,716,1061,1069,1073,1075,1091,1096,1146,1157,1281,1292,1436,1454,1892],[85,97,143,226,1157,1194,1278,1342,2943],[85,97,143,226,1073,1102,1103,1105,1157,1278,2203],[97,143,226,1182,1194,1280,1342,1598,2851],[85,97,143,226,715,1073,1161,1182,1280,1281,1291,1295,1360,1944,2203,2830],[97,143,226,1278,1288],[97,143,226,1194,1291,1342],[85,97,143,226,1084,1182,1280,1290],[97,143,226,1194,1292],[97,143,226,617,624,1088,1091,1288],[97,143,226,1091,2945],[85,97,143,226,1194,1296,1304,1342,1598,2761],[85,97,143,226,632,715,1025,1063,1069,1071,1080,1296,1299,1300],[97,143,226,1194,1296,1302,1342,1598,2761],[85,97,143,226,1194,1296,1299,1302,1342,1598,2761],[85,97,143,226,632,715,1025,1063,1069,1070,1071,1296,1299,1300],[85,97,143,226,1194,1321,1342,1598,2761],[85,97,143,226,715,1069,1077,1079,1092,1294,1295,1296,1301,1302,1303,1304,1313,1314,1317,1319,1320],[85,97,143,226,1194,1317,1342,1598,2761],[85,97,143,226,632,1061,1316],[97,143,226,1296,1301,1302,1303,1304,1317,1318,1319,1320,1321],[85,97,143,226,1194,1305,1313,1342,1598,2761],[85,97,143,226,632,715,1069,1075,1080,1146,1305,1311,1312],[85,97,143,226,1194,1296,1305,1311,1342,1598,2761],[85,97,143,226,715,1062,1069,1073,1096,1146,1161,1296,1305,1307,1310],[85,97,143,226,1194,1305,1309,1310,1598,2761],[85,97,143,226,715,1069,1305,1308,1309],[97,143,226,1194,1296,1305,1309],[97,143,226,1161,1296,1305],[97,143,226,1296],[97,143,226,1194,1296,1305,1312,1342],[85,97,143,226,1182,1296,1305],[85,97,143,226,1194,1301,1342,1598,2761],[85,97,143,226,632,715,1069,1296,1297,1299,1300],[97,143,226,1194,1318],[97,143,226,1299],[85,97,143,226,1194,1299,1303,1342,1598,2761],[97,143,226,617,1194,1319,1342],[85,97,143,226,617,1182,1296,1299,1318],[97,143,226,617,1194,1320,1342],[97,143,226,1091,1322],[97,143,226,1194,1342,1598,3030],[85,97,143,226,633,715,1069,1075,1079,1092],[97,143,226,1194,1342,1598,3041],[85,97,143,226,632,633,715,716,1061,1069,1076],[97,143,226,1088,1194,1342,1598,3033],[85,97,143,226,715,1069,1088,1096,1171,1182,1295,1307,1965,3030,3031,3032],[97,143,226,1088,1182,1194,1342,3036],[85,97,143,226,1182,1954,2830,3033,3035],[97,143,226,1088,1182,1194,1342,1598,3035],[85,97,143,226,715,1069,1088,1142,1144,1156,1182,1307,1965,3030,3032,3034],[85,97,143,226,1194,1342,2761,3034],[85,97,143,226,1073,2203],[97,143,226,1194,1342,2761,3038],[97,143,226,1091,1360,3036,3037],[85,97,143,226,1182,1194,1342,1598,2761,2985],[85,97,143,226,1194,1342,2761,2985],[85,97,143,226,617,632,633,716,1025,1059,1063,1069,1071,1072,1092,1182,1300,1307,1348,2976,2977,2978,2979,2980,2981,2983,2984],[85,97,143,226,715,716,1069,1096,1142,1144,1156,1351],[85,97,143,226,1182,1194,1342,1598,2976],[85,97,143,226,716,1063,1073,1076,1182,1638,2975],[85,97,143,226,715,716,1069,1071,1073,1077,1096,1142,1144,1156,1182,1351],[97,143,226,1194,1598,2761,2977],[85,97,143,226,617,715,1069,1073,1182,1307,2969,2970,2971,2972,2973,2974,2976],[97,143,226,1194,2761,2989],[85,97,143,226,1073,1096,2972,2973,2988],[97,143,226,1194,1342,1598,2990],[85,97,143,226,715,1062,1897,2976,2977,2989],[97,143,226,1194,1598,2761,2972,2973,2974,2988],[97,143,226,1194,1342,1598,2970],[85,97,143,226,632,716,1069,1092,1351,1352],[97,143,226,1194,1342,1598,2971],[85,97,143,226,632,633,716,1069,1092,1351,1352],[85,97,143,226,715,716,1069,1142,1144,1156,1351],[97,143,226,1194,1342,1598,2969],[85,97,143,226,716,1069,1071,1092,1351,1352],[85,97,143,226,1194,1342,1598,1638],[85,97,143,226,1071],[85,97,143,226,1194,1342,1598,2975],[85,97,143,226,632],[97,143,226,1182,1194,1342,1353,1598],[85,97,143,226,617,632,633,715,716,1069,1071,1076,1077,1092,1182,1307],[97,143,226,1353],[97,143,226,1194,1342,1349,1598,2997],[85,97,143,226,715,1070,1349,2995,2996],[97,143,226,1194,1342,1349,1598,2995],[85,97,143,226,715,1300,1349],[97,143,226,1194,1349],[97,143,226,1348],[97,143,226,1194,1342,1349,2996],[85,97,143,226,715,1069,1300,1347,1349,2985],[97,143,226,1182,1194,1342,1598,2761,2991],[97,143,226,1182,1194,1342,1598,2991],[85,97,143,226,617,632,633,715,716,1025,1059,1062,1063,1069,1073,1096,1161,1182,1295,1300,1348,1353,2978,2979,2980,2983,2984,2990],[97,143,226,1194,1348],[97,143,226,530],[85,97,143,226,632,716,1069,1072,1878,2769,2978],[85,97,143,226,632,716,1063,1072,1081,1182,1307,1348,1878,2769,2978],[97,143,226,1194,1342,1598,2028,2987],[85,97,143,226,715,1142,1144,1156,2028,2986],[85,97,143,226,715,716,1025,1059,1063],[85,97,143,226,1182,1194,1342,1348,2999],[85,97,143,226,617,631,715,1069,1084,1182,1295,1308,1348,1354,2028,2731,2985,2987,2991,2994,2997,2998],[97,143,226,631,715,1069,1142,1144,1156,1172,1300,1308,1348,2028],[97,143,226,1194,1342,1598,2993],[85,97,143,226,617,633,715,1025,1069,1307,2992],[97,143,226,1194,1342,1598,2994],[85,97,143,226,617,715,1070,1073,1182,1307,2993],[97,143,226,1194,1342,1598,2992],[85,97,143,226,617,715,1069,1073],[85,97,143,226,632,715,716,1059,1063,1069,1070,1071,2978],[97,143,226,1194,1342,2028,2982],[85,97,143,226,715,716,1025,1069,1071,1096,1151,2028],[97,143,226,1194,1342,2983],[85,97,143,226,2028,2982],[97,143,226,1091,1182,1194,1342,1598,2761,2998],[97,143,226,1091,1182,1194,1342,2761,2998],[85,97,143,226,617,632,633,715,716,1025,1063,1069,1084,1091,1092,1182,1260,1405,1406,1432,1893,1896,2019,2283],[85,97,143,226,1194,1342,1598,2984],[85,97,143,226,632,633,715,716,1025,1062,1069,1073],[97,143,226,1091,2999],[97,143,226,1084,1088,1091,1182,1375],[85,97,143,226,1088,1091,1182,1194,1342,1375],[97,143,226,1084,1088,1089,1091,1182],[97,143,226,1088,1091,1182,1375],[85,97,143,226,1088,1182,1194,1267,1342,1380],[97,143,226,1084,1088,1089,1091,1182,1267],[97,143,226,1088,1089,1182],[97,143,226,1088,1182],[97,143,226,1194,1383],[97,143,226,1142,1144],[85,97,143,226,624,1088,1089,1091,1142,1144,1182,1383,1407],[97,143,226,1194,1342,1409],[97,143,226,624,1091,1288],[85,97,143,226,1088,1194,1342,1411],[85,97,143,226,1088,1194,1342,1413],[85,97,143,226,1088,1194,1342,1415],[85,97,143,226,1088,1194,1342,1417,1418],[97,143,226,1088,1089,1182,1417],[97,143,226,1089,1194],[85,97,143,226,1088,1142,1144,1194,1342,1407],[85,97,143,226,624,1088,1142,1144,1405,1406],[97,143,226,1088,1421,1422],[97,143,226,1088,1089,1091,1421],[97,143,226,1067,1088,1089,1091,1182],[85,97,143,226,1088,1182,1194,1342,1426],[97,143,226,1088,1089,1091,1182],[97,143,226,1194,1342,1428],[97,143,226,624,1084,1091,1288],[85,97,143,226,1088,1182,1194,1342,1430],[85,97,143,226,1088,1182,1194,1342,1434],[97,143,226,626,1088,1091,1182,1436],[85,97,143,226,626,1088,1194,1342,1436],[97,143,226,626,1088,1089,1091,1182],[97,143,226,1088,1091,1182,1436],[85,97,143,226,1088,1182,1194,1342,1440],[97,143,226,1088,1091,1182],[85,97,143,226,1088,1091,1182,1194,1342,1447],[85,97,143,226,1088,1091,1182,1194,1342,1449],[85,97,143,226,1088,1089,1091,1182],[85,97,143,226,1088,1091,1182,1194,1342,1451],[97,143,226,1066,1088,1089,1091,1182],[85,97,143,226,1088,1182,1194,1342,1454],[85,97,143,226,1088,1157,1182,1194,1342],[85,97,143,226,1088,1182,1194,1342,1457],[97,143,226,1088,1089,1090,1182],[85,97,143,226,1088,1182,1194,1342,1358],[85,97,143,226,1088,1194,1342,1460,1461],[97,143,226,1088,1091,1182,1460],[85,97,143,226,1088,1194,1342,1460,1463],[85,97,143,226,1088,1194,1342,1460,1465],[97,143,226,1084,1088,1091,1182,1460],[85,97,143,226,1088,1194,1342,1460],[85,97,143,226,1088,1194,1342,1460,1468],[85,97,143,226,1088,1182,1194,1342,1470],[85,97,143,226,1088,1194,1342,1472],[97,143,226,1088,1089,1370],[85,97,143,226,1088,1194,1342,1474],[97,143,226,1088,1089,1091,1182,1477],[97,143,226,1194,1342,1479],[97,143,226,1194,1342,1481],[97,143,226,1091,1288,1479],[85,97,143,226,1088,1182,1194,1342,1483],[85,97,143,226,1088,1182,1194,1342,1485],[85,97,143,226,1088,1091,1194,1342,1487],[97,143,226,1088,1091,1182,1472],[85,97,143,226,623,1088,1182,1194,1342,1490],[97,143,226,623,1088,1089,1091,1182],[97,143,226,1194,1492],[97,143,226,616,1088,1089,1091,1182],[85,97,143,226,626,1088,1182,1183,1194,1342,1494],[97,143,226,626,1084,1088,1089,1091,1182,1183],[85,97,143,226,1088,1090,1182,1194,1342],[85,97,143,226,1088,1182,1194,1342,1497,1498],[97,143,226,1497],[85,97,143,226,1088,1182,1194,1342,1497],[85,97,143,226,1088,1182,1194,1342,1501],[85,97,143,226,1088,1091,1194,1342],[85,97,143,226,620,622,1083,1088,1091,1182,1194,1342],[85,97,143,226,620,622,1083,1084,1090,1182],[97,143,226,1091,1357,1359],[85,97,143,226,1361],[97,143,226,1194,1342,1361,1364],[97,143,226,1194,1342,1361,1366],[97,143,226,1182,1194,1342,1359],[97,143,226,1084,1091,1358],[97,143,226,620,1083,1371],[97,143,226,1088,1182,1503],[85,97,143,226,1088,1182,1194,1342,1505],[85,97,143,226,1088,1182,1194,1342,1507],[97,143,226,1194,1342,1373,1374],[85,97,143,226,518,1373],[85,97,143,226,626,1091,1183],[97,143,226,1182,1194,1342,2611,2720],[85,97,143,226,518,616,1173,1182,1936,2611,2621,2624,2626,2627,2628,2629,2630,2631,2719],[97,143,226,1091,3060],[97,143,226,1091,3080],[85,97,143,226,632,715,1025,1064,1517,2001,2769],[97,143,226,619,1182,1194,1342,1598,1599,3106],[97,143,226,1182,1194,1342,1598,1599,3106],[85,97,143,226,530,617,619,632,715,716,1025,1059,1064,1066,1069,1077,1084,1092,1182,1307,1509,1511,1512,1517,1519,2001,2769,3086,3087,3089,3090,3092,3093,3094,3095,3096,3097,3098,3099,3101,3102,3103,3104,3105],[97,143,226,618,1194,1509],[97,143,226,618,1066],[97,143,226,1194,1512],[97,143,226,1066,1511],[85,97,143,226,715,1025,1064,1066,1076,1517],[97,143,226,1066,1514],[97,143,226,1066,1194,1511,1512,1514,1515],[97,143,226,1066,1511,1512],[85,97,143,226,1059,1064,1194,1342,1598,3103],[85,97,143,226,632,715,716,1025,1059,1064,1069,1070,1517,1519,2001],[85,97,143,226,632,633,715,1025,1064,1072,1517,2001,2769],[97,143,226,3118,3123],[85,97,143,226,1194,1342,1598,3107],[85,97,143,226,715,1061,1069,1073,1076,1161,1182,1295,1897],[85,97,143,226,1194,1342,1598,3096],[85,97,143,226,715,1069,1073,1077,1307,1897],[97,143,226,1066,1182,1194,1342,1598,3115],[85,97,143,226,631,715,1066,1069,1070,1092,1145,1182,1298,3106],[97,143,226,1194,1342,1598,3095],[85,97,143,226,715,1025,1066,1070,1073,1077,1096],[97,143,226,1194,1342,3110],[85,97,143,226,1066],[85,97,143,226,1066,1182,1194,1342,3109],[85,97,143,226,617,618,1182,1194,1342,1598,1599,3109],[85,97,143,226,617,618,619,632,633,715,716,1025,1059,1064,1066,1069,1072,1182,1295,1511,1514,1517,1519,1897,2001,2563,2769,3089,3090,3092,3093,3094,3095,3097,3098,3099,3102,3103,3104],[97,143,226,1066,1194,1342,1598,3111],[85,97,143,226,618,715,1066,1069,1073,1096,1161,1295,1511,3109,3110,3124],[85,97,143,226,1088,1182,1194,1342,1598,3118],[85,97,143,226,617,618,715,716,1025,1066,1069,1070,1084,1088,1096,1182,1294,1295,1307,1449,1451,1940,2272,3083,3085,3106,3107,3108,3111,3113,3114,3115,3116,3117],[85,97,143,226,1194,1342,3097],[85,97,143,226,631,632,633,715,1069,1070,1073,1096,1151,1307,1511,1906],[97,143,226,619,1088,1182,1194,1342,3123],[85,97,143,226,618,619,631,715,1066,1069,1070,1073,1088,1096,1182,1298,1307,2272,2563,3120,3121,3122],[97,143,226,1064,1194,1517],[85,97,143,226,1059,1064],[85,97,143,226,1059,1064,1194,1342,1519],[97,143,226,1059,1064],[85,97,143,226,1059,1064,1342],[85,97,143,226,1194,1342,1598,3102],[85,97,143,226,530,631,715,1025,1070,1300],[97,143,226,1182,1194,1342,1598,3114],[85,97,143,226,632,715,1069,1073,1096,1182,1307,2817],[85,97,143,226,1194,1342,1598,3099,3131],[85,97,143,226,715,1025,1059,1063,1064,1066,1069,1070,1072,1076,1077,1517,1519,1897,2001],[85,97,143,226,1066,1181,1194,1342,3108],[85,97,143,226,631,715,1025,1066,1069,1096,1300,1308,1511],[97,143,226,1066,1194,3082],[97,143,226,1066],[85,97,143,226,617,715,1066,1182,3082],[85,97,143,226,1066,1088,1182,1194,1342,1451,1453,1598,3085],[85,97,143,226,617,632,715,1063,1066,1069,1070,1088,1092,1142,1144,1156,1182,1260,1307,1451,1453,1896,2019,3084],[97,143,226,1066,1156,1194,1342,1598,3084],[97,143,226,631,715,1066,1069,1142,1144,1156,1161,1172,1182,1308],[97,143,226,1194,1520],[97,143,226,1066,1512],[85,97,143,226,1194,1342,3089,3131],[85,97,143,226,632,633,715,716,1025,1064,1066,1069,1072,1517,2001,2769,3088],[85,97,143,226,632,715,1025,1059,1064,1072,1076,1517],[85,97,143,226,632,715,1025,1064,1066,1517,1519,2001,3100],[97,143,226,1182,1194,1342,1598,3100],[85,97,143,226,631,1182,1307],[85,97,143,226,1194,1342,3092,3131],[85,97,143,226,1061,1064,1066,1069,1151,1517,2769,3091],[85,97,143,226,633,715,1025,1064,1517,2001],[97,143,226,1194,1342,1598],[85,97,143,226,715,716,1025,1064,1517],[85,97,143,226,632,715,716,1025,1059,1064,1072,1517,2001,2769],[85,97,143,226,632,633,715,716,1025,1059,1063,1066,1069,1307,1600,1896],[97,143,226,1066,1194,1600],[97,143,226,1059,1066],[85,97,143,226,1066,1194,1342,1598,3120],[85,97,143,226,617,715,1025,1066,1069,1298,1600,3119],[97,143,226,1066,1194,1342,3090],[85,97,143,226,715,1066,1897],[85,97,143,226,1066,1088,1182,1194,1342,1598,3117],[85,97,143,226,617,715,1063,1066,1069,1088,1092,1096,1182,1260,1307,1896,1897,2019,2769],[97,143,226,1194,1511],[97,143,226,1091,3124],[85,97,143,226,1182,1194,1342,1598,3156],[85,97,143,226,1149,1182],[85,97,143,226,1182,1194,1342,1598,3157],[85,97,143,226,632,633,715,1025,1063,1069,1092,1182,1260,1896,2019],[85,97,143,226,1142,1144,1182,1194,1342,1598,3159],[85,97,143,226,715,1142,1144,1156,1182,3158],[97,143,226,631,715,1069,1142,1144,1172,1182,1308],[85,97,143,226,1088,1182,1194,1342,1598,3160],[85,97,143,226,617,715,1069,1088,1142,1144,1182,1405,1406,2731,3156,3157,3159],[97,143,226,1194,1342,2761,3161],[97,143,226,1091,1360,2817,3037,3160],[97,143,226,1084,1091,3183,3184],[97,143,226,1088,1091,1194,1342,1598,3211,3213],[85,97,143,226,617,715,1088,1091,1142,1144,1157,1182,1405,1454,1494,1616,2038,2731,3210,3211,3212],[97,143,226,1194,1342,1598,2038,3212],[85,97,143,226,631,715,716,1069,1075,1142,1144,1156,2038,2616,3211],[97,143,226,1194,1610,1612],[97,143,226,1103,1157,1182,1610,1611],[97,143,226,1194,1598,2761,3220],[85,97,143,226,617,715,1069,1092,1157,1182,1607,1611,1612,2731,3217,3219],[85,97,143,226,1142,1144,1156,1172,1612,3218],[85,97,143,226,631,715,1069,1096,1142,1144,1156,1172,1308,1612,1614],[97,143,226,1194,1614],[97,143,226,1194,1342,1598,3251],[85,97,143,226,632,715,716,1061,1069],[97,143,226,715,1069,1076,1096,1142,1144,1156,1161,1172,2038,2726,2931,3193],[97,143,226,1194,1342,3256],[85,97,143,226,1091,1454,3255],[97,143,226,1194,1342,1604,1607],[85,97,143,226,1606],[97,143,226,1088,1194,1342,1598,3258],[85,97,143,226,715,1069,1084,1088,1091,1295,1494,1497,1607,1609,1611,1939,3186,3194,3209,3214,3221,3230,3235,3246,3250,3252,3254,3257],[97,143,226,1182,1194,1598,2761,3230],[85,97,143,226,1059,1064,1088,1091,1299,1426,1454,1494,3225,3229],[85,97,143,226,1607,1609,3213],[97,143,226,1084,1091,1494,1497,1611,3220],[97,143,226,1194,1342,1604,3250],[85,97,143,226,1091,1142,1144,1157,1454,1494,1607,1616,3193,3249],[97,143,226,3234],[85,97,143,226,1091,1182,3253],[85,97,143,226,617,1091,1182,1476,1609,3251],[97,143,226,1091,3245],[97,143,226,3256],[85,97,143,226,1157],[97,143,226,1194,1616],[85,97,143,226,1194,1342,1598,2761,3269],[85,97,143,226,716,1069,1071,1073,1146,1161,1169,1172,1182,1295,1357,2203,2748,2830,3267,3268],[97,143,226,1091,2817,3269],[85,97,143,226,1088,1194,1342,1604,3280,3282,3283],[85,97,143,226,617,1069,1088,1157,1182,1358,1606,2731,3275,3278,3280,3282],[85,97,143,226,1182,1194,1342,1598,3282],[85,97,143,226,715,1142,1144,1156,1182,3281],[97,143,226,631,715,1069,1142,1144,1156,1172,1182,1308],[97,143,226,1194,1342,1598,3275],[97,143,226,715,3272,3273,3274],[97,143,226,1091,3283],[97,143,226,1194,1342,2750],[85,97,143,226,518,1083,1173,1182,2611,2627,2749],[85,97,143,226,715,1025,1069,1077],[97,143,226,1194,1342,1598,3384],[85,97,143,226,631,632,715,1025,1151,1944],[85,97,143,226,1194,1342,1598,1622,3406],[85,97,143,226,617,632,633,715,716,1066,1069,1072,1079,1182,1294,1295,1307,1316,1622,2273,3288,3405],[97,143,226,1194,1342,1627,3393],[85,97,143,226,1627],[97,143,226,1194,1342,3385],[85,97,143,226,631,715,1025,1069,1070],[97,143,226,1618],[85,97,143,226,506,715,1627,3387],[85,97,143,226,617,715,1025,1069,1620],[97,143,226,1194,1627,3387],[97,143,226,1627],[97,143,226,1194,1342,1618,1627,3401],[85,97,143,226,715,1066,1315,1618,1626,1627,1630,2675,3392,3393,3394,3395,3396,3397,3399,3400],[97,143,226,1079,1194,1342,1598,2761,3287,3405],[85,97,143,226,617,618,632,715,716,1025,1066,1069,1072,1075,1079,1092,1182,1315,1360,1405,1618,1619,1620,1622,1627,1628,1631,1909,1944,2740,2741,3116,3182,3287,3305,3306,3307,3308,3376,3377,3378,3379,3380,3381,3382,3383,3384,3385,3386,3387,3388,3389,3390,3391,3396,3398,3401,3402,3403,3404],[97,143,226,1194,1342,1598,3395],[85,97,143,226,715,1069,1077,1182,1315],[85,97,143,226,617,715,1025,1076],[97,143,226,1194,1342,1598,1619,3389],[85,97,143,226,1075,1619],[97,143,226,1079,1194,1618,3390],[97,143,226,1079,1618],[97,143,226,1194,1342,1598,3391],[97,143,226,715,1069],[97,143,226,1194,1342,1598,3404],[85,97,143,226,632,715,716,1069,1182,1619],[85,97,143,226,715,1627,3398],[85,97,143,226,715,1069,1077,1627],[85,97,143,226,617,715,1025,1069,1076,1618],[97,143,226,1194,1620],[97,143,226,1194,1342,1598,3287,3411],[85,97,143,226,617,632,715,716,1025,1069,1079,1405,1406,1622,1623,1626,1627,3287,3305,3308,3386,3387,3409,3410],[97,143,226,1194,1342,1598,1623,3409,3411],[85,97,143,226,715,1062,1081,1151,1623,1909,1944,2740,3307,3407,3408,3411],[97,143,226,1194,1342,1627,3407],[85,97,143,226,715,1315,1626,1627,2675,3394,3397,3400],[97,143,226,1194,1342,1598,3410],[85,97,143,226,633,715,1069],[97,143,226,1194,1342,1598,3430],[85,97,143,226,632,1075],[97,143,226,1194,1342,1598,1623,3408],[97,143,226,1071,1307,1623],[97,143,226,1194,1622,1623],[97,143,226,1622],[85,97,143,226,715,1182,1360,1632,1959,2270,2741,3287],[97,143,226,1194,1342,1628],[85,97,143,226,1060,1066,1405,1626,1627],[85,97,143,226,1630],[97,143,226,1182,1627,3305],[97,143,226,1194,1626,3376],[97,143,226,617,1066,1182,1625,1626,1627,2033,3375],[97,143,226,1194,2930,3377],[97,143,226,617,1182,1619,2930],[97,143,226,1194,2930,3378],[97,143,226,617,1182,2930],[97,143,226,1194,3379],[97,143,226,617,1182],[97,143,226,1194,1342,3412],[85,97,143,226,1091,1295,1370,2817,3288,3405,3406,3411],[85,97,143,226,1182,1194,1342,1598,1632,2761,3447],[85,97,143,226,617,715,1025,1062,1063,1069,1080,1091,1092,1182,1260,1307,1632,1633,1635,1896,2019,3445,3446],[97,143,226,1194,1342,1598,1632,2761,3441],[85,97,143,226,617,632,633,715,1025,1062,1063,1069,1072,1075,1080,1091,1092,1096,1182,1260,1307,1632,1896,1897,2019,2028],[85,97,143,226,1194,1342,1598,2761,3452],[85,97,143,226,632,633,715,1025,1069,1073,1075,1092,1151,1182,1307],[85,97,143,226,1194,1342,1598,1632,2761,3444],[85,97,143,226,715,1142,1144,1156,1632,3443],[97,143,226,631,715,1069,1142,1144,1156,1161,1172,1308,1632,3442],[97,143,226,1194,1633],[97,143,226,1632],[85,97,143,226,1194,1342,1598,2761,3450],[85,97,143,226,715,1062,1069,1092,1096,1151],[85,97,143,226,1182,1194,1598,1632,2761,3442],[85,97,143,226,715,1025,1069,1096,1182,1632,1944],[97,143,226,1194,1342,2761,3445],[85,97,143,226,715,1096,1897],[85,97,143,226,1194,1342,1598,2761,3453],[85,97,143,226,617,715,1069,1084,1182,1295,1632,1897,2028,2275,2731,3438,3439,3440,3441,3444,3447,3448,3449,3450,3451,3452],[85,97,143,226,1194,1342,1598,1632,2028,2761,3439],[85,97,143,226,617,632,715,716,1069,1075,1182,1307,1632,2028,2270],[97,143,226,1182,1194,1342,1598,1632,2761,3440],[85,97,143,226,715,1062,1069,1073,1096,1145,1182,1632,1897,3439],[85,97,143,226,1182,1194,1342,1598,2761,3449],[85,97,143,226,617,715,1069,1073,1096,1145,1151,1182],[85,97,143,226,1182,1194,1342,1598,2761,3448],[85,97,143,226,715,1059,1063,1069,1071,1091,1096,1182,1307,1896,1897,3446],[85,97,143,226,1194,1342,1598,1632,2761,3438],[85,97,143,226,715,1142,1144,1156,1632,3437],[97,143,226,631,715,1069,1142,1144,1156,1172,1308,1632],[97,143,226,1194,1635],[85,97,143,226,1194,1342,1598,2761,3451],[85,97,143,226,632,715,1069,1075,1080,1092,1096,1182,1307],[97,143,226,1091,3453],[97,143,226,1194,1460,1598,2761,3474],[85,97,143,226,715,1069,1073,1096,1169,1171,1307,1465,1494,1942,2203,2727,3470,3473],[97,143,226,1194,2761,3473],[85,97,143,226,715,1070,1073,1142,1144,1436,3472],[97,143,226,626,1194,1598,2761,3472],[85,97,143,226,626,715,1142,1144,1156,3471],[97,143,226,626,1142,1144,1172,1174,2727],[97,143,226,1182,1194,1598,2761,3469],[97,143,226,1194,1598,2761,3469],[85,97,143,226,617,715,1069,1092,1307,1461,1637,1913,1914,2019],[97,143,226,1182,1194,1460,1598,2761,3470],[97,143,226,1194,1460,1598,2761,3470],[85,97,143,226,617,715,1069,1092,1307,1460,1468,1637,1913,1914,2019],[85,97,143,226,1194,1598,1637,1913,2019,2761],[85,97,143,226,626,632,633,715,716,1059,1062,1063,1069,1070,1075,1076,1077,1078,1091,1182,1494,1637,1638,1896,1897,1912],[97,143,226,1194,1913,1914],[97,143,226,1913],[97,143,226,1194,1460,1598,1604,2761,3477],[85,97,143,226,715,1069,1070,1460,1494,1606,2724,3469,3474,3476],[97,143,226,1194,1460,1598,1604,2761,3476],[85,97,143,226,715,1142,1144,1156,1460,1606,3475],[97,143,226,715,1096,1142,1144,1145,1156,1172,1460],[97,143,226,1091,3477],[85,97,143,226,617,1182,1194,1342,3494],[85,97,143,226,617,632,715,716,1063,1069,1092,1182,1260,1307,1896,2019],[97,143,226,1182,1194,1342,1598,3514],[85,97,143,226,617,715,716,1069,1084,1182,1294,3491,3493,3494,3513],[97,143,226,1916,3512],[97,143,226,1194,1342,3503],[85,97,143,226,715],[97,143,226,1194,1342,3508],[85,97,143,226,715,1069,1919,1920,3502,3505,3506,3507],[97,143,226,1194,1342,3504],[85,97,143,226,715,1315,1626,1919,2675],[97,143,226,1194,1342,3507],[85,97,143,226,1194,1342,3505],[85,97,143,226,715,1919,3503,3504],[97,143,226,1626],[85,97,143,226,617,1182,1626,1917,1919],[97,143,226,1194,1342,3502],[97,143,226,1194,1342,3500],[85,97,143,226,1073,3499],[85,97,143,226,1916,1917],[85,97,143,226,617,1182,1916,1917,3495,3496,3497,3498,3500,3501,3508,3509,3510,3511],[97,143,226,1194,1342,3497],[85,97,143,226,632,715,1069,1092,1874],[97,143,226,1194,1342,1598,3492],[85,97,143,226,617,715,716,1069,1092,1295,1315],[97,143,226,1194,1342,3496],[85,97,143,226,632,715,716,1069,1096,3492],[97,143,226,1194,1342,3501],[85,97,143,226,715,716,1069,1073,1916,3499],[97,143,226,1194,1342,3509],[85,97,143,226,632,715,1069,1092],[97,143,226,1194,1342,1916,3498],[85,97,143,226,715,1069,1073,1916],[97,143,226,1194,1916,1917],[97,143,226,1916],[97,143,226,1092,1182,1194,1598,2761,3511],[85,97,143,226,715,1069,1096,1145,1182],[85,97,143,226,1182,1194,1342,1598,3493],[85,97,143,226,617,715,1069,1073,1092,1096,1146,1161,1182,1295,3489,3492],[97,143,226,1182,1917],[97,143,226,1182,1194,1342,1598,3491],[85,97,143,226,715,1142,1144,1156,1182,3489,3490],[97,143,226,631,715,1069,1142,1144,1156,1161,1172,1182,1299,1308,3489],[97,143,226,1194,1342,3495],[85,97,143,226,1069,1092],[97,143,226,1194,1342,3499],[85,97,143,226,632,633,715,1069,1096,1944],[97,143,226,1091,2817,3514],[97,143,226,1182,1194,1598,2761,2939],[85,97,143,226,632,715,716,1069,1070,1073,1076,1146,1172,1182,1295,2853,2933,2938],[97,143,226,1091,2939],[97,143,226,1088,1182,1194,1342,1598,3540],[97,143,226,1194,1342,3540],[85,97,143,226,530,617,632,633,715,1025,1059,1063,1069,1071,1084,1088,1092,1182,1260,1300,1307,1896,1921,2019,2769,3538,3539],[97,143,226,3545],[97,143,226,617,1182,1194,1342,1598,3538],[85,97,143,226,617,715,1062,1069,1182,1307],[97,143,226,1194,1921],[97,143,226,1084,1088,1182,1194,1342,1598,3539,3545],[85,97,143,226,617,632,633,716,1063,1069,1084,1088,1092,1182,1260,1307,1896,1921,2019,2731,2769,3539,3540,3542,3544],[97,143,226,1194,1342,1598,2761,3539,3542],[85,97,143,226,715,1142,1144,1156,3539,3541],[97,143,226,631,715,1069,1142,1144,1156,1172,1308,3539],[97,143,226,617,1182,1194,1342,1598,3543],[85,97,143,226,617,632,715,1069,1073,1182,1307],[97,143,226,1161,1194,1342,1598,3539,3544],[85,97,143,226,715,1069,1073,1161,3539,3543],[97,143,226,1091,3546],[85,97,143,226,617,1182,1194,1342,2761,3556],[85,97,143,226,617,628,632,633,715,1025,1063,1069,1071,1092,1182,1260,1307,1896,1999,2019],[97,143,226,628,1182,1194,1342,1598,3559],[85,97,143,226,617,628,1069,1084,1182,1294,3178,3556,3558],[97,143,226,628,1194,1342,1598,3558],[85,97,143,226,628,715,1142,1144,1156,3557],[97,143,226,628,631,715,1069,1096,1142,1144,1156,1161,1172,1308,1999],[97,143,226,1091,3559],[97,143,226,1194,1342,1598,3567],[85,97,143,226,632,633,715,1025,1063,1069,1072,1077,1092,1260,1641,1878,1896,2019],[97,143,226,1182,1194,1342,1598,3568],[85,97,143,226,617,623,715,1069,1182,2731,3564,3566,3567],[97,143,226,623,1182,1194,1342,1598,3564],[85,97,143,226,617,623,632,633,715,1025,1063,1069,1072,1073,1077,1078,1096,1161,1182,1260,1641,1878,1896,1912,2019],[97,143,226,623,1172,1194,1342,1598,3566],[85,97,143,226,623,715,1142,1144,1156,3565],[97,143,226,623,631,715,1069,1096,1142,1144,1156,1172,1308],[97,143,226,1091,3568],[97,143,226,1091,3581],[97,143,226,1091,3588],[97,143,226,1091,3590],[97,143,226,617,1182,1194,1342,1598,3590],[85,97,143,226,617,633,715,1069,1073,1182,1307],[97,143,226,1091,3593],[97,143,226,617,1194,1342,1598,3593],[85,97,143,226,617,632,1061,1069,1073,1182,1307,1936],[97,143,226,1194,1280,1342,2761,3603],[85,97,143,226,1073,1280,2203],[97,143,226,1194,1280,1342,2761,3604],[97,143,226,1194,2761,3605],[85,97,143,226,1142,1144,1156,1169,1172,1280],[97,143,226,1194,1342,3606],[85,97,143,226,1280,3603,3604,3605],[85,97,143,226,1182,1194,1342,1507,1598,3610],[85,97,143,226,715,1025,1069,1073,1142,1144,1156,1161,1172,1182,1280,1290,1295,1300,1357,1897,1925,1926,1954,1955,1963,1979,2203,2725,3268,3597,3599,3606,3607,3608,3609],[97,143,226,1280],[97,143,226,1194,1926],[97,143,226,1161],[97,143,226,1194,1342,3611],[85,97,143,226,715,1025,1073,1076,1142,1144,1156,1161,1172,2203,2931,3600],[97,143,226,1194,1342,1598,3609],[85,97,143,226,1156,1161,1172,1295,2203],[97,143,226,1194,1923],[97,143,226,1194,1342,2761,3612],[85,97,143,226,633,1069,1071,1182,1307,2675],[85,97,143,226,1091,1182,1194,1342,1359,1380,1428,1505,1507,1598,2761,3614],[85,97,143,226,623,626,715,1025,1069,1073,1084,1091,1161,1182,1280,1290,1295,1357,1359,1380,1428,1505,1897,1923,1954,1963,1979,2203,2830,3267,3268,3597,3598,3599,3600,3602,3606,3608,3609,3610,3611,3612,3613],[97,143,226,1194,1342,1598,2761,3613],[85,97,143,226,715,716,1084,1096,1357],[97,143,226,1194,1290],[85,97,143,226,1280],[97,143,226,1091,1358,1494,3614],[97,143,226,617,1182,1194,1598,2761,3627],[85,97,143,226,617,1062,1072,1073,1092,1146,1151,1172,1182,1878,3626],[85,97,143,226,617,1088,1194,1342,1598,1930,2752,3629],[85,97,143,226,617,632,716,1059,1063,1069,1073,1075,1088,1145,1288,1494,1892,1896,1929,1930,2019,2752],[97,143,226,1194,1929,1930],[97,143,226,624,1260,1929],[97,143,226,1194,1929],[97,143,226,3633],[97,143,226,1194,1342,1598,2761,3626],[85,97,143,226,625,632,633,715,716,1025,1063,1069,1072,1078,1084,1151,1260,1641,1896,1904,1907,2019],[85,97,143,226,1088,1194,1342,1598,2761,3633],[85,97,143,226,617,1069,1084,1088,1142,1144,1145,1182,1295,1405,1406,1606,1899,1900,2731,3627,3628,3629,3631,3632],[97,143,226,1194,1342,1598,3632],[97,143,226,1194,1342,1598,2035,3632],[85,97,143,226,617,715,716,1025,1063,1069,1071,1073,1084,1092,1146,1161,1174,1182,1295,1451,1453,1641,1899,2035,2731,2735,3279,3626],[85,97,143,226,1142,1144,1182,1194,1342,1598,3631],[85,97,143,226,632,715,1075,1142,1144,1156,1182,3630],[97,143,226,631,715,1069,1096,1142,1144,1156,1161,1172,1182,1308],[97,143,226,1091,1494,3634],[97,143,226,1079,1182,1194,1342,1598,3652],[97,143,226,1182,1194,1342,1598,3652],[85,97,143,226,617,632,633,715,716,1025,1063,1069,1073,1106,1182,1300,1307,1897,3305,3643,3650,3651],[97,143,226,1106,1194,1342,1598,3650],[85,97,143,226,715,1106,1156,3649],[97,143,226,631,715,1069,1106,1142,1144,1161,1172,1308],[97,143,226,1182,1194,1342,1598,3654],[85,97,143,226,617,715,1069,1084,1106,1177,1182,1295,2273,2731,3645,3646,3648,3652,3653],[85,97,143,226,617,1106,1176,1182],[97,143,226,1176,1177,1194,1342,1598],[85,97,143,226,715,1142,1144,1156,1175,1177],[97,143,226,1142,1144,1156,1172,1174,1177],[97,143,226,1079,1194,1342,3651],[85,97,143,226,632,715,1025,1063,1071,1079,1897],[97,143,226,1106,1194,1342,1598,3653],[85,97,143,226,1071,1073,1106,3647],[97,143,226,617,1182,1194,1342,1598,3648],[85,97,143,226,1182,1194,1342,1598,3648],[85,97,143,226,617,632,633,715,716,1025,1063,1069,1071,1073,1096,1106,1182,1260,1295,1299,1300,1896,2019,3643,3647],[97,143,226,617,1182,1194,1342,1598,3646],[97,143,226,1182,1194,1299,1342,1598,3643,3646],[85,97,143,226,617,632,633,715,716,1025,1059,1063,1069,1070,1071,1079,1092,1182,1260,1300,1896,1897,2019,3643],[97,143,226,1106,1194,1342,1598,3645],[85,97,143,226,715,1106,1142,1144,1156,3644],[97,143,226,631,715,1069,1106,1142,1144,1156,1161,1172,1308,3643],[97,143,226,617,1182,1194,1342,1598,3647],[85,97,143,226,617,633,715,1062,1069,1073,1182,1307],[97,143,226,1091,3654],[97,143,226,1194,1342,2761,3671],[97,143,226,1091,1360,2817,3037,3669],[97,143,226,1194,1342,1598,3669],[85,97,143,226,631,632,715,716,1025,1069,1077,1142,1144,1149,1156,1182,1307],[97,143,226,1991,3679],[97,143,226,1991,3681],[85,97,143,226,518,1991,3683,3684],[97,143,226,1194,1342,3673],[85,97,143,226,518,1091,1173,1497,1936,1991,1996,2626],[97,143,226,1991,3686],[85,97,143,226,1194,1342,1990,3677],[85,97,143,226,518,617,632,715,1069,1079,1145,1299,1626,1937,1944,1989,1991,1996,3382,3675,3676],[97,143,226,1991,3688],[97,143,226,1194,1342,3690],[97,143,226,1091,1936,2626],[97,143,226,1194,1342,3692],[85,97,143,226,518,1091,3683,3684],[97,143,226,526,529,2609,2610,2611,2612,2613],[97,143,226,1088,1090,1182,1194,1342,1598,3694],[97,143,226,620,622,1088,1090,1182,1194,1342,3694],[85,97,143,226,518,620,622,632,715,716,1025,1063,1069,1073,1083,1090,1182,1260,1307,1444,1896,1897,2019,2274,2627,2769],[97,143,226,3694],[85,97,143,226,518,618],[85,97,143,226,518,3183],[85,97,143,226,518,3184],[85,97,143,226,1194,1342,3701],[85,97,143,226,715,1069,1083,1897],[85,97,143,226,1194,1342,3705],[85,97,143,226,518,620,621,1182,1457,3701,3703,3704],[97,143,226,1194,1342,1598,3704],[85,97,143,226,1194,1342,1598,3704],[85,97,143,226,631,632,715,1063,1069,1073,1260,1307,1896,1897,2019,2769],[85,97,143,226,1194,1342,3703],[85,97,143,226,1307],[85,97,143,226,518,3705],[85,97,143,226,626,1161,1194,1280,1342,3597],[85,97,143,226,626,715,1073,1077,1161,1280,1953,1979,2203,3596],[85,97,143,226,632,1061,1073,1076,1080,1081,1102],[97,143,226,617,1079,1105,1157,1182,1194,1598,2278,2606,2761,3215,3217],[85,97,143,226,617,632,715,716,1025,1059,1063,1069,1073,1079,1084,1088,1092,1100,1101,1102,1103,1104,1105,1157,1182,1260,1307,1611,1893,1896,1983,2019,2020,2278,3187,3215,3216],[97,143,226,626,1059,1064,1091,1182,1194,1299,1598,2761,3229],[85,97,143,226,626,715,716,1025,1059,1063,1064,1069,1073,1075,1076,1084,1091,1092,1182,1299,1430,1470,1490,1611,1893,1897,2001,2020,2931,3196,3222,3223,3224,3226,3227,3228],[97,143,226,1194,1342,3222,3832],[85,97,143,226,623,626,632,633,715,716,1025,1060,1064,1072,1076,1077,1498,1909,1994,2001,2575,3190,3191,3196],[97,143,226,1182,1194,1983,2761,3187],[85,97,143,226,715,1182,1983],[97,143,226,1105,1182,1194,1598,2606,2761,3216],[85,97,143,226,633,715,1069,1096,1105,1178,1182,1981],[97,143,226,1105,1981],[97,143,226,1105,1182],[97,143,226,1983],[97,143,226,1102],[97,143,226,1105],[97,143,226,1074,1102,1104],[97,143,226,1194,1342,1598,3191],[85,97,143,226,715,716,1025,1061,1069,1878],[85,97,143,226,632,715,716,1025,1061,1072,1073,1075,1076,1080,1094,1095,1098,1102],[97,143,226,1094,1102,1194,1598,2606,2761],[85,97,143,226,617,633,715,1069,1091,1092,1093,1102,1182],[97,143,226,1093],[97,143,226,1104],[97,143,226,1102,1103,1194],[97,143,226,1102,1104],[97,143,226,1102,1194,1598,2606,2761],[85,97,143,226,715,716,1025,1062,1070,1072,1073,1075,1076,1077,1079,1082,1097,1099,1100,1101,1103,1104],[97,143,226,1194,1342,3223,3832],[85,97,143,226,632,1025,1059,1064,1142,1144,1156,1299,2001],[85,97,143,226,715,1025,1072],[97,143,226,617,1105,1182],[97,143,226,1194,3225],[97,143,226,617,1182,1299,2573],[97,143,226,1097,1102,1194],[97,143,226,1095,1097,1098,1099,1102,1194,1598,2606,2761],[85,97,143,226,632,715,1061,1069,1077,1081,1095,1096,1097,1102],[85,97,143,226,715,716,1025,1069,1072,1073,1074,1103],[97,143,226,1194,1299,1342,3224,3832],[85,97,143,226,632,1059,1064,1072,1299,2001,3196],[97,143,226,617,1182,1194,1342,3225,3226],[85,97,143,226,617,715,1062,1069,1182,3225],[97,143,226,1059,1064,1088,1194,1299,1342,3227,3832],[85,97,143,226,632,633,715,716,1059,1064,1069,1182,1299,1470,2001,2769,3196],[97,143,226,1194,1342,1598,2022],[85,97,143,226,632,633,715,1025,1061,1062,1069,1073,1075,1077,1079,1096],[97,143,226,1101,1194,1598,2761],[85,97,143,226,632,715,1025,1075,1076,1079],[97,143,226,1182,1194,1598,2761,3241],[85,97,143,226,617,632,715,716,1025,1059,1069,1073,1076,1092,1182,1260,1307,1878,1896,1897,2019,3236,3237,3238,3239,3240,3245],[97,143,226,1194,1342,1598,1639],[85,97,143,226,1072,1182],[97,143,226,1156,1194,1342,1598,3167],[97,143,226,631,715,1069,1096,1142,1144,1156,1161,1172,1308],[97,143,226,1182,1194,1342,3167,3168],[85,97,143,226,617,631,715,1069,1092,1096,1151,1182,3167],[97,143,226,1182,1194,1342,3169,3170],[85,97,143,226,617,631,715,1069,1092,1096,1151,1182,3169],[97,143,226,1182,1194,1342,3172],[85,97,143,226,617,631,715,1069,1092,1096,1151,1182,3171],[97,143,226,1156,1194,1342,1598,3169],[97,143,226,1182,1194,1598,2761,3184],[85,97,143,226,518,620,622,628,715,1069,1073,1083,1084,1092,1096,1142,1144,1156,1161,1182,1295,1315,1497,3167,3168,3169,3170,3171,3172,3173,3176,3179,3180,3183],[97,143,226,1156,1194,1342,1598,3173],[85,97,143,226,628,715,716,1070,1142,1144,1156,3177,3178],[97,143,226,628,1156,1194,1342,1598,3177],[97,143,226,628,631,715,1069,1096,1142,1144,1156,1161,1172,1308],[97,143,226,617,1182,1194,1342,1598,3176],[85,97,143,226,508,617,1073,1084,1146,1182,1873,3175],[85,97,143,226,617,1182,3050],[85,97,143,226,1194,1342,1598,3050],[85,97,143,226,632,715,1059,1069,1076,1096,1146],[97,143,226,1194,1342,1364,1939],[97,143,226,1096,1364],[97,143,226,1194,1342,1598,3628],[85,97,143,226,617,715,1069,1092,1146,1182,1873,1898,1959],[85,97,143,226,715,1025,1069,1077,1315,1626,1989,2675,2718,3396,3397],[97,143,226,1181,1194,1996],[97,143,226,1194,1342,1996],[85,97,143,226,518,715,1062,1069,1173,1991,1995],[97,143,226,1194,1342,3684],[85,97,143,226,715,1182],[85,97,143,226,632,715,1025,1069,1092,1294,1937,1989,1994],[85,97,143,226,617,626,632,715,1061,1069,1088,1092,1096,1145,1146,1182,1898,2556],[97,143,226,1182,1194,1342,2761,3686],[85,97,143,226,715,1069,1088,1092,1145,1146,1182,2225],[85,97,143,226,1066,1088,1181,1182,1194,1342,3683],[85,97,143,226,617,632,715,1066,1069,1088,1145,1182,1295,1300,3122],[85,97,143,226,1066,1181,1182,1194,1342,3676],[85,97,143,226,617,715,1066,1076,1145,1182,1300],[85,97,143,226,617,715,1069,1088,1096,1145,1146,1182,1294],[97,143,226,1066,1626],[85,97,143,226,715,1069,1088,1145,1182],[97,143,226,1194,1342,1990],[85,97,143,226,1989],[97,143,226,1194,1618,3182],[97,143,226,1066,1618,1627],[85,97,143,226,631,715,1066,1077],[97,143,226,1194,1342,3397],[85,97,143,226,715,1069,1077,1315,2675],[97,143,226,1194,1342,1626],[85,97,143,226,715,1025,1625],[97,143,226,628,1194,1999],[97,143,226,628],[85,97,143,226,617,628,631,715,1069,1092,1096,1151,1182],[85,97,143,226,628,715,1999],[85,97,143,226,1194,1342,1598,3598],[85,97,143,226,617,632,715,716,1063,1069,1092,1182,1260,1307,1896,1897,2019,2769],[97,143,226,1088,1194,1342,3057],[85,97,143,226,1073,1088,1089,1091,1418,3052,3054,3056],[97,143,226,1088,1194,1342,1598,3054],[97,143,226,1088,1194,1342,3054],[85,97,143,226,617,632,1025,1063,1069,1091,1092,1260,1411,1896,1951,2019,3053],[97,143,226,1194,1342,3052],[85,97,143,226,715,1025,1070],[97,143,226,1088,1194,1342,1417,3056],[85,97,143,226,617,715,1062,1069,1073,1091,1096,1294,1413,1415,1417,1418,1897,2731,3055],[97,143,226,1194,1951],[97,143,226,1088,1194,1342,1417,1598,3055],[97,143,226,1088,1194,1342,1417,3055],[85,97,143,226,617,632,1025,1063,1069,1091,1092,1260,1417,1418,1896,1951,2019,3053],[85,97,143,226,715,1315],[85,97,143,226,715,1072,1145,1375],[85,97,143,226,1172,1873],[85,97,143,226,632,633,715,716,1025,1059,1060,1064,1182],[97,143,226,1194,1342,2727],[97,143,226,1096],[97,143,226,1194,1598,2731,2761],[85,97,143,226,715,1069,1070,1073,1092,1897],[85,97,143,226,1194,1342,1598,3199],[97,143,226,716],[97,143,226,1194,1342,3272],[85,97,143,226,631,715,1070,1405,1406],[97,143,226,1194,1342,1598,3273],[85,97,143,226,631,715,1069],[97,143,226,1194,1342,1598,3274],[85,97,143,226,715,1069],[97,143,226,1194,1342,1873,3174],[85,97,143,226,631],[97,143,226,1194,1342,1598,3175],[97,143,226,1025,1873,3174],[85,97,143,226,1059,1194,1598,1642,2761],[85,97,143,226,632,715,716,1025,1062,1076,1151],[97,143,226,1194,1342,2728],[85,97,143,226,631,1163,1942,2727],[97,143,226,1194,1342,2627],[97,143,226,631,1307],[85,97,143,226,715,1025,1069,1146,1172,1182,3175],[85,97,143,226,1194,1260,1342,1492,1598,2019,3198],[85,97,143,226,632,715,1059,1069,1145,1260,1492,1896],[97,143,155,164,226,1194,1342,1598,1875],[85,97,143,226,617,632,1069,1073,1146,1873,1874],[97,143,226,1194,1342,1598,1874],[85,97,143,226,632,715,1075,1079,1405],[85,97,143,226,1059,1064,1194,1342,1598],[85,97,143,226,1059,1063],[97,143,226,1194,1342,1364,1940],[97,143,226,1194,1342,1598,1894],[85,97,143,226,1075,1182],[97,143,226,1182,1194,1342,1598,3240],[85,97,143,226,715,1025,1063,1069,1073,1638,1897,2740],[85,97,143,226,1073,1076],[85,97,143,155,164,226,1194,1880,2761],[85,97,143,226,1096,1879],[85,97,143,226,1075,1460],[97,143,226,1194,1598,1881,2761],[85,97,143,226,715,716,1025],[85,97,143,226,1079,1088,1194,1342,1886,1891],[85,97,143,226,1079,1088,1182,1295,1405,1886,1888,1889,1890],[97,143,226,1194,2002],[97,143,226,1891],[97,143,226,1194,1342,2732],[97,143,226,1096,2002],[85,97,143,226,1088,1194,1342,1886,1888,1891,2002],[85,97,143,226,1146],[85,97,143,226,626,1494,1892],[97,143,226,1194,1342,1494,1598,3607],[85,97,143,226,626,715,1071,1405,1406,1494],[97,143,226,1182,1194,1342,1406,1598,3195],[85,97,143,226,715,716,1025,1059,1063,1069,1071,1092,1182,1307,1405,1406,1896,1897],[97,143,226,1182,1194,1342,1507,1598,3599],[85,97,143,226,1075,1182,1507,1892],[97,143,226,617,1088,1182,1194,1342,1358,1598,1900],[85,97,143,226,617,632,633,715,716,1025,1059,1063,1069,1072,1077,1078,1088,1092,1151,1182,1358,1893,1896,1897,1899],[97,143,226,1194,1342,2624],[97,143,226,620,1069,1083,1366,1948,2274,2615,2616,2617,2619,2620,2622,2623],[97,143,226,1194,1433,2629,2761],[85,97,143,226,715,1433,1897],[97,143,226,1194,1342,1436,1598,2761,3064],[85,97,143,226,715,1091,1142,1144,1436,1897,3063],[97,143,226,1194,1342,1436,1598,2761,3063],[85,97,143,226,715,1142,1144,1156,1436,3062],[97,143,226,1142,1144,1156,1172,1436],[97,143,226,1194,1342,1494,2761,3067],[97,143,226,715,1091,1494,1897,3066],[97,143,226,1194,1342,1494,2761,3066],[85,97,143,226,715,1142,1144,1156,1494,3065],[97,143,226,1142,1144,1156,1172,1494],[97,143,226,1194,1342,1598,2817],[85,97,143,226,508,715],[97,143,226,1194,2023],[97,143,226,2023],[85,97,143,226,617,632,715,1025,1063,1069,1074,1079,1092,1097,1101,1102,1103,1104,1105,1182,1260,1307,1610,1896,2019,2020,2021,2022],[85,97,143,226,1194,1342,1598,2026,2761],[85,97,143,226,614,617,627,1062,1069,1073,1145,1151,1182],[97,143,226,627,2026],[97,143,226,614],[85,97,143,226,1194,1342,1598,2761,3049],[85,97,143,226,617,715,1069,1070,1073,1182,2027],[97,143,226,1194,1598,1960,1961,2761],[85,97,143,226,617,715,1069,1092,1145,1494,1953,1955,1956,1957,1958,1960],[97,143,226,1194,1956,2761],[85,97,143,226,716,1955],[97,143,226,1957,2761],[85,97,143,226,1954],[97,143,226,1194,1598,1958,2761],[85,97,143,226,1080,1955],[97,143,226,1955,1961,1962],[97,143,226,626,1954],[97,143,226,1194,1598,1955,1962,2761],[85,97,143,226,626,715,1069,1071,1954,1955,1961],[97,143,226,1194,1954,1955,1959,1960],[97,143,226,1161,1954,1955,1959],[97,143,226,1182,1194,1342,2740],[85,97,143,226,1072,1182,2028],[97,143,226,1194,2761,3200],[85,97,143,226,631,715,1073,1096],[85,97,143,226,715,1069,1088,1182,1307,1965,2223,2225,2263],[85,97,143,226,2761,3032],[85,97,143,226,1194,1314,1342,1598,2761],[97,143,226,1194,2214],[97,143,226,1165,1194],[97,143,226,1194,1342,1598,1901],[85,97,143,226,715,1069,1072,1075],[85,97,143,226,716,1069,1070],[97,143,226,1078,1194],[97,143,226,1194,2029],[97,143,226,626,1182],[85,97,143,226,614,625,1182],[85,97,143,226,1194,1342,1598,1903],[85,97,143,226,632,1069],[97,143,226,1194,2031],[97,143,226,626],[85,97,143,226,1194,1342,1598,3236],[85,97,143,226,632,715,1069],[97,143,226,1084,1194,1342,1948,2761],[85,97,143,226,508,631,715,1069,1084,1091,1096,1173,1182,1357,1359,1372,1433,1494,1936,1937,1938,1939,1940,1945,1947],[85,97,143,226,1182,1194,1342,2631],[85,97,143,226,715,1069,1182,1442,1897,1946],[97,143,226,1194,1626,3287],[97,143,226,1066,1182,1625,1626,1627,2884,2930],[97,143,226,1079,1182,1194],[97,143,226,1078,1182],[97,143,226,1066,1194,2033],[97,143,226,1194,1626,1627,3382],[97,143,226,617,1066,1182,1625,1626,1627,1630,2930],[97,143,226,1194,1342,2733],[85,97,143,226,1096,1300,1873,1877],[97,143,226,1066,1068],[97,143,226,1068,1194,1342,1447,1451,1453,1598,1904,2761],[85,97,143,226,1068,1072,1447,1451,1453],[85,97,143,226,1182,1194,1342,1598,1907,2761],[85,97,143,226,1066,1080,1182,1307,1451,1905,1906],[97,143,226,617,1066,1180,1194,1342,1598,3116],[85,97,143,226,616,617,715,1066,1076,1092,1288,2769],[85,97,143,226,715,1151,1905],[85,97,143,226,1066,1194,1342,1598,3306],[85,97,143,226,632,633,715,716,1025,1059,1063,1066,1896],[97,143,226,1066,1194],[97,143,226,1194,1299,2036],[97,143,226,1088,1182,1194,1299,1342,3231],[85,97,143,226,632,1025,1059,1064,1069,1075,1092,1182,1299,1300,2001,2036,3196,3227],[97,143,226,617,1088,1182,1194,1342,1598,3234],[85,97,143,226,617,715,1069,1084,1091,1182,1426,2562,2731,3231,3233],[97,143,226,1182,1194,1342,1598,3233],[85,97,143,226,715,1142,1144,1156,1182,3232],[97,143,226,631,715,1069,1142,1144,1156,1161,1172,1182,1299,1308],[97,143,226,1182,1194,1598,2761,3188],[85,97,143,226,632,1025,1063,1069,1092,1182,1260,1896,2019],[85,97,143,226,1142,1144,1194,1342,1598,3249],[85,97,143,226,626,1069,1092,1142,1144,1182,2294,3247,3248],[85,97,143,226,1142,1144,1194,1342,1598,3247,3248],[85,97,143,226,626,715,1142,1144,1156,3247],[97,143,226,626,631,715,1142,1144,1156,1172],[97,143,226,617,1194,1342,1472,1487,1598,2739,2761,3210],[85,97,143,226,617,715,1025,1059,1063,1069,1076,1092,1145,1472,1487,1896,2739],[85,97,143,226,1073],[85,97,143,226,617,1073,1146,1182,1873],[85,97,143,226,617,1088,1182,1194,1342,1598,2606,3194],[85,97,143,226,617,623,715,1025,1060,1069,1073,1088,1092,1103,1157,1161,1182,1295,1300,1454,1494,1498,1610,1611,1616,1873,1983,2023,2562,2576,2731,3187,3188,3189,3192,3193],[85,97,143,226,623,632,633,715,716,1025,1059,1069,1076,1096,1182,1260,1307,1638,1878,1896,1909,1994,2018,2562,2573,2575,3190,3191],[97,143,226,1157,1182,1194,1342,1358,1494,1505,1598,2752,2761],[97,143,226,1025,1071,1145,1157,1182,1358,1494,1505,1966],[97,143,226,1194,1966],[97,143,226,1194,1342,3186],[85,97,143,226,1194,1299,1300,1342],[85,97,143,226,1298,1299],[85,97,143,226,1194,1299,1342,2931],[85,97,143,226,1300],[85,97,143,226,620,1194,1361,1598,2626,2761],[85,97,143,226,508,620,715,1083,1096,1173,1182,1363,1366,1371,1433,1936,1969,2274,2617,2619,2620,2622,2623,2625],[97,143,226,1194,1598,2617,2761],[85,97,143,226,715,1069,1308,1362,1382,1969],[97,143,226,1194,2619,2761],[85,97,143,226,631,715,1025,1069,1366,2618],[97,143,226,1194,1941],[85,97,143,226,1598,2620,2761],[85,97,143,226,631,715,1069,1096,1361,1368,1944],[97,143,226,1194,1361,1598,2625,2761],[85,97,143,226,631,715,1025,1062,1076,1091,1096,1361,1362,1363,1366,1941,1942,1943,1944],[97,143,226,1194,1342,2622],[85,97,143,226,518,715,1173,1308,1497,2621],[97,143,226,1194,1342,1598,2623],[85,97,143,226,715,1070,1071,2274],[97,143,226,617,620,1173,1182,1194],[97,143,226,616,617,620,622,623,625,626,627,628,1065,1066,1067,1068,1105,1177,1178,1179,1180,1181],[97,143,226,1088,1194,1433,2630,2761],[85,97,143,226,715,1433],[85,97,143,226,625,2734,2735,2736],[97,143,226,1194,1899],[85,97,143,226,617,1069,1092,1898],[97,143,226,617,626,1182,1194,1598,1912,2761],[97,143,226,1182,1194,1912],[85,97,143,226,617,626,632,633,715,716,1025,1059,1063,1064,1065,1068,1069,1071,1072,1075,1076,1077,1078,1080,1084,1088,1091,1092,1096,1161,1182,1358,1360,1405,1406,1436,1460,1490,1497,1638,1639,1640,1641,1642,1875,1876,1878,1880,1881,1891,1893,1894,1895,1900,1901,1902,1903,1904,1907,1908,1909,1910,1911],[97,143,226,1194,1910],[97,143,226,1641,1877,1891,1902,1903],[97,143,226,626,1194,1598,2738,2761],[97,143,226,617,626,1194,1598,2738,2761],[85,97,143,226,617,626,632,715,1025,1059,1063,1069,1091,1092,1182,1260,1896,1897,1898,2019,2040,2556],[97,143,226,1194,2040],[97,143,226,1194,1911],[97,143,226,1194,2044],[97,143,226,624,1260,2043],[85,97,143,226,1088,1194,1342,1598,3278],[85,97,143,226,617,632,633,716,1063,1069,1088,1092,1288,1358,1896,1904,1909,2019,2043,2044,2752,3277],[97,143,226,1182,1194,2046],[97,143,226,624,1182,1260,2043],[85,97,143,226,1088,1182,1194,1342,1598,3277],[85,97,143,226,617,632,633,716,1063,1069,1088,1182,1288,1358,1896,1904,1909,2019,2043,2046,2281,2752],[85,97,143,226,1194,1342,1358,1598,2761,3280],[85,97,143,226,617,715,1069,1073,1088,1161,1172,1174,1182,1295,1358,1494,1942,1953,2273,2737,3195,3202,3206,3277,3279],[97,143,226,1084,1194,1935,1948,1949],[97,143,226,1084,1935,1948],[97,143,226,1182,1194,1598,2761,3242],[85,97,143,226,617,632,633,715,716,1059,1069,1070,1073,1076,1096,1182,1260,1295,1896,2019,3238,3239,3240],[97,143,226,1194,1342,1598,3244,3245],[85,97,143,226,715,1156,3243,3245],[85,97,143,226,631,715,1069,1096,1142,1144,1172,1308,3245],[97,143,226,1182,1194,1342,1598,3244,3245],[85,97,143,226,617,1069,1182,3241,3242,3244],[97,143,226,1182,1194,1342,3601],[85,97,143,226,1069,1142,1144,1156,1182,1295,2203],[85,97,143,226,1025,1096,1182,1873],[97,143,226,1068,1182,1194,1342,1598,2735],[85,97,143,226,1025,1066,1068,1096,1182,1873],[85,97,143,226,1096,1182,1873],[97,143,226,1182,1194,1342,1632,2741,2761],[85,97,143,226,1072,1182,1360,1632],[97,143,226,617,1182,1194,1342,1598,3255],[85,97,143,226,617,631,715,1025,1062,1069,1070,1073,1092,1096,1182,1294],[97,143,226,1194,1299],[97,143,226,530,1298],[97,143,226,1142,1144,1182,1194,1342,3181,3183],[85,97,143,226,617,628,715,1025,1071,1072,1073,1092,1096,1142,1144,1156,1182,1295,1299,1618,1627,1873,1936,2626,3179,3181,3182],[97,143,226,1096,1142,1144,1156,1172,1299],[85,97,143,226,1194,1342,1598,3236,3237],[85,97,143,226,632,715,1069,3236],[97,143,226,1194,1342,3238],[85,97,143,226,715,1073,1182],[97,143,226,617,1182,1194,1598,2761,2853],[85,97,143,226,617,1069,1182,1886],[97,143,226,1194,1342,1882],[97,143,226,1194,1342,1883],[97,143,226,1194,1342,1598,1886],[85,97,143,226,1882,1883,1884,1885],[97,143,226,1194,1342,1598,1884],[97,143,226,1194,1342,1598,1885],[85,97,143,226,1076],[97,143,226,617,1194,1342,1477,1478,1598,2938],[85,97,143,226,617,715,1069,1070,1073,1091,1092,1157,1371,1474,1477,1478,2936,2937],[97,143,226,1194,1477,1598,2761,2937],[85,97,143,226,632,633,716,1059,1063,1069,1071,1092,1260,1477,1896,2019,2048],[97,143,226,1194,1477,2048],[97,143,226,1477],[97,143,226,1194,1342,1477,1598,2936],[85,97,143,226,715,1142,1144,1156,1477,2934,2935],[97,143,226,631,715,1069,1142,1144,1156,1172,1308,1477,2050],[85,97,143,226,715,1295,1316,1477,2050],[97,143,226,617,1182,1194,1342,1598,2761,2767],[85,97,143,226,617,632,715,1062,1063,1069,1073,1182,1260,1307,1896,1897,1898,2019,2739],[97,143,226,1182,1194,1598,2761,3201],[85,97,143,226,631,1071,1182],[97,143,226,1059,1182,1194,1342,1598,3060],[85,97,143,226,617,632,1059,1063,1069,1071,1073,1076,1092,1146,1182,1295,1300,1977,2731,2739,3049,3051,3057,3059],[97,143,226,1194,1342,1422,1424,1598,2761,2782],[85,97,143,226,617,632,1062,1063,1069,1091,1092,1260,1307,1422,1424,1896,1970,2019,2769],[97,143,226,1194,1342,1598,2761,2784],[85,97,143,226,617,715,1069,1073,1091,1145,1421,1422,1423,1424,1897,1970,2731,2782,2783],[97,143,226,1194,1342,1598,2783],[97,143,226,617,1194,1342,1472,1489,1598,2739,2761,2768],[85,97,143,226,617,632,715,1025,1059,1063,1069,1070,1073,1076,1145,1307,1472,1489,1896,2739],[85,97,143,226,1079,1194,1342,1445,1446,1598,3113],[85,97,143,226,617,632,715,1025,1059,1063,1069,1073,1075,1076,1079,1081,1145,1307,1445,1446,1896,1897,1971,3112],[85,97,143,226,1194,1342,1598,1971,3112],[97,143,226,633,715,1069,1073,1295,1874,1897,1971],[97,143,226,617,1182,1194,1971],[97,143,226,1194,1342,1598,2785],[85,97,143,226,632,715,1063,1069,1070,1073,1091,1092,1146,1182,1307,1896,1973,2019],[97,143,226,1194,1342,2761,2771],[85,97,143,226,617,1069,1092,1307,1483,1975,2739,2770],[97,143,226,1194,1342,1598,2761,2770],[85,97,143,226,632,633,716,1059,1063,1151,1260,1300,1896,1974,2019,2769],[97,143,226,1088,1194,1342,2772],[85,97,143,226,617,1483,1485,1975,2731,2739],[97,143,226,1194,1342,1483,1485,1598,2761,2773],[97,143,226,617,1194,1342,1483,1485,1975,2739,2770,2773],[85,97,143,226,617,1069,1092,1307,1483,1485,1975,2739,2770],[97,143,226,1194,1342,1598,2761,2774],[97,143,226,1194,1342,1485,2761,2775],[97,143,226,715,1062,1073,1096,1142,1144,1156,1485,1974],[97,143,226,1088,1194,1342,2778],[85,97,143,226,715,1069,1073,1096,1161,1300,1485,1974,1975,2771,2772,2773,2774,2775,2776,2777],[97,143,226,1194,1342,2776],[97,143,226,1194,1342,2761,2777],[97,143,226,715,1073,1145],[97,143,226,1194,1485,1975],[97,143,226,1485],[97,143,226,1194,1598,2761,2779],[85,97,143,226,715,1069,1077,1096,1151,1949],[97,143,226,617,1194,1342,2780],[97,143,226,617,1062,1073,1076,1091,1145,1497,1501,1897,2779],[97,143,226,1182,1194,1342,1503,1504,2761,2781],[85,97,143,226,617,633,716,1061,1069,1073,1076,1091,1145,1182,1503,1504,1897,2719],[97,143,226,1194,1342,1598,3059],[85,97,143,226,715,1069,1156,1977,3058],[97,143,226,631,715,1069,1142,1144,1172,1308,1977],[97,143,226,617,1079,1194,1342,1598,1890],[85,97,143,226,617,1069,1079,1307,1887,1888,1889],[97,143,226,1194,1342,1887],[85,97,143,226,715,1092],[97,143,226,1079,1088,1194,1342,1598,2932],[85,97,143,226,617,715,1069,1079,1088,1887,1888],[85,97,143,226,715,1072,1075],[97,143,226,1079,1088,1182,1194,1342,1598,2933],[85,97,143,226,617,715,1025,1084,1146,1182,1454,1890,2731,2930,2931,2932],[97,143,226,617,1194,1342,1598,1888,1889],[85,97,143,226,617,715,1069,1295,1888],[97,143,226,1194,1342,1598,2830],[85,97,143,226,631,715,1069,1954,2225],[97,143,226,1194,1342,1897],[85,97,143,226,629,631],[97,143,226,1194,1342,1598,3279],[85,97,143,226,631,1096,1163],[97,143,226,1194,1342,3600],[85,97,143,226,1194,1342,2198],[85,97,143,226,631,2051,2195,2196,2197],[85,97,143,226,1194,1342,2199],[85,97,143,226,1194,1342,2200],[85,97,143,226,2051,2197],[85,97,143,226,1194,1342,2197],[85,97,143,226,2195],[85,97,143,226,1194,1342,2201],[97,143,226,2051,2197,2198,2199,2200,2201,2202],[85,97,143,226,1194,1342,2202],[97,143,226,1194,1598,1942,2761],[97,143,226,617,1194,1342,1598,1908],[85,97,143,226,617,1069,1898],[85,97,143,226,1142,1143,1144],[97,143,226,1142,1144,1148],[85,97,143,226,1142,1144,1148,1153,1155,1194,1342,1598],[85,97,143,226,631,715,1142,1143,1144,1145,1146,1147],[85,97,143,226,1142,1144,1148,1150,1154,1194,1342,1598],[85,97,143,226,1061,1069,1142,1144,1149],[97,143,226,1147,1194,1342,1598],[97,143,226,631,715,716,1069],[85,97,143,226,1142,1144,1156,1194,1342,1598],[97,143,226,1142,1144,1151],[85,97,143,226,1142,1144,1155,1194,1342,1598],[85,97,143,226,631,715,824,1142,1144],[85,97,143,226,1142,1144,1148,1154,1194,1342,1598],[85,97,143,226,631,632,715,1069,1096,1142,1144,1153],[97,143,226,715,824,1069,1142,1144],[97,143,226,1143,1144,1147,1148,1150,1152,1153,1154,1155],[85,97,143,226,1142,1144],[97,143,226,1163,1194,1342,1598],[85,97,143,226,518,631,715],[85,97,143,226,1063,1194,1342],[85,97,143,226,629,631,1061,1062],[85,97,143,226,632,1059,1194,1260,1342,1598,1896,2018],[85,97,143,226,715,1025],[85,97,143,226,631,632,1994,2572],[97,143,226,1168,1194,1342,1598],[97,143,226,626,1025,1161,1182],[97,143,226,1194,2724,2761],[97,143,226,1072,1194,1342,1598],[97,143,226,1194,2761,3578],[85,97,143,226,2616],[85,97,143,226,1075,1194,1342,1598,1892],[85,97,143,226,715,1071,1075,1405,1406],[85,97,143,226,715,1070],[97,143,226,1075,1194,1342,1598],[97,143,226,1157,1158,1194,1342],[85,97,143,226,631,715,1096,1157],[85,97,143,226,1025],[97,143,226,1160,1194,1342],[97,143,226,1159],[97,143,226,1161,1162,1194,1342,1598],[85,97,143,226,631,715,1159,1161],[97,143,226,1164,1194,1342,1598],[85,97,143,226,631,715,1163],[97,143,226,1158,1159,1160,1162,1164,1166,1167,1170,1171],[97,143,226,1166,1194,1342,1598],[97,143,226,1078,1096,1159,1165],[97,143,226,1167,1194,1342],[97,143,226,1170,1194,1342],[97,143,226,1161,1168,1169],[97,143,226,1171,1194,1342,1598],[85,97,143,226,631,1096,1159],[97,143,226,1194,1342,2616],[97,143,226,631,1062],[97,143,226,1194,1361,1598,1945,2761],[85,97,143,226,631,715,1062,1069,1076,1091,1096,1361,1362,1363,1364,1366,1433,1941,1942,1943,1944],[85,97,143,226,1088,1182,1194,1342,1442,1598,1947],[97,143,226,715,1069,1077,1088,1169,1182,1442,1946],[97,143,226,617,1182,1194,1342,1598,2770,2786],[85,97,143,226,617,1059,1063,1069,1092,1182,2739,2770],[97,143,226,1194,1342,3307],[85,97,143,226,623,1072,1182],[97,143,226,1182,1194,1342,1598,2761,3574,3576],[85,97,143,226,617,1182,3574,3575],[85,97,143,226,715,1142,1144,1156,3574],[97,143,226,631,715,1069,1142,1144,1156,1172,1308],[85,97,143,226,1879],[97,143,226,1194,1342,2761,3202],[85,97,143,226,632,716,1063,1069,1072,1092,1260,1307,1641,1878,1896,2019,2204],[85,97,143,226,715,1071],[85,97,143,155,164,226,1194,1598,1879,2761],[85,97,143,226,632,715,716,1025,1062,1069,1070,1073,1096,1300,1873,1877,1878],[97,143,226,1182,1194,1342,2761,3204],[85,97,143,226,617,715,1069,1073,1146,1151,1182,3203],[97,143,226,1194,2204],[97,143,226,1194,2210,2761,3205],[85,97,143,226,715,1025,1073,1096,1161,2210,2290],[97,143,226,1194,3203],[97,143,226,1194,2206],[97,143,226,1157,1182,1194,1342,1358,1436,1492,1494,1505,1598,2761,3209],[85,97,143,226,617,625,632,633,715,1025,1059,1063,1069,1072,1073,1075,1076,1077,1078,1084,1088,1091,1096,1161,1171,1182,1260,1295,1307,1358,1360,1430,1492,1638,1639,1640,1641,1873,1875,1876,1878,1891,1896,1904,1907,1909,2019,2206,2208,2211,2273,2558,2731,2733,2737,2743,2752,3195,3196,3197,3198,3199,3200,3201,3202,3204,3205,3207,3208],[97,143,226,1084,1091,1194,1342,1497,1598,2761,3207,3209],[85,97,143,226,715,1025,1084,1091,1161,1172,1182,1497,3206,3209],[97,143,226,1194,2208],[97,143,226,626,1182,1194,1436,1598,2761,3208],[85,97,143,226,626,632,715,1025,1078,1096,1142,1144,1156,1165,1172,1182,1405,1406,1436,1942,2726,2727,2745],[85,97,143,226,617,1078,1088,1182,1194,1342,1492,1598,1604,3581],[85,97,143,226,616,617,626,632,633,715,1025,1063,1069,1075,1076,1077,1078,1084,1088,1092,1182,1260,1295,1358,1360,1492,1494,1606,1638,1639,1640,1641,1875,1876,1878,1880,1891,1896,1904,1907,1909,2019,2208,2731,2752,3196,3198,3201,3209,3576,3577,3578,3580],[85,97,143,226,626,1194,1342,1494,1598,2761,3580],[85,97,143,226,626,632,1075,1142,1144,1156,1358,1405,1406,1494,3579],[97,143,226,626,631,715,1069,1142,1144,1145,1156,1161,1172,1182,1308],[85,97,143,226,617,1182,1194,1598,2761,3577],[85,97,143,226,617,632,715,1069,1070,1071,1073,1078,1096,1182,1307,1358,1641,1894,2752],[97,143,226,1194,2211],[85,97,143,226,626,1182,1194,1342,1598,2744,2761],[85,97,143,226,617,623,626,632,633,716,1025,1063,1068,1069,1072,1076,1078,1084,1182,1307,1357,1358,1460,1497,1638,1639,1640,1641,1642,1876,1877,1878,1881,1891,1894,1896,1901,1902,1903,1904,1907,1909,1912,2002,2019,2211,2213,2215,2740,2741,2742,2743],[97,143,226,626,1091,1182,1194,1342,1358,1598,2725,2745,2761],[97,143,226,626,1088,1091,1182,1194,1342,1451,1453,1598,2725,2745,2761],[85,97,143,226,617,626,715,1069,1073,1084,1088,1091,1092,1096,1161,1163,1168,1174,1182,1295,1358,1436,1439,1440,1451,1453,1460,1497,1877,2002,2035,2214,2558,2725,2729,2730,2731,2732,2733,2737,2738,2739,2744],[97,143,226,1194,2215],[97,143,226,626,1260,1877,2211,2213,2214],[97,143,226,1194,1342,1598,2729],[85,97,143,226,715,1025,1062,1069,1096,1163,1174,1308,1942,2726,2727,2728],[85,97,143,226,1084,1088,1194,1342,2745],[97,143,226,1088,1182,1194,1342,1598,3584],[85,97,143,226,715,1069,1071,1088,1096,1182,1307,1893,1965,3031,3583],[97,143,226,1194,2761,3583],[85,97,143,226,631,716],[85,97,143,226,617,1088,1182,1194,1342,1598,2761,3587],[85,97,143,226,617,1088,1182,1360,1978,3032,3586],[85,97,143,226,1182,1194,1342,1598,2761,3586],[85,97,143,226,715,716,1142,1144,1156,1182,3583,3585],[97,143,226,1142,1144,1182,1194,1342,1598,3585],[97,143,226,1025,1142,1144,1156,1172,1182,3583],[85,97,143,226,1194,1342,1598,2761,3588],[85,97,143,226,1360,3584,3587],[97,143,226,1069,1194,1294,1342,1598],[85,97,143,226,631,741,1069],[97,143,226,1194,1342,1943],[85,97,143,226,631,772],[97,143,226,1096,1194,1342],[85,97,143,226,629,631,874,1011],[97,143,226,1194,1342,2615],[97,143,226,629,631,874,1011,1062],[85,97,143,226,1069,1194,1342],[85,97,143,226,629,631,774],[85,97,143,226,1194,1342,2196],[85,97,143,226,631,2195],[97,143,226,631,715,778],[97,143,226,784],[85,97,143,226,631,715,1012,1069,1070],[85,97,143,226,631,715,833,1069],[85,97,143,226,631,715,824],[97,143,226,631,940],[85,97,143,226,629,631,632,633,1069],[97,143,226,1169,1194,1342],[85,97,143,226,629,631,881],[85,97,143,226,631,927],[97,143,226,631,951,953],[85,97,143,226,632,1061,1062,1069,1073,1096,1145,1146,1194,1307,1342,2196],[85,97,143,226,631,961],[97,143,226,716,1194,1342],[85,97,143,226,631,714,715],[85,97,143,226,631,795],[97,143,226,631,971],[97,143,226,615,715],[97,143,226,631,975],[97,143,226,629,631,982],[97,143,226,1025,1194,1342,1598],[85,97,143,226,631,715,1024],[97,143,226,1194,1307,1342],[85,97,143,226,631,1306],[97,143,226,1182,1194,1342,1598,2787],[85,97,143,226,617,632,715,716,1025,1059,1063,1069,1182,1260,1307,1896,2019],[97,143,226,1182,1194],[97,143,226,617,1182,1194,1342,1598,3189],[85,97,143,226,617,715,1063,1069,1092,1182,1260,1307,1896,1897,2019,2769],[97,143,226,626,1091,1182,1194,1342,1598,2031,3268],[85,97,143,226,1025,1061,1080,1091,1156,1161,1172,1182,1280,1873,2031,2203,2745],[97,143,226,1194,1280,1342,1598,3596],[85,97,143,226,1073,1142,1144,1156,1161,1172,1280,2203],[97,143,226,1194,1979],[97,143,226,1182,1194,1342,3602],[85,97,143,226,1025,1071,1073,1182,1295,1954,2203,3600,3601],[85,97,143,226,1182,1194,1342,2748,2761],[85,97,143,226,620,621,626,1084,1182,1912,2723,2747],[97,143,226,1182,1194,1342,1503,2719,2761],[85,97,143,226,715,1069,1182,1503,1897,2675,2718],[97,143,226,1072,1106,1194,1342,1909],[85,97,143,226,1072,1106,1182],[97,143,226,1194,1299,3643],[97,143,226,530,1299],[97,143,226,1194,1342,1598,2225,3068,3070],[85,97,143,226,715,1069,1149,1171,1942,2225,2727,3068],[85,97,143,226,1088,1142,1144,1182,1298,3068,3069,3070],[97,143,226,1142,1144,1194,1342,1598,3068,3069],[85,97,143,226,632,715,716,1142,1144,1156,3068],[97,143,226,1142,1144,1172,2727],[97,143,226,1194,1342,2234],[85,97,143,226,1194,1598,2233,2761],[85,97,143,226,715,1077,1161],[85,97,143,226,715,1025,1073,1096,1146],[97,143,226,2220],[85,97,143,226,1194,2220,2221,2761],[85,97,143,226,1025,1182],[85,97,143,226,1194,1598,2221,2231,2761],[85,97,143,226,1025,2220,2228,2229,2230],[85,97,143,226,1194,1598,2221,2228,2761],[97,143,226,1194,1342,1598,2761,3080],[85,97,143,226,1295,1307,1360,3064,3067,3071,3079],[85,97,143,226,626,1088,1142,1144,1182,1194,1342,2029,2225,3072],[97,143,226,626,1084,1088,1142,1144,1182,2029,2223,2225,2766],[97,143,226,1194,1342,2224],[97,143,226,631,1096],[85,97,143,226,1194,1342,1598,2253],[85,97,143,226,715,1077],[85,97,143,226,715,1025,1069,1096,1172,1299,2222,2223,2224,2225],[85,97,143,226,1194,1342,1598,2250,2256],[85,97,143,226,715,1077,2250,2255],[97,143,226,2261,2262],[85,97,143,226,1194,1342,1598,2250,2257],[85,97,143,226,617,2250,2252,2253,2255,2256],[97,143,226,1194,1342,2240],[97,143,226,526,2222,2239],[97,143,226,1194,1342,1598,2223,2261],[85,97,143,226,715,1025,1069,1073,1077,1096,1161,1178,1295,1307,1625,2222,2223,2225,2231,2232,2233,2234,2235,2236,2237,2240,2241,2249,2260],[97,143,226,1088,1172,1182,1194,1342,2223,2262],[85,97,143,226,715,1069,1088,1149,1161,1172,1182,1295,1443,2217,2219,2222,2223,2224,2226,2227,2241,2261],[85,97,143,226,1194,1342,1598,2250,2258],[85,97,143,226,617,2222,2250,2252,2255],[97,143,226,2250],[85,97,143,226,1194,1342,2260],[97,143,226,2251,2257,2258,2259],[85,97,143,226,1194,1342,1598,2259],[85,97,143,226,715,1025,1096,2252],[85,97,143,226,1178,1194,1342],[97,143,226,631,715,1096],[97,143,226,1194,1342,1598,2252],[97,143,226,631,715,1025,1069],[85,97,143,226,1194,1342,2255],[97,143,226,631,2250,2254],[85,97,143,226,1194,1342,2254],[97,143,226,631,2250],[97,143,226,1194,1342,2237],[97,143,226,1194,1342,2236],[97,143,226,1025,1942,2222],[85,97,143,226,2222,2223],[97,143,226,1194,2241],[97,143,226,1194,2225,3073],[97,143,226,2225],[85,97,143,226,632,715,1069,1076,1944,2217,2225,3073],[97,143,226,1157,1194,1342,1434,1479,1481,1598,2761,3072,3075],[85,97,143,226,626,632,716,1071,1075,1156,1157,1434,1479,1481,1892,2217,3072],[97,143,226,1088,1182,1194,1342,1598,1604,2223,2225,2761,3079],[85,97,143,226,626,1088,1142,1144,1172,1182,2217,2218,2223,2225,2263,2745,3072,3074,3078],[85,97,143,226,626,715,1142,1144,1156,2223,3072,3075,3077],[97,143,226,1156,1194,1342,1598,2223,3077],[97,143,226,1142,1144,1156,1161,1172,1299,2217,2223,3076],[97,143,226,1146,2242],[97,143,226,2242,2243,2248],[97,143,226,2242],[85,97,143,226,1295,2242,2244,2245],[85,97,143,226,715,1096,2242,2246],[97,143,226,1194,1342,1598,2223,2243,2248],[85,97,143,226,715,1077,2223,2243,2247],[97,143,226,1194,2223,2243],[97,143,226,2223,2242],[97,143,226,1194,1342,3076],[97,143,226,2217],[85,97,143,226,715,1077,1299],[85,97,143,226,1091,1161,1182],[97,143,226,626,715,1142,1144,1145,1156,1168,1172,1182,2726,2727],[85,97,143,226,626,1194,1342,1436,1437,1598,1604,2725,2747,2761],[85,97,143,226,626,632,715,1075,1142,1144,1156,1358,1405,1406,1436,1437,1494,1606,2724,2745,2746],[85,97,143,226,620,621,622,1084,1182],[85,97,143,226,518,1989,1990],[97,143,226,1194,1342,2621],[85,97,143,226,616,1182],[97,143,226,1088],[85,97,143,226,1182],[97,143,226,2270],[97,143,226,2266,2267,2268,2269,2271],[85,97,143,226,617,1088,1182,1194,1342,2275],[97,143,226,617,1088,1182],[97,143,226,618,1182,1194,1342,3104],[85,97,143,226,617,618,1182,2295,2569],[85,97,143,226,1066,1182],[97,143,226,1182,1194,1342,3121],[85,97,143,226,617,618,619,1182,2272,2295,2569],[85,97,143,226,617,618,1182,2272,2295,2569],[85,97,143,226,1090,1182],[97,143,226,1194,1298],[97,143,226,1179,1181],[97,143,226,1100,1101,1194,2278],[97,143,226,1074,1100,1101,1102,1104,1105,2277],[97,143,226,629,630],[97,143,226,1059,1194,1342,2281],[97,143,226,1059],[97,143,226,1194,2283],[85,97,143,226,1194,1260,1342,1598,2019],[97,143,226,1059,1250,2018],[97,143,226,1180,1194,1288],[97,143,226,616,624,1179,1180,1286,1287],[97,143,226,616,1194],[97,143,226,1179,1194],[97,143,226,1180,1194],[97,143,226,1179],[97,143,226,616,617,1194],[85,97,143,226,615,616],[97,143,226,1994],[97,143,226,1084,1194,1357],[97,143,226,1084],[97,143,226,619,620,1194],[97,143,226,619],[97,143,226,617,1161,1194],[97,143,226,617],[97,143,226,1173],[97,143,226,1194,2295],[97,143,226,621,622,1194],[97,143,226,621],[97,143,226,1194,2556],[97,143,226,2555],[97,143,226,1194,2558],[97,143,226,1194,1946],[97,143,226,1194,1361],[97,143,226,1194,2563],[97,143,226,619,1194],[97,143,226,618],[97,143,226,1194,1905],[97,143,226,1173,1194],[97,143,226,1182,1194,1611],[97,143,226,1084,1182],[97,143,226,1194,1625],[97,143,226,1182,1194,1370],[97,143,226,1194,1994,2573],[97,143,226,1994,2572],[97,143,226,1194,1994,2572,2576],[97,143,226,1994,2573,2575],[97,143,226,1194,2575],[97,143,226,1083],[97,143,226,1084,1182,1194],[97,143,226,1194,1373],[97,143,226,626,1194,1953],[97,143,226,1060,1194],[85,97,143,226,1083,1088,1194,1342,2611,2750],[97,143,226,2587,2598],[97,143,226,2587,2600],[97,143,226,2587,2602],[97,143,226,2587,2604],[97,143,226,1194,2587],[97,143,226,2589],[97,143,226,1194,2591],[97,143,226,1194],[97,143,226,1194,1342],[85,97,143,226,1088,1194,1342,1598,1604],[97,143,226,1091,1194,1280,2761,3268],[97,143,164,226,612]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"27bdc30a0e32783366a5abeda841bc22757c1797de8681bbe81fbc735eeb1c10","impliedFormat":1},{"version":"8fd575e12870e9944c7e1d62e1f5a73fcf23dd8d3a321f2a2c74c20d022283fe","impliedFormat":1},{"version":"2ab096661c711e4a81cc464fa1e6feb929a54f5340b46b0a07ac6bbf857471f0","impliedFormat":1},{"version":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2e80ee7a49e8ac312cc11b77f1475804bee36b3b2bc896bead8b6e1266befb43","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cdf8847677ac7d20486e54dd3fcf09eda95812ac8ace44b4418da1bbbab6eb8","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"df83c2a6c73228b625b0beb6669c7ee2a09c914637e2d35170723ad49c0f5cd4","affectsGlobalScope":true,"impliedFormat":1},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e3c06ea092138bf9fa5e874a1fdbc9d54805d074bee1de31b99a11e2fec239d","affectsGlobalScope":true,"impliedFormat":1},{"version":"87dc0f382502f5bbce5129bdc0aea21e19a3abbc19259e0b43ae038a9fc4e326","affectsGlobalScope":true,"impliedFormat":1},{"version":"b1cb28af0c891c8c96b2d6b7be76bd394fddcfdb4709a20ba05a7c1605eea0f9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2fef54945a13095fdb9b84f705f2b5994597640c46afeb2ce78352fab4cb3279","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac77cb3e8c6d3565793eb90a8373ee8033146315a3dbead3bde8db5eaf5e5ec6","affectsGlobalScope":true,"impliedFormat":1},{"version":"56e4ed5aab5f5920980066a9409bfaf53e6d21d3f8d020c17e4de584d29600ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ece9f17b3866cc077099c73f4983bddbcb1dc7ddb943227f1ec070f529dedd1","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a6282c8827e4b9a95f4bf4f5c205673ada31b982f50572d27103df8ceb8013c","affectsGlobalScope":true,"impliedFormat":1},{"version":"1c9319a09485199c1f7b0498f2988d6d2249793ef67edda49d1e584746be9032","affectsGlobalScope":true,"impliedFormat":1},{"version":"e3a2a0cee0f03ffdde24d89660eba2685bfbdeae955a6c67e8c4c9fd28928eeb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811c71eee4aa0ac5f7adf713323a5c41b0cf6c4e17367a34fbce379e12bbf0a4","affectsGlobalScope":true,"impliedFormat":1},{"version":"51ad4c928303041605b4d7ae32e0c1ee387d43a24cd6f1ebf4a2699e1076d4fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"60037901da1a425516449b9a20073aa03386cce92f7a1fd902d7602be3a7c2e9","affectsGlobalScope":true,"impliedFormat":1},{"version":"d4b1d2c51d058fc21ec2629fff7a76249dec2e36e12960ea056e3ef89174080f","affectsGlobalScope":true,"impliedFormat":1},{"version":"22adec94ef7047a6c9d1af3cb96be87a335908bf9ef386ae9fd50eeb37f44c47","affectsGlobalScope":true,"impliedFormat":1},{"version":"196cb558a13d4533a5163286f30b0509ce0210e4b316c56c38d4c0fd2fb38405","affectsGlobalScope":true,"impliedFormat":1},{"version":"73f78680d4c08509933daf80947902f6ff41b6230f94dd002ae372620adb0f60","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5239f5c01bcfa9cd32f37c496cf19c61d69d37e48be9de612b541aac915805b","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"7e29f41b158de217f94cb9676bf9cbd0cd9b5a46e1985141ed36e075c52bf6ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac51dd7d31333793807a6abaa5ae168512b6131bd41d9c5b98477fc3b7800f9f","impliedFormat":1},{"version":"814d5c7384f3ca276e9dc4bcfde5545801a3ea0bfae09916b3336774e662fd1b","impliedFormat":1},{"version":"acd8fd5090ac73902278889c38336ff3f48af6ba03aa665eb34a75e7ba1dccc4","impliedFormat":1},{"version":"d6258883868fb2680d2ca96bc8b1352cab69874581493e6d52680c5ffecdb6cc","impliedFormat":1},{"version":"1b61d259de5350f8b1e5db06290d31eaebebc6baafd5f79d314b5af9256d7153","impliedFormat":1},{"version":"f258e3960f324a956fc76a3d3d9e964fff2244ff5859dcc6ce5951e5413ca826","impliedFormat":1},{"version":"643f7232d07bf75e15bd8f658f664d6183a0efaca5eb84b48201c7671a266979","impliedFormat":1},{"version":"21da358700a3893281ce0c517a7a30cbd46be020d9f0c3f2834d0a8ad1f5fc75","impliedFormat":1},{"version":"70521b6ab0dcba37539e5303104f29b721bfb2940b2776da4cc818c07e1fefc1","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","affectsGlobalScope":true,"impliedFormat":1},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"98cffbf06d6bab333473c70a893770dbe990783904002c4f1a960447b4b53dca","affectsGlobalScope":true,"impliedFormat":1},{"version":"ba481bca06f37d3f2c137ce343c7d5937029b2468f8e26111f3c9d9963d6568d","affectsGlobalScope":true,"impliedFormat":1},{"version":"6d9ef24f9a22a88e3e9b3b3d8c40ab1ddb0853f1bfbd5c843c37800138437b61","affectsGlobalScope":true,"impliedFormat":1},{"version":"1db0b7dca579049ca4193d034d835f6bfe73096c73663e5ef9a0b5779939f3d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"9798340ffb0d067d69b1ae5b32faa17ab31b82466a3fc00d8f2f2df0c8554aaa","affectsGlobalScope":true,"impliedFormat":1},{"version":"f26b11d8d8e4b8028f1c7d618b22274c892e4b0ef5b3678a8ccbad85419aef43","affectsGlobalScope":true,"impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"763fe0f42b3d79b440a9b6e51e9ba3f3f91352469c1e4b3b67bfa4ff6352f3f4","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"7f182617db458e98fc18dfb272d40aa2fff3a353c44a89b2c0ccb3937709bfb5","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"b52476feb4a0cbcb25e5931b930fc73cb6643fb1a5060bf8a3dda0eeae5b4b68","affectsGlobalScope":true,"impliedFormat":1},{"version":"e2677634fe27e87348825bb041651e22d50a613e2fdf6a4a3ade971d71bac37e","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"8c0bcd6c6b67b4b503c11e91a1fb91522ed585900eab2ab1f61bba7d7caa9d6f","impliedFormat":1},{"version":"8cd19276b6590b3ebbeeb030ac271871b9ed0afc3074ac88a94ed2449174b776","affectsGlobalScope":true,"impliedFormat":1},{"version":"696eb8d28f5949b87d894b26dc97318ef944c794a9a4e4f62360cd1d1958014b","impliedFormat":1},{"version":"3f8fa3061bd7402970b399300880d55257953ee6d3cd408722cb9ac20126460c","impliedFormat":1},{"version":"35ec8b6760fd7138bbf5809b84551e31028fb2ba7b6dc91d95d098bf212ca8b4","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"68bd56c92c2bd7d2339457eb84d63e7de3bd56a69b25f3576e1568d21a162398","affectsGlobalScope":true,"impliedFormat":1},{"version":"3e93b123f7c2944969d291b35fed2af79a6e9e27fdd5faa99748a51c07c02d28","impliedFormat":1},{"version":"9d19808c8c291a9010a6c788e8532a2da70f811adb431c97520803e0ec649991","impliedFormat":1},{"version":"87aad3dd9752067dc875cfaa466fc44246451c0c560b820796bdd528e29bef40","impliedFormat":1},{"version":"4aacb0dd020eeaef65426153686cc639a78ec2885dc72ad220be1d25f1a439df","impliedFormat":1},{"version":"f0bd7e6d931657b59605c44112eaf8b980ba7f957a5051ed21cb93d978cf2f45","impliedFormat":1},{"version":"8db0ae9cb14d9955b14c214f34dae1b9ef2baee2fe4ce794a4cd3ac2531e3255","affectsGlobalScope":true,"impliedFormat":1},{"version":"15fc6f7512c86810273af28f224251a5a879e4261b4d4c7e532abfbfc3983134","impliedFormat":1},{"version":"58adba1a8ab2d10b54dc1dced4e41f4e7c9772cbbac40939c0dc8ce2cdb1d442","impliedFormat":1},{"version":"641942a78f9063caa5d6b777c99304b7d1dc7328076038c6d94d8a0b81fc95c1","impliedFormat":1},{"version":"714435130b9015fae551788df2a88038471a5a11eb471f27c4ede86552842bc9","impliedFormat":1},{"version":"855cd5f7eb396f5f1ab1bc0f8580339bff77b68a770f84c6b254e319bbfd1ac7","impliedFormat":1},{"version":"5650cf3dace09e7c25d384e3e6b818b938f68f4e8de96f52d9c5a1b3db068e86","impliedFormat":1},{"version":"1354ca5c38bd3fd3836a68e0f7c9f91f172582ba30ab15bb8c075891b91502b7","affectsGlobalScope":true,"impliedFormat":1},{"version":"27fdb0da0daf3b337c5530c5f266efe046a6ceb606e395b346974e4360c36419","impliedFormat":1},{"version":"2d2fcaab481b31a5882065c7951255703ddbe1c0e507af56ea42d79ac3911201","impliedFormat":1},{"version":"a192fe8ec33f75edbc8d8f3ed79f768dfae11ff5735e7fe52bfa69956e46d78d","impliedFormat":1},{"version":"ca867399f7db82df981d6915bcbb2d81131d7d1ef683bc782b59f71dda59bc85","affectsGlobalScope":true,"impliedFormat":1},{"version":"372413016d17d804e1d139418aca0c68e47a83fb6669490857f4b318de8cccb3","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e043a1bc8fbf2a255bccf9bf27e0f1caf916c3b0518ea34aa72357c0afd42ec","impliedFormat":1},{"version":"b4f70ec656a11d570e1a9edce07d118cd58d9760239e2ece99306ee9dfe61d02","impliedFormat":1},{"version":"3bc2f1e2c95c04048212c569ed38e338873f6a8593930cf5a7ef24ffb38fc3b6","impliedFormat":1},{"version":"6e70e9570e98aae2b825b533aa6292b6abd542e8d9f6e9475e88e1d7ba17c866","impliedFormat":1},{"version":"f9d9d753d430ed050dc1bf2667a1bab711ccbb1c1507183d794cc195a5b085cc","impliedFormat":1},{"version":"9eece5e586312581ccd106d4853e861aaaa1a39f8e3ea672b8c3847eedd12f6e","impliedFormat":1},{"version":"47ab634529c5955b6ad793474ae188fce3e6163e3a3fb5edd7e0e48f14435333","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"45650f47bfb376c8a8ed39d4bcda5902ab899a3150029684ee4c10676d9fbaee","impliedFormat":1},{"version":"fad4e3c207fe23922d0b2d06b01acbfb9714c4f2685cf80fd384c8a100c82fd0","affectsGlobalScope":true,"impliedFormat":1},{"version":"74cf591a0f63db318651e0e04cb55f8791385f86e987a67fd4d2eaab8191f730","impliedFormat":1},{"version":"5eab9b3dc9b34f185417342436ec3f106898da5f4801992d8ff38ab3aff346b5","impliedFormat":1},{"version":"12ed4559eba17cd977aa0db658d25c4047067444b51acfdcbf38470630642b23","affectsGlobalScope":true,"impliedFormat":1},{"version":"f3ffabc95802521e1e4bcba4c88d8615176dc6e09111d920c7a213bdda6e1d65","impliedFormat":1},{"version":"809821b8a065e3234a55b3a9d7846231ed18d66dd749f2494c66288d890daf7f","impliedFormat":1},{"version":"ae56f65caf3be91108707bd8dfbccc2a57a91feb5daabf7165a06a945545ed26","impliedFormat":1},{"version":"a136d5de521da20f31631a0a96bf712370779d1c05b7015d7019a9b2a0446ca9","impliedFormat":1},{"version":"c3b41e74b9a84b88b1dca61ec39eee25c0dbc8e7d519ba11bb070918cfacf656","affectsGlobalScope":true,"impliedFormat":1},{"version":"4737a9dc24d0e68b734e6cfbcea0c15a2cfafeb493485e27905f7856988c6b29","affectsGlobalScope":true,"impliedFormat":1},{"version":"36d8d3e7506b631c9582c251a2c0b8a28855af3f76719b12b534c6edf952748d","impliedFormat":1},{"version":"1ca69210cc42729e7ca97d3a9ad48f2e9cb0042bada4075b588ae5387debd318","impliedFormat":1},{"version":"f5ebe66baaf7c552cfa59d75f2bfba679f329204847db3cec385acda245e574e","impliedFormat":1},{"version":"ed59add13139f84da271cafd32e2171876b0a0af2f798d0c663e8eeb867732cf","affectsGlobalScope":true,"impliedFormat":1},{"version":"b7c5e2ea4a9749097c347454805e933844ed207b6eefec6b7cfd418b5f5f7b28","impliedFormat":1},{"version":"b1810689b76fd473bd12cc9ee219f8e62f54a7d08019a235d07424afbf074d25","impliedFormat":1},{"version":"2beff543f6e9a9701df88daeee3cdd70a34b4a1c11cb4c734472195a5cb2af54","impliedFormat":1},{"version":"2e07abf27aa06353d46f4448c0bbac73431f6065eef7113128a5cd804d0c384d","impliedFormat":1},{"version":"be1cc4d94ea60cbe567bc29ed479d42587bf1e6cba490f123d329976b0fe4ee5","impliedFormat":1},{"version":"66be1299a7a3129ceb488b340c291cf575bebb0e337f92e169dec38231472e34","impliedFormat":1},{"version":"9894dafe342b976d251aac58e616ac6df8db91fb9d98934ff9dd103e9e82578f","impliedFormat":1},{"version":"413df52d4ea14472c2fa5bee62f7a40abd1eb49be0b9722ee01ee4e52e63beb2","impliedFormat":1},{"version":"db6d2d9daad8a6d83f281af12ce4355a20b9a3e71b82b9f57cddcca0a8964a96","impliedFormat":1},{"version":"446a50749b24d14deac6f8843e057a6355dd6437d1fac4f9e5ce4a5071f34bff","impliedFormat":1},{"version":"182e9fcbe08ac7c012e0a6e2b5798b4352470be29a64fdc114d23c2bab7d5106","impliedFormat":1},{"version":"2f4e6b4d39426a1b85ecf4bdeb9dddbf4d9b3397d95d8555d46f925c9519ec7d","impliedFormat":1},{"version":"78a2869ad0cbf3f9045dda08c0d4562b7e1b2bfe07b19e0db072f5c3c56e9584","impliedFormat":1},{"version":"89d5d28d4f57e000b836ac273079be1b75710e28ce14750d081fb420d37e2ca5","impliedFormat":1},{"version":"fd4e24ccff3966390600d7f5d6aa1fed5a512e92ada735ea5fbc933d313ad3d3","impliedFormat":1},{"version":"b7cddfe1aa6b86b5fad3c9ccb30d05b3ccb165aebbf112f48d2d8a5f69dd98b1","impliedFormat":1},{"version":"a86f82d646a739041d6702101afa82dcb935c416dd93cbca7fd754fd0282ce1f","impliedFormat":1},{"version":"ad0d1d75d129b1c80f911be438d6b61bfa8703930a8ff2be2f0e1f8a91841c64","impliedFormat":1},{"version":"bd2c7ada3dee03653d3f601011d30072194bc3970cd93208f9588fbdc0c69347","impliedFormat":1},{"version":"e480da45d32313e7174b265674da504f075f59ef326852f0c5a5d863b438ae85","impliedFormat":1},{"version":"ad54850f61fcf5d014e11be80d2f46fea9265cfa7e77456da876f7833ef81769","impliedFormat":1},{"version":"6f7c9e8bd2b5b6a080b07080065f94900bd3c7e5ebbd3047bc33fcce2fab1dd8","impliedFormat":1},{"version":"3e7efde639c6a6c3edb9847b3f61e308bf7a69685b92f665048c45132f51c218","impliedFormat":1},{"version":"df45ca1176e6ac211eae7ddf51336dc075c5314bc5c253651bae639defd5eec5","impliedFormat":1},{"version":"8a0e762ceb20c7e72504feef83d709468a70af4abccb304f32d6b9bac1129b2c","impliedFormat":1},{"version":"da5950ee2a90721df6f3fba45f5d05308f7e4c35835392215dd2cd404505e2de","impliedFormat":1},{"version":"ce75b1aebb33d510ff28af960a9221410a3eaf7f18fc5f21f9404075fba77256","impliedFormat":1},{"version":"f42d5fed19610d485c646a0c430e768115567d078c7fc855c57b0c578b3d6cd3","impliedFormat":1},{"version":"ee8df1cb8d0faaca4013a1b442e99130769ce06f438d18d510fed95890067563","impliedFormat":1},{"version":"d5630f2ad9b4541e5ce891648121022f9412ecdca1820baa1f0104f70fd7eff7","impliedFormat":1},{"version":"4d15375ab13497104bc8fe56fdef2b5fd6853f29255737d23a33fa306ff7fd69","impliedFormat":1},{"version":"2cd3fc1d0d6a1e85baffd2d4f50f5efb192b5446eef567e97c94765402f0aad4","impliedFormat":1},{"version":"e4cbf2f1e89ecccaddd2c045e600ae41b732295953fb06247c7dcbc2d281ed30","impliedFormat":1},{"version":"6dcedaef57dff0d79a05ab0ab602cde74db803d1e765468bf91263786a383e1b","impliedFormat":1},{"version":"8c1697d90c394a6fd955b98eae01238eff628e129b987a68aea10f898a48e7da","impliedFormat":1},{"version":"7580e62139cb2b44a0270c8d01abcbfcba2819a02514a527342447fa69b34ef1","impliedFormat":1},{"version":"b838d4c72740eb0afd284bf7575b74c624b105eff2e8c7b4aeead57e7ac320ff","impliedFormat":1},{"version":"f374cb24e93e7798c4d9e83ff872fa52d2cdb36306392b840a6ddf46cb925cb6","impliedFormat":1},{"version":"d10d63718e1646c2279e3b33831f82c60e31f622b2b7020f1196409ca4c09242","impliedFormat":1},{"version":"106c6025f1d99fd468fd8bf6e5bda724e11e5905a4076c5d29790b6c3745e50c","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"148679c6d0f449210a96e7d2e562d589e56fcde87f843a92808b3ff103f1a774","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"02436d7e9ead85e09a2f8e27d5f47d9464bced31738dec138ca735390815c9f0","impliedFormat":1},{"version":"f8d5ff8eafd37499f2b6a98659dd9b45a321de186b8db6b6142faed0fea3de77","impliedFormat":1},{"version":"c86fe861cf1b4c46a0fb7d74dffe596cf679a2e5e8b1456881313170f092e3fa","impliedFormat":1},{"version":"a22dd55aa4d39906252000ab8e8a1b83b195eef7f4274eb51e457c1f11cf6580","impliedFormat":1},{"version":"540cc83ab772a2c6bc509fe1354f314825b5dba3669efdfbe4693ecd3048e34f","impliedFormat":1},{"version":"121b0696021ab885c570bbeb331be8ad82c6efe2f3b93a6e63874901bebc13e3","impliedFormat":1},{"version":"612d9da66bb046a9c1e2e8d026245ded881fc4b9f98cbfae714415d57ee0ae0b","impliedFormat":1},{"version":"32c2ad9494dad5d11b0564a619fee18f388db6c1e9e2cd3c360b3122549691eb","impliedFormat":1},{"version":"6c301d40aec56a74ec7bd7324e31a728dadf9bfba3e96def02938d3d973534ec","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1},{"version":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1},{"version":"aa14cee20aa0db79f8df101fc027d929aec10feb5b8a8da3b9af3895d05b7ba2","impliedFormat":1},{"version":"493c700ac3bd317177b2eb913805c87fe60d4e8af4fb39c41f04ba81fae7e170","impliedFormat":1},{"version":"aeb554d876c6b8c818da2e118d8b11e1e559adbe6bf606cc9a611c1b6c09f670","impliedFormat":1},{"version":"acf5a2ac47b59ca07afa9abbd2b31d001bf7448b041927befae2ea5b1951d9f9","impliedFormat":1},{"version":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1},{"version":"d71291eff1e19d8762a908ba947e891af44749f3a2cbc5bd2ec4b72f72ea795f","impliedFormat":1},{"version":"c0480e03db4b816dff2682b347c95f2177699525c54e7e6f6aa8ded890b76be7","impliedFormat":1},{"version":"25a5f6fd3a2243c859eddc99ab5fba11d970af2fe7a5df9c32b7668f76f97b01","impliedFormat":1},{"version":"8d207e1f9d2c30d6f77dfa693f3827c3fbf0d89240297e10bdfe1041d433df68","impliedFormat":1},{"version":"b620391fe8060cf9bedc176a4d01366e6574d7a71e0ac0ab344a4e76576fcbb8","impliedFormat":1},{"version":"6ac6715916fa75a1f7ebdfeacac09513b4d904b667d827b7535e84ff59679aff","impliedFormat":1},{"version":"2652448ac55a2010a1f71dd141f828b682298d39728f9871e1cdf8696ef443fd","impliedFormat":1},{"version":"d682336018141807fb602709e2d95a192828fcb8d5ba06dda3833a8ea98f69e3","impliedFormat":1},{"version":"6124e973eab8c52cabf3c07575204efc1784aca6b0a30c79eb85fe240a857efa","impliedFormat":1},{"version":"0d891735a21edc75df51f3eb995e18149e119d1ce22fd40db2b260c5960b914e","impliedFormat":1},{"version":"3b414b99a73171e1c4b7b7714e26b87d6c5cb03d200352da5342ab4088a54c85","impliedFormat":1},{"version":"4fbd3116e00ed3a6410499924b6403cc9367fdca303e34838129b328058ede40","impliedFormat":1},{"version":"9c82171d836c47486074e4ca8e059735bf97b205e70b196535b5efd40cbe1bc5","impliedFormat":1},{"version":"48dcc919f76c040a999c0d46d2bf25ab089645ca21b837f120b222f56a86cd76","impliedFormat":1},{"version":"2f9c89cbb29d362290531b48880a4024f258c6033aaeb7e59fbc62db26819650","impliedFormat":1},{"version":"a365c4d3bed3be4e4e20793c999c51f5cd7e6792322f14650949d827fbcd170f","impliedFormat":1},{"version":"c5426dbfc1cf90532f66965a7aa8c1136a78d4d0f96d8180ecbfc11d7722f1a5","impliedFormat":1},{"version":"65a15fc47900787c0bd18b603afb98d33ede930bed1798fc984d5ebb78b26cf9","impliedFormat":1},{"version":"9d202701f6e0744adb6314d03d2eb8fc994798fc83d91b691b75b07626a69801","impliedFormat":1},{"version":"de9d2df7663e64e3a91bf495f315a7577e23ba088f2949d5ce9ec96f44fba37d","impliedFormat":1},{"version":"c7af78a2ea7cb1cd009cfb5bdb48cd0b03dad3b54f6da7aab615c2e9e9d570c5","impliedFormat":1},{"version":"1ee45496b5f8bdee6f7abc233355898e5bf9bd51255db65f5ff7ede617ca0027","impliedFormat":1},{"version":"273782b8454e78f6a8b30d2cfbf6860499c930595095fcc1689637115f0eddda","affectsGlobalScope":true,"impliedFormat":1},{"version":"3fbdd025f9d4d820414417eeb4107ffa0078d454a033b506e22d3a23bc3d9c41","affectsGlobalScope":true,"impliedFormat":1},{"version":"dba114fb6a32b355a9cfc26ca2276834d72fe0e94cd2c3494005547025015369","impliedFormat":1},{"version":"a8f8e6ab2fa07b45251f403548b78eaf2022f3c2254df3dc186cb2671fe4996d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fa6c12a7c0f6b84d512f200690bfc74819e99efae69e4c95c4cd30f6884c526e","impliedFormat":1},{"version":"f1c32f9ce9c497da4dc215c3bc84b722ea02497d35f9134db3bb40a8d918b92b","impliedFormat":1},{"version":"b73c319af2cc3ef8f6421308a250f328836531ea3761823b4cabbd133047aefa","affectsGlobalScope":true,"impliedFormat":1},{"version":"e433b0337b8106909e7953015e8fa3f2d30797cea27141d1c5b135365bb975a6","impliedFormat":1},{"version":"9f9bb6755a8ce32d656ffa4763a8144aa4f274d6b69b59d7c32811031467216e","impliedFormat":1},{"version":"5c32bdfbd2d65e8fffbb9fbda04d7165e9181b08dad61154961852366deb7540","impliedFormat":1},{"version":"ddff7fc6edbdc5163a09e22bf8df7bef75f75369ebd7ecea95ba55c4386e2441","impliedFormat":1},{"version":"0c05e9842ec4f8b7bfebfd3ca61604bb8c914ba8da9b5337c4f25da427a005f2","impliedFormat":1},{"version":"faed7a5153215dbd6ebe76dfdcc0af0cfe760f7362bed43284be544308b114cf","impliedFormat":1},{"version":"7029e566b8df176f703fb59fd437a38670c7a0e02c58b2d66dfb5b2e2b2defdb","impliedFormat":1},{"version":"7f2aa4d4989a82530aaac3f72b3dceca90e9c25bee0b1a327e8a08a1262435ad","impliedFormat":1},{"version":"d96b39301d0ded3f1a27b47759676a33a02f6f5049bfcbde81e533fd10f50dcb","impliedFormat":1},{"version":"e9f147ecca73d9346a4c073432843c159ccbe50bdcb678a78f6da10eae2cecf4","impliedFormat":1},{"version":"de061f7d72bd65c06fc1419f841dfdcb29a8e22fe6fa527d1e6eb20b897d4de0","impliedFormat":1},{"version":"663beafc2446079574570cba86e9b15f986f908ddb1b01274509970126fee945","impliedFormat":1},{"version":"a3102887d5058bf4cb5b37fa6964c09e9527c42053b3b5c642b89878620748de","impliedFormat":1},{"version":"0aaaa1727edd29673d85c9b26d7ca4d54e5407a48586903c51b48b7f7d196f61","impliedFormat":1},{"version":"d35bca0b261bff02635758c48e8ab99c61c420d0dfabbcf467e847171d876b7d","impliedFormat":1},{"version":"3bc12c40d90c342ff88a3d876996c555ed5cbee5fe8c3308a240b321f401ee46","impliedFormat":1},{"version":"ba130768aae855a5477e9e148e5c879548e6e7ccbcc56fd1934c8a18ea5b7569","impliedFormat":1},{"version":"2e4f37ffe8862b14d8e24ae8763daaa8340c0df0b859d9a9733def0eee7562d9","impliedFormat":1},{"version":"d38530db0601215d6d767f280e3a3c54b2a83b709e8d9001acb6f61c67e965fc","impliedFormat":1},{"version":"6ac6715916fa75a1f7ebdfeacac09513b4d904b667d827b7535e84ff59679aff","impliedFormat":1},{"version":"b499af2054a037a162b3b72cd886f48bbf32a3502c865c6e29fac7d2ab3ce0b5","impliedFormat":1},{"version":"b83cb14474fa60c5f3ec660146b97d122f0735627f80d82dd03e8caa39b4388c","impliedFormat":1},{"version":"48773ca557b0319c2ee62ae249cf52a81709e8be139920d6479a66274de7c4ed","impliedFormat":1},{"version":"7274fbffbd7c9589d8d0ffba68157237afd5cecff1e99881ea3399127e60572f","impliedFormat":1},{"version":"b73cbf0a72c8800cf8f96a9acfe94f3ad32ca71342a8908b8ae484d61113f647","impliedFormat":1},{"version":"bae6dd176832f6423966647382c0d7ba9e63f8c167522f09a982f086cd4e8b23","impliedFormat":1},{"version":"20865ac316b8893c1a0cc383ccfc1801443fbcc2a7255be166cf90d03fac88c9","impliedFormat":1},{"version":"c9958eb32126a3843deedda8c22fb97024aa5d6dd588b90af2d7f2bfac540f23","impliedFormat":1},{"version":"461d0ad8ae5f2ff981778af912ba71b37a8426a33301daa00f21c6ccb27f8156","impliedFormat":1},{"version":"e927c2c13c4eaf0a7f17e6022eee8519eb29ef42c4c13a31e81a611ab8c95577","impliedFormat":1},{"version":"fcafff163ca5e66d3b87126e756e1b6dfa8c526aa9cd2a2b0a9da837d81bbd72","impliedFormat":1},{"version":"70246ad95ad8a22bdfe806cb5d383a26c0c6e58e7207ab9c431f1cb175aca657","impliedFormat":1},{"version":"f00f3aa5d64ff46e600648b55a79dcd1333458f7a10da2ed594d9f0a44b76d0b","impliedFormat":1},{"version":"772d8d5eb158b6c92412c03228bd9902ccb1457d7a705b8129814a5d1a6308fc","impliedFormat":1},{"version":"802e797bcab5663b2c9f63f51bdf67eff7c41bc64c0fd65e6da3e7941359e2f7","impliedFormat":1},{"version":"b01bd582a6e41457bc56e6f0f9de4cb17f33f5f3843a7cf8210ac9c18472fb0f","impliedFormat":1},{"version":"8b4327413e5af38cd8cb97c59f48c3c866015d5d642f28518e3a891c469f240e","impliedFormat":1},{"version":"4cceef18d7f088e797a463e90b7a9dad10c6bc667724b7686e3e740ae00122be","impliedFormat":1},{"version":"7ee86fbb3754388e004de0ef9e6505485ddfb3be7640783d6d015711c03d302d","impliedFormat":1},{"version":"cc1954b539604b1e562319119ac7e888172208b32ca873f9a357a92c826bd046","impliedFormat":1},{"version":"a67b87d0281c97dfc1197ef28dfe397fc2c865ccd41f7e32b53f647184cc7307","impliedFormat":1},{"version":"771ffb773f1ddd562492a6b9aaca648192ac3f056f0e1d997678ff97dbb6bf9b","impliedFormat":1},{"version":"43e96a3d5d1411ab40ba2f61d6a3192e58177bcf3b133a80ad2a16591611726d","impliedFormat":1},{"version":"232f70c0cf2b432f3a6e56a8dc3417103eb162292a9fd376d51a3a9ea5fbbf6f","impliedFormat":1},{"version":"bb8f2dbc03533abca2066ce4655c119bff353dd4514375beb93c08590c03e023","impliedFormat":1},{"version":"706dd95827e7ebaabda91d5db2b755233e0952d98570e9c032b0f066a15c1177","affectsGlobalScope":true,"impliedFormat":1},{"version":"0b103e9abfe82d14c0ad06a55d9f91d6747154ef7cacc73cf27ecad2bfb3afcf","impliedFormat":1},{"version":"cd9304972e6d616197fb44fce00540a904f38b54306a1951b5dbeaf3c01ab5bd","impliedFormat":1},{"version":"77438e2c397a3db78407621cfc57241a305b310ddea2c185f1d555248297f587","impliedFormat":1},{"version":"120599fd965257b1f4d0ff794bc696162832d9d8467224f4665f713a3119078b","impliedFormat":1},{"version":"43ba4f2fa8c698f5c304d21a3ef596741e8e85a810b7c1f9b692653791d8d97a","impliedFormat":1},{"version":"5433f33b0a20300cca35d2f229a7fc20b0e8477c44be2affeb21cb464af60c76","impliedFormat":1},{"version":"db036c56f79186da50af66511d37d9fe77fa6793381927292d17f81f787bb195","impliedFormat":1},{"version":"a6805fcafed712aea7759f8bc731014f9d22738c1d6ef9d43b8091d1d48346d5","impliedFormat":1},{"version":"c49469a5349b3cc1965710b5b0f98ed6c028686aa8450bcb3796728873eb923e","impliedFormat":1},{"version":"4a889f2c763edb4d55cb624257272ac10d04a1cad2ed2948b10ed4a7fda2a428","impliedFormat":1},{"version":"7bb79aa2fead87d9d56294ef71e056487e848d7b550c9a367523ee5416c44cfa","impliedFormat":1},{"version":"d88ea80a6447d7391f52352ec97e56b52ebec934a4a4af6e2464cfd8b39c3ba8","impliedFormat":1},{"version":"142617b3cdf902b69c6464c9fbd942b60ab3e733ca18c032b19e0f7e2adbefe8","impliedFormat":1},{"version":"0b603555f1881f87256ffd6344d3e3ed6d466c2e701eabf381f28be8c2125892","impliedFormat":1},{"version":"897e4f7662488e3ecc79e743bdd3b78f13bdb69a97851afa5b440c4211e32ea9","impliedFormat":1},{"version":"e2e1c6d3b2d93add5200bd7bc1a8cccb4e446836b2111ece45db8683a2c765de","impliedFormat":1},{"version":"251b03d5cd243854ce870d9a9a39f491faf69898c5d6b5eee28cc7649c57417b","impliedFormat":1},{"version":"27ff4196654e6373c9af16b6165120e2dd2169f9ad6abb5c935af5abd8c7938c","impliedFormat":1},{"version":"2c4de79f406d137390608e8c0a44fba2ff8e00bacfcae7c9d1781fef10e9440d","impliedFormat":1},{"version":"07ba23a10465791be5d22deaf5ef7de7658774ddff53721e5ea17fedea1bc721","impliedFormat":1},{"version":"dca8c645c5afeb03b1ecedbf16323f33e7d0afaa6256c8e047e6e38087a97f53","impliedFormat":1},{"version":"775f181bd4a533d6f8b5e55ec1d9f1624559720ae8a70e9432258da26b38d27c","impliedFormat":1},{"version":"796273b2edc72e78a04e86d7c58ae94d370ab93a0ddf40b1aa85a37a1c29ecd7","impliedFormat":1},{"version":"5df15a69187d737d6d8d066e189ae4f97e41f4d53712a46b2710ff9f8563ec9f","impliedFormat":1},{"version":"7715134a0cf07dd41a9da2895d708625a3a303a0385e355ecaaf0b8bfaef2550","impliedFormat":1},{"version":"6ac6715916fa75a1f7ebdfeacac09513b4d904b667d827b7535e84ff59679aff","impliedFormat":1},{"version":"622694a8522b46f6310c2a9b5d2530dde1e2854cb5829354e6d1ff8f371cf469","impliedFormat":1},{"version":"cd8ce8d68567f62dd580b3c3c37777ac3f5b81944c7417f5ea83030eab533385","impliedFormat":1},{"version":"e5c939d896565dcac0f6fbdbada11284e7728ef26a069561c09aa5aa4a788393","impliedFormat":1},{"version":"9e2739b32f741859263fdba0244c194ca8e96da49b430377930b8f721d77c000","impliedFormat":1},{"version":"a9e6c0ff3f8186fccd05752cf75fc94e147c02645087ac6de5cc16403323d870","impliedFormat":1},{"version":"49af4b52f0d4d2304c5f2c6fe5fab3e153e0acc38830d0202821b877c097dd02","impliedFormat":1},{"version":"49c346823ba6d4b12278c12c977fb3a31c06b9ca719015978cb145eb86da1c61","impliedFormat":1},{"version":"bfac6e50eaa7e73bb66b7e052c38fdc8ccfc8dbde2777648642af33cf349f7f1","impliedFormat":1},{"version":"92f7c1a4da7fbfd67a2228d1687d5c2e1faa0ba865a94d3550a3941d7527a45d","impliedFormat":1},{"version":"f53b120213a9289d9a26f5af90c4c686dd71d91487a0aa5451a38366c70dc64b","impliedFormat":1},{"version":"e68b8e5a1df7c1be2bc105141456ecba70215806e1c28bfbc5c12bfce4be6e68","impliedFormat":1},{"version":"511c8f02329808d47d00b859c532ae9115590048b17325a946c74dac48428650","impliedFormat":1},{"version":"57d67b72e06059adc5e9454de26bbfe567d412b962a501d263c75c2db430f40e","impliedFormat":1},{"version":"b5f9e66625783eefcbe3d2da074b2e7ba2066d61ce3fc6ef4f22805ad946cab4","impliedFormat":1},{"version":"e37115962d284b9f7a37c2bdd2add50f88365dde41f5e0ff591ffc48a8ec7575","impliedFormat":1},{"version":"6459054aabb306821a043e02b89d54da508e3a6966601a41e71c166e4ea1474f","impliedFormat":1},{"version":"bb37588926aba35c9283fe8d46ebf4e79ffe976343105f5c6d45f282793352b2","impliedFormat":1},{"version":"f89488602bec98a142072fae7ea5ba99431a569ff580c64b7be39896474799d8","impliedFormat":1},{"version":"bbbc47961f39a57df103cf4ca3bb8f8732b4b6678a18225a0aa76d59c466956c","impliedFormat":1},{"version":"2e6114a7dd6feeef85b2c80120fdbfb59a5529c0dcc5bfa8447b6996c97a69f5","impliedFormat":1},{"version":"2ffb043dc5163458e473b7010859f86e01dc4edffcae0a93d885d028b426a546","impliedFormat":1},{"version":"c8f004e6036aa1c764ad4ec543cf89a5c1893a9535c80ef3f2b653e370de45e6","impliedFormat":1},{"version":"dd80b1e600d00f5c6a6ba23f455b84a7db121219e68f89f10552c54ba46e4dc9","impliedFormat":1},{"version":"b064c36f35de7387d71c599bfcf28875849a1dbc733e82bd26cae3d1cd060521","impliedFormat":1},{"version":"05c7280d72f3ed26f346cbe7cbbbb002fb7f15739197cbbee6ab3fd1a6cb9347","impliedFormat":1},{"version":"8de9fe97fa9e00ec00666fa77ab6e91b35d25af8ca75dabcb01e14ad3299b150","impliedFormat":1},{"version":"04b7b2e0832dfd3c31e81df3975e8d8fda28e7ff999b0aa2932608a8f6661d5c","impliedFormat":1},{"version":"ca2d34c6ed5cbd3070b8b6f32f42ae54adcc6499c1e4b99f0a5798b3f27cc653","impliedFormat":1},{"version":"9ec68995e66dd6b9dac834bf5ae85fde802714ea2e82151a5d1d53ef01b463ef","impliedFormat":1},{"version":"5c4d626b4902f2ef8a1cc146d761d276cef988016dc674e3b98fbad70e64bc9f","impliedFormat":1},{"version":"fdfaa0aad899524962e2955287b5b991ffe3be50f64e02eb60c933ca44644a94","impliedFormat":1},{"version":"53c972a0f9bc3a4ec70fff7314123ea8cfcf75b3703046f767d2dc1eea87b2fb","impliedFormat":1},{"version":"f974e4a06953682a2c15d5bd5114c0284d5abf8bc0fe4da25cb9159427b70072","impliedFormat":1},{"version":"50256e9c31318487f3752b7ac12ff365c8949953e04568009c8705db802776fb","impliedFormat":1},{"version":"7d73b24e7bf31dfb8a931ca6c4245f6bb0814dfae17e4b60c9e194a631fe5f7b","impliedFormat":1},{"version":"d130c5f73768de51402351d5dc7d1b36eaec980ca697846e53156e4ea9911476","impliedFormat":1},{"version":"413586add0cfe7369b64979d4ec2ed56c3f771c0667fbde1bf1f10063ede0b08","impliedFormat":1},{"version":"06472528e998d152375ad3bd8ebcb69ff4694fd8d2effaf60a9d9f25a37a097a","impliedFormat":1},{"version":"7303b45138d2511035056a5901a1490ebdcbf055cbb1276f8629c5121cbe733e","impliedFormat":1},{"version":"27f874cd5327507eeff699a74567f60c1215b94509f4308633a7b01922471ed2","impliedFormat":1},{"version":"a401617604fa1f6ce437b81689563dfdc377069e4c58465dbd8d16069aede0a5","impliedFormat":1},{"version":"2c6cf04bc525caf6546e859e8ef10bfb9573837ec0bc5ec7b53a7b1b8ca72781","impliedFormat":1},{"version":"8695dec09ad439b0ceef3776ea68a232e381135b516878f0901ed2ea114fd0fe","impliedFormat":1},{"version":"304b44b1e97dd4c94697c3313df89a578dca4930a104454c99863f1784a54357","impliedFormat":1},{"version":"0a437ae178f999b46b6153d79095b60c42c996bc0458c04955f1c996dc68b971","impliedFormat":1},{"version":"74b2a5e5197bd0f2e0077a1ea7c07455bbea67b87b0869d9786d55104006784f","impliedFormat":1},{"version":"4a7baeb6325920044f66c0f8e5e6f1f52e06e6d87588d837bdf44feb6f35c664","impliedFormat":1},{"version":"87cc05fe13108f02e12da7e3efd8e360fef78d96a0c9e11408ea1b1b9fb3e03d","impliedFormat":1},{"version":"1abbf67c218d23c2ce76887caac2df6c7dab3d97ba2b65348432b876f510002a","impliedFormat":1},{"version":"1a82deef4c1d39f6882f28d275cad4c01f907b9b39be9cbc472fcf2cf051e05b","impliedFormat":1},{"version":"4b20fcf10a5413680e39f5666464859fc56b1003e7dfe2405ced82371ebd49b6","impliedFormat":1},{"version":"c06ef3b2569b1c1ad99fcd7fe5fba8d466e2619da5375dfa940a94e0feea899b","impliedFormat":1},{"version":"f7d628893c9fa52ba3ab01bcb5e79191636c4331ee5667ecc6373cbccff8ae12","impliedFormat":1},{"version":"2467b00d963828f540f4acd7910f4c04cfe4b489550e6bb682212f65583bca5b","impliedFormat":1},{"version":"854e50b93090b3f8fd6e355b074e1d24dce1ae0240f1ce46563e35fea210a6d5","impliedFormat":99},{"version":"5a16e93d5d53d987dddda1ec606c9821f6bd31d1bdf0635e05e3841312cefa8b","impliedFormat":1},{"version":"a6dba407fc287f1e25454e75028c91bbc00675f2d1c4e8b3edcc36c08611a486","impliedFormat":1},{"version":"d663134457d8d669ae0df34eabd57028bddc04fc444c4bc04bc5215afc91e1f4","impliedFormat":1},{"version":"e91f7b1344577a02f051b9b471f33044fef8334a76dc9e1de003d17595a5219b","impliedFormat":1},{"version":"c0723195c85e19656d6b5b9fdb81d3f3403c1ae4679e722c6ea058c516b38d12","impliedFormat":1},{"version":"b55eb9f72166093b5460d34b34f5d8699c968de3bc3fc696e40f2c93f2ebf650","impliedFormat":1},{"version":"71d9eb4c4e99456b78ae182fb20a5dfc20eb1667f091dbb9335b3c017dd1c783","impliedFormat":1},{"version":"cfa846a7b7847a1d973605fbb8c91f47f3a0f0643c18ac05c47077ebc72e71c7","impliedFormat":1},{"version":"1594da19968752a22b2ac48c2d0e60575700e745c577a8a4a676b841238ad5bb","impliedFormat":1},{"version":"e0cee12109e0a10a4c3d6769fcc7644b7c1ea7f52365bea51728f5af29f8a137","impliedFormat":1},{"version":"7d4254b4c6c67a29d5e7f65e67d72540480ac2cfb041ca484847f5ae70480b62","impliedFormat":1},{"version":"3536968defef8a75514f547ead5e2e9c1e984820290ec9b00c5fdfb6ef786535","impliedFormat":1},{"version":"d83773870080c30a230e322ce13a9c6f3398e8dacea4ea8a83e26370f3bac23e","impliedFormat":1},{"version":"dcfeaf98d66314fec29a9076c4290e45d0b196a65827becc19138e9c7b855f37","impliedFormat":1},{"version":"6849fe9210fe4946d5f085bfed36758f33dc6ae15a751338d178dd4daa017c46","impliedFormat":1},{"version":"888cda0fa66d7f74e985a3f7b1af1f64b8ff03eb3d5e80d051c3cbdeb7f32ab7","impliedFormat":1},{"version":"60681e13f3545be5e9477acb752b741eae6eaf4cc01658a25ec05bff8b82a2ef","impliedFormat":1},{"version":"ffae4e1e06aa848a1e4bcef162cd1c48e5909b26223515981310af9c036bdfc7","impliedFormat":1},{"version":"a57b1802794433adec9ff3fed12aa79d671faed86c49b09e02e1ac41b4f1d33a","impliedFormat":1},{"version":"34e16eb7c31768a11a08aebcfb3d70d7b8f0b016197e98d8419e566ceae6d6c8","impliedFormat":1},{"version":"f94ec1f7e4b709d26960306c9082a7a1b728a6e13089346aa48ba57c74cbf47e","impliedFormat":1},{"version":"9a11cb4033405e96c247cd5aa29790212aaffdd127869e8a5219103f0b389fd5","impliedFormat":1},{"version":"01479d9d5a5dda16d529b91811375187f61a06e74be294a35ecce77e0b9e8d6c","impliedFormat":1},{"version":"aff5213585cb72e94054dfe17250ff315f3569b3919d1ef1ad235f37c4ee894e","impliedFormat":1},{"version":"fb2ea35e1be6388d722d7725e2b49c697d34d9c890c3b96758faaeb86d35cef8","impliedFormat":1},{"version":"ce0df82a9ae6f914ba08409d4d883983cc08e6d59eb2df02d8e4d68309e7848b","impliedFormat":1},{"version":"1a4dc28334a926d90ba6a2d811ba0ff6c22775fcc13679521f034c124269fd40","impliedFormat":1},{"version":"f05315ff85714f0b87cc0b54bcd3dde2716e5a6b99aedcc19cad02bf2403e08c","impliedFormat":1},{"version":"5fad3b31fc17a5bc58095118a8b160f5260964787c52e7eb51e3d4fcf5d4a6f0","impliedFormat":1},{"version":"72105519d0390262cf0abe84cf41c926ade0ff475d35eb21307b2f94de985778","impliedFormat":1},{"version":"456006a6975b26c0a1785feddae165f6d307e2d601ffde27e21fc4a790e448a4","impliedFormat":1},{"version":"c857e0aae3f5f444abd791ec81206020fbcc1223e187316677e026d1c1d6fe08","impliedFormat":1},{"version":"ccf6dd45b708fb74ba9ed0f2478d4eb9195c9dfef0ff83a6092fa3cf2ff53b4f","impliedFormat":1},{"version":"1fe0d18b111e1145a7e7601855bccd4ca20f24e3b9a5aba6bb1fa9d1a7059170","impliedFormat":1},{"version":"5632c3c26d420c063eebe64c45b1248b9492a67bf44f1d0c57e9dc8f6cf449bb","impliedFormat":1},{"version":"0df5aa619ab12993a39ea6dae062ee46eadbb4d738916460e636ada52bced75b","impliedFormat":1},{"version":"8fca3039857709484e5893c05c1f9126ab7451fa6c29e19bb8c2411a2e937345","impliedFormat":1},{"version":"35069c2c417bd7443ae7c7cafd1de02f665bf015479fec998985ffbbf500628c","impliedFormat":1},{"version":"10ab7be91f87ebe8916b62cf28af2e45b5601fc7b0e311adf838f912c6b31dd8","impliedFormat":1},{"version":"bc636fbc08e0979ceb7eb0731a33000283d77a33b62e1f71ee65be50394e40ba","impliedFormat":1},{"version":"7e0b7f91c5ab6e33f511efc640d36e6f933510b11be24f98836a20a2dc914c2d","impliedFormat":1},{"version":"045b752f44bf9bbdcaffd882424ab0e15cb8d11fa94e1448942e338c8ef19fba","impliedFormat":1},{"version":"2894c56cad581928bb37607810af011764a2f511f575d28c9f4af0f2ef02d1ab","impliedFormat":1},{"version":"0a72186f94215d020cb386f7dca81d7495ab6c17066eb07d0f44a5bf33c1b21a","impliedFormat":1},{"version":"75bbd3be047d539988a0ff0b56384ef7a6a25f3b676ad96bee547d44c31622a7","impliedFormat":1},{"version":"42960001a776b089ade681ab5cfddc936e0afb0615133ec1841f3dee89d3e1bf","impliedFormat":1},{"version":"0aedb02516baf3e66b2c1db9fef50666d6ed257edac0f866ea32f1aa05aa474f","impliedFormat":1},{"version":"da47712b394d944328245482603bc6f416d3949b67c9392279caab595076b510","affectsGlobalScope":true,"impliedFormat":1},{"version":"37d0071d8f0a06dc55c2c5e0ec3391affd4fd107c53410bf358196ec0bf3923f","impliedFormat":1},{"version":"b213dad76ca37fd552274c9499056e1c0d9c1bd38a55bb7f68b22ba6b84c3ad7","impliedFormat":1},{"version":"c30436b130b6218b7714314dc41d3f459590db4bdf099eecd51cb1bda32109a8","impliedFormat":1},{"version":"20fa37b636fdcc1746ea0738f733d0aed17890d1cd7cb1b2f37010222c23f13e","impliedFormat":1},{"version":"d90b9f1520366d713a73bd30c5a9eb0040d0fb6076aff370796bc776fd705943","impliedFormat":1},{"version":"bc03c3c352f689e38c0ddd50c39b1e65d59273991bfc8858a9e3c0ebb79c023b","impliedFormat":1},{"version":"19df3488557c2fc9b4d8f0bac0fd20fb59aa19dec67c81f93813951a81a867f8","affectsGlobalScope":true,"impliedFormat":1},{"version":"b25350193e103ae90423c5418ddb0ad1168dc9c393c9295ef34980b990030617","affectsGlobalScope":true,"impliedFormat":1},{"version":"bef86adb77316505c6b471da1d9b8c9e428867c2566270e8894d4d773a1c4dc2","impliedFormat":1},{"version":"5a49adaef698b7ad7e6127949fa1b0bbd3d46b7cbd11c54e392a4dcdd51f5190","impliedFormat":1},{"version":"6ee598cdfdd0fa52039dca135b3dfff7b49035dc13292143e0a93843e3861967","impliedFormat":1},{"version":"27be6622e2922a1b412eb057faa854831b95db9db5035c3f6d4b677b902ab3b7","impliedFormat":1},{"version":"5c634644d45a1b6bc7b05e71e05e52ec04f3d73d9ac85d5927f647a5f965181a","impliedFormat":1},{"version":"2489bf04d77dc025ba67f49f1a56eb24b9db477d5ff88123d887e163ed1776aa","impliedFormat":1},{"version":"63a7595a5015e65262557f883463f934904959da563b4f788306f699411e9bac","impliedFormat":1},{"version":"4ba137d6553965703b6b55fd2000b4e07ba365f8caeb0359162ad7247f9707a6","impliedFormat":1},{"version":"0b77b819b5417775fccb20c678293cf614c054a5b1a65421a5b933a9124ba998","impliedFormat":1},{"version":"eb5acb58487367e502d994b57e2c58255d8241f481ea8efa8e79af23af3f41c2","impliedFormat":1},{"version":"9252d498a77517aab5d8d4b5eb9d71e4b225bbc7123df9713e08181de63180f6","impliedFormat":1},{"version":"b1f1d57fde8247599731b24a733395c880a6561ec0c882efaaf20d7df968c5af","impliedFormat":1},{"version":"5757b78830c681b3124af568b94c269259ea5e8171a4316508ef67310c2ed1ed","impliedFormat":1},{"version":"35e6379c3f7cb27b111ad4c1aa69538fd8e788ab737b8ff7596a1b40e96f4f90","impliedFormat":1},{"version":"1fffe726740f9787f15b532e1dc870af3cd964dbe29e191e76121aa3dd8693f2","impliedFormat":1},{"version":"5a3ea721d03a361ccbdd7390ccd75f6e84cbca3a3f01f4b331ecc9af31890c49","impliedFormat":1},{"version":"e7dfaee4af38d45b1cab8a1ee0b3bc1f85ddcf64545ed391d675d78ae6526274","affectsGlobalScope":true,"impliedFormat":1},{"version":"e8daa443eaf9a27fd382cc1f8ebe30330c0f4d89511cfb469166874806751d35","impliedFormat":1},{"version":"af48e58339188d5737b608d41411a9c054685413d8ae88b8c1d0d9bfabdf6e7e","impliedFormat":1},{"version":"616775f16134fa9d01fc677ad3f76e68c051a056c22ab552c64cc281a9686790","impliedFormat":1},{"version":"65c24a8baa2cca1de069a0ba9fba82a173690f52d7e2d0f1f7542d59d5eb4db0","impliedFormat":1},{"version":"f9fe6af238339a0e5f7563acee3178f51db37f32a2e7c09f85273098cee7ec49","impliedFormat":1},{"version":"1de8c302fd35220d8f29dea378a4ae45199dc8ff83ca9923aca1400f2b28848a","impliedFormat":1},{"version":"77e71242e71ebf8528c5802993697878f0533db8f2299b4d36aa015bae08a79c","impliedFormat":1},{"version":"98a787be42bd92f8c2a37d7df5f13e5992da0d967fab794adbb7ee18370f9849","impliedFormat":1},{"version":"332248ee37cca52903572e66c11bef755ccc6e235835e63d3c3e60ddda3e9b93","impliedFormat":1},{"version":"94e8cc88ae2ef3d920bb3bdc369f48436db123aa2dc07f683309ad8c9968a1e1","impliedFormat":1},{"version":"4545c1a1ceca170d5d83452dd7c4994644c35cf676a671412601689d9a62da35","impliedFormat":1},{"version":"320f4091e33548b554d2214ce5fc31c96631b513dffa806e2e3a60766c8c49d9","impliedFormat":1},{"version":"a2d648d333cf67b9aeac5d81a1a379d563a8ffa91ddd61c6179f68de724260ff","impliedFormat":1},{"version":"d90d5f524de38889d1e1dbc2aeef00060d779f8688c02766ddb9ca195e4a713d","impliedFormat":1},{"version":"07ed3ddab975995eea41b22f3010506fb9f5fb301d04820b07d7a1aee5477d7c","impliedFormat":1},{"version":"969d8b0965849f4bae7cab0ba90bd1e1220e95999c2c6f01117fa7500901c017","impliedFormat":1},{"version":"6ec840ee5e2bc103f557fe38b1d585ee250540468713d7634ee066de372bf332","impliedFormat":1},{"version":"b0309e1eda99a9e76f87c18992d9c3689b0938266242835dd4611f2b69efe456","impliedFormat":1},{"version":"47699512e6d8bebf7be488182427189f999affe3addc1c87c882d36b7f2d0b0e","impliedFormat":1},{"version":"6ceb10ca57943be87ff9debe978f4ab73593c0c85ee802c051a93fc96aaf7a20","impliedFormat":1},{"version":"1de3ffe0cc28a9fe2ac761ece075826836b5a02f340b412510a59ba1d41a505a","impliedFormat":1},{"version":"e46d6cc08d243d8d0d83986f609d830991f00450fb234f5b2f861648c42dc0d8","impliedFormat":1},{"version":"1c0a98de1323051010ce5b958ad47bc1c007f7921973123c999300e2b7b0ecc0","impliedFormat":1},{"version":"ff863d17c6c659440f7c5c536e4db7762d8c2565547b2608f36b798a743606ca","impliedFormat":1},{"version":"5412ad0043cd60d1f1406fc12cb4fb987e9a734decbdd4db6f6acf71791e36fe","impliedFormat":1},{"version":"ad036a85efcd9e5b4f7dd5c1a7362c8478f9a3b6c3554654ca24a29aa850a9c5","impliedFormat":1},{"version":"fedebeae32c5cdd1a85b4e0504a01996e4a8adf3dfa72876920d3dd6e42978e7","impliedFormat":1},{"version":"e297c0a524edee7677939122f90027bfbe5f2698939d9a85728e5044b39c7124","impliedFormat":1},{"version":"cdf21eee8007e339b1b9945abf4a7b44930b1d695cc528459e68a3adc39a622e","impliedFormat":1},{"version":"bc9ee0192f056b3d5527bcd78dc3f9e527a9ba2bdc0a2c296fbc9027147df4b2","impliedFormat":1},{"version":"b62381cae176db34f003cc6172ee8f3e0122014889d66391aa73698105cf4934","impliedFormat":1},{"version":"1d9c0a9a6df4e8f29dc84c25c5aa0bb1da5456ebede7a03e03df08bb8b27bae6","impliedFormat":1},{"version":"84380af21da938a567c65ef95aefb5354f676368ee1a1cbb4cae81604a4c7d17","impliedFormat":1},{"version":"1af3e1f2a5d1332e136f8b0b95c0e6c0a02aaabd5092b36b64f3042a03debf28","impliedFormat":1},{"version":"30d8da250766efa99490fc02801047c2c6d72dd0da1bba6581c7e80d1d8842a4","impliedFormat":1},{"version":"03566202f5553bd2d9de22dfab0c61aa163cabb64f0223c08431fb3fc8f70280","impliedFormat":1},{"version":"41eb514d9ce0a6e87957f08a4b7af70d93f87637f37dee706e2d92a6601c25a9","impliedFormat":1},{"version":"e7765aa8bcb74a38b3230d212b4547686eb9796621ffb4367a104451c3f9614f","impliedFormat":1},{"version":"1de80059b8078ea5749941c9f863aa970b4735bdbb003be4925c853a8b6b4450","impliedFormat":1},{"version":"1d079c37fa53e3c21ed3fa214a27507bda9991f2a41458705b19ed8c2b61173d","impliedFormat":1},{"version":"5bf5c7a44e779790d1eb54c234b668b15e34affa95e78eada73e5757f61ed76a","impliedFormat":1},{"version":"5835a6e0d7cd2738e56b671af0e561e7c1b4fb77751383672f4b009f4e161d70","impliedFormat":1},{"version":"4b7f74b772140395e7af67c4841be1ab867c11b3b82a51b1aeb692822b76c872","impliedFormat":1},{"version":"7bd01f0f28cd3aeb2046274d85208e245965f6f2948edf4f7b2057bcf9f22ccc","impliedFormat":99},{"version":"d2f2cf2b8cc92bea913cda4a076e0f790b23a21e84f989d12f0116a7fe3906e0","impliedFormat":99},{"version":"6de125ea94866c736c6d58d68eb15272cf7d1020a5b459fea1c660027eca9a90","affectsGlobalScope":true,"impliedFormat":1},{"version":"f5b20bc288ee49989c95b20847fc93b96bf61cc0845598897a6a53a967dd7d07","affectsGlobalScope":true,"impliedFormat":1},{"version":"064ac1c2ac4b2867c2ceaa74bbdce0cb6a4c16e7c31a6497097159c18f74aa7c","impliedFormat":1},{"version":"3dc14e1ab45e497e5d5e4295271d54ff689aeae00b4277979fdd10fa563540ae","impliedFormat":1},{"version":"d3b315763d91265d6b0e7e7fa93cfdb8a80ce7cdd2d9f55ba0f37a22db00bdb8","impliedFormat":1},{"version":"b789bf89eb19c777ed1e956dbad0925ca795701552d22e68fd130a032008b9f9","impliedFormat":1},{"version":"db2d933d8101f90deeec6698e70f1e14729495c5daab3199f4cdf0ac78a87bdf","affectsGlobalScope":true},"7ad303e40d4fddf44f156129e397511953a71481c5cfd86b1862649aaaf240cc",{"version":"04471dc55f802c29791cc75edda8c4dd2a121f71c2401059da61eff83099e8ab","impliedFormat":99},{"version":"5c54a34e3d91727f7ae840bfe4d5d1c9a2f93c54cb7b6063d06ee4a6c3322656","impliedFormat":99},{"version":"db4da53b03596668cf6cc9484834e5de3833b9e7e64620cf08399fe069cd398d","impliedFormat":99},{"version":"ac7c28f153820c10850457994db1462d8c8e462f253b828ad942a979f726f2f9","impliedFormat":99},{"version":"f9b028d3c3891dd817e24d53102132b8f696269309605e6ed4f0db2c113bbd82","impliedFormat":99},{"version":"fb7c8d90e52e2884509166f96f3d591020c7b7977ab473b746954b0c8d100960","impliedFormat":99},{"version":"0bff51d6ed0c9093f6955b9d8258ce152ddb273359d50a897d8baabcb34de2c4","impliedFormat":99},{"version":"ef13c73d6157a32933c612d476c1524dd674cf5b9a88571d7d6a0d147544d529","impliedFormat":99},{"version":"13918e2b81c4288695f9b1f3dcc2468caf0f848d5c1f3dc00071c619d34ff63a","impliedFormat":99},{"version":"120a80aa556732f684db3ed61aeff1d6671e1655bd6cba0aa88b22b88ac9a6b1","affectsGlobalScope":true,"impliedFormat":99},{"version":"a7ca8df4f2931bef2aa4118078584d84a0b16539598eaadf7dce9104dfaa381c","impliedFormat":1},{"version":"10073cdcf56982064c5337787cc59b79586131e1b28c106ede5bff362f912b70","impliedFormat":99},{"version":"72950913f4900b680f44d8cab6dd1ea0311698fc1eefb014eb9cdfc37ac4a734","impliedFormat":1},{"version":"751764bb94219b4ce8f5475dc35d3de2e432fea01a0c9610cd7f69ad05e398c6","impliedFormat":1},{"version":"ee70b8037ecdf0de6c04f35277f253663a536d7e38f1539d270e4e916d225a3f","affectsGlobalScope":true,"impliedFormat":1},{"version":"a660aa95476042d3fdcc1343cf6bb8fdf24772d31712b1db321c5a4dcc325434","impliedFormat":1},{"version":"36977c14a7f7bfc8c0426ae4343875689949fb699f3f84ecbe5b300ebf9a2c55","impliedFormat":1},{"version":"ff0a83c9a0489a627e264ffcb63f2264b935b20a502afa3a018848139e3d8575","impliedFormat":99},{"version":"161c8e0690c46021506e32fda85956d785b70f309ae97011fd27374c065cac9b","affectsGlobalScope":true,"impliedFormat":1},{"version":"f582b0fcbf1eea9b318ab92fb89ea9ab2ebb84f9b60af89328a91155e1afce72","impliedFormat":1},{"version":"402e5c534fb2b85fa771170595db3ac0dd532112c8fa44fc23f233bc6967488b","impliedFormat":1},{"version":"52dcc257df5119fb66d864625112ce5033ac51a4c2afe376a0b299d2f7f76e4a","impliedFormat":1},{"version":"e5bab5f871ef708d52d47b3e5d0aa72a08ee7a152f33931d9a60809711a2a9a3","impliedFormat":1},{"version":"e16dc2a81595736024a206c7d5c8a39bfe2e6039208ef29981d0d95434ba8fcf","impliedFormat":1},{"version":"cc4a4903fb698ca1d961d4c10dce658aa3a479faf40509d526f122b044eaf6a4","impliedFormat":1},{"version":"19ee8416e6473ed6c7adb868fa796b5653cf0fa2a337658e677eaa0d134388c3","impliedFormat":1},{"version":"1328ab4e442614b28cdb3d4b414cf68325c0da0dca07287a338d0654b7a00261","impliedFormat":1},{"version":"a039dc21f045919f3cbee2ec13812cc6cc3eebc99dae4be00973230f468d19a6","impliedFormat":1},{"version":"3fbe57af01460e49dcd29df55d6931e1672bc6f1be0fb073d11410bc16f9037d","impliedFormat":1},{"version":"f760be449e8562ec5c09bb5187e8e1eabf3c113c0c58cddda53ef8c69f3e2131","impliedFormat":1},{"version":"44325ed13294fce6ab825b82947bbeed2611db7dad9d9135260192f375e5a189","impliedFormat":1},{"version":"e392e8fb5b514eafc585601c1d781485aa6dd6a320e75daf1064a4c6918a1b45","impliedFormat":1},{"version":"46e4a36e8ddbdfb4e7330e11c81c970dc8b218611df9183d39c41c5f8c653b55","impliedFormat":1},{"version":"3cc8a3d123b6b232d48d34b51b785f9da8d193f5b5817fa521fcd2f3b9315c55","impliedFormat":1},{"version":"6332f565867cf4a740a70e30f31cefba37ef7cebcf74f22eab8d744fde6d193e","impliedFormat":1},{"version":"2977b7884aedc895a1d0c9c210c7cf3272c29d6959a08a6fa3ff71e0aff08175","impliedFormat":1},{"version":"17f2922d41ddd032830a91371c948cd9ce903b35c95adca72271a54584f19b0b","impliedFormat":1},{"version":"3eed76ede2a1a14d7c9bb0a642041282dcc264811139d3dd275c9fe14efc9840","impliedFormat":1},{"version":"354a7f8e1287d9d6b7561bc97fdd8cbc2f7c1dd79e4cb37b942e8a5cfaff1085","impliedFormat":1},{"version":"8d369483f0c2b9ee388129cfdb6a43bc8112b377e86a41884bd06e19ce04f4c1","impliedFormat":99},{"version":"960bd764c62ac43edc24eaa2af958a4b4f1fa5d27df5237e176d0143b36a39c6","affectsGlobalScope":true,"impliedFormat":1},{"version":"3fd8a5aefd8c3feb3936ca66f5aa89dff7bf6e6537b4158dbd0f6e0d65ed3b9e","impliedFormat":1},{"version":"a18642ddf216f162052a16cba0944892c4c4c977d3306a87cb673d46abbb0cbf","impliedFormat":1},{"version":"41c41c6e90133bb2a14f7561f29944771886e5535945b2b372e2f6ed6987746e","impliedFormat":1},{"version":"4ec16d7a4e366c06a4573d299e15fe6207fc080f41beac5da06f4af33ea9761e","impliedFormat":1},{"version":"59f8dc89b9e724a6a667f52cdf4b90b6816ae6c9842ce176d38fcc973669009e","affectsGlobalScope":true,"impliedFormat":1},{"version":"e4af494f7a14b226bbe732e9c130d8811f8c7025911d7c58dd97121a85519715","impliedFormat":1},{"version":"cbb1c5ba5dbabe42c19ca31b83e48fec95895484fe1d1a8fb649b69ea224c5b8","impliedFormat":99},{"version":"45cec9a1ba6549060552eead8959d47226048e0b71c7d0702ae58b7e16a28912","impliedFormat":99},{"version":"6907b09850f86610e7a528348c15484c1e1c09a18a9c1e98861399dfe4b18b46","impliedFormat":99},{"version":"12deea8eaa7a4fc1a2908e67da99831e5c5a6b46ad4f4f948fd4759314ea2b80","impliedFormat":99},{"version":"f0a8b376568a18f9a4976ecb0855187672b16b96c4df1c183a7e52dc1b5d98e8","impliedFormat":99},{"version":"8124828a11be7db984fcdab052fd4ff756b18edcfa8d71118b55388176210923","impliedFormat":99},{"version":"092944a8c05f9b96579161e88c6f211d5304a76bd2c47f8d4c30053269146bc8","impliedFormat":99},{"version":"b34b5f6b506abb206b1ea73c6a332b9ee9c8c98be0f6d17cdbda9430ecc1efab","impliedFormat":99},{"version":"75d4c746c3d16af0df61e7b0afe9606475a23335d9f34fcc525d388c21e9058b","impliedFormat":99},{"version":"fa959bf357232201c32566f45d97e70538c75a093c940af594865d12f31d4912","impliedFormat":99},{"version":"d2c52abd76259fc39a30dfae70a2e5ce77fd23144457a7ff1b64b03de6e3aec7","impliedFormat":99},{"version":"e6233e1c976265e85aa8ad76c3881febe6264cb06ae3136f0257e1eab4a6cc5a","impliedFormat":99},{"version":"f73e2335e568014e279927321770da6fe26facd4ac96cdc22a56687f1ecbb58e","impliedFormat":99},{"version":"317878f156f976d487e21fd1d58ad0461ee0a09185d5b0a43eedf2a56eb7e4ea","impliedFormat":99},{"version":"324ac98294dab54fbd580c7d0e707d94506d7b2c3d5efe981a8495f02cf9ad96","impliedFormat":99},{"version":"9ec72eb493ff209b470467e24264116b6a8616484bca438091433a545dfba17e","impliedFormat":99},{"version":"d6ee22aba183d5fc0c7b8617f77ee82ecadc2c14359cc51271c135e23f6ed51f","impliedFormat":99},{"version":"49747416f08b3ba50500a215e7a55d75268b84e31e896a40313c8053e8dec908","impliedFormat":99},{"version":"5e91172586d1be7d1508d1a40c8bf76161f6f4179d1c25158a20599f9fb26a66","impliedFormat":99},{"version":"09d215b379a93f8cbb6caf9e9f5d7b4d48042295ee697e7e4771288c7917a21e","impliedFormat":99},{"version":"427fe2004642504828c1476d0af4270e6ad4db6de78c0b5da3e4c5ca95052a99","impliedFormat":1},{"version":"2eeffcee5c1661ddca53353929558037b8cf305ffb86a803512982f99bcab50d","impliedFormat":99},{"version":"9afb4cb864d297e4092a79ee2871b5d3143ea14153f62ef0bb04ede25f432030","affectsGlobalScope":true,"impliedFormat":99},{"version":"891694d3694abd66f0b8872997b85fd8e52bc51632ce0f8128c96962b443189f","impliedFormat":99},{"version":"69bf2422313487956e4dacf049f30cb91b34968912058d244cb19e4baa24da97","impliedFormat":99},{"version":"971a2c327ff166c770c5fb35699575ba2d13bba1f6d2757309c9be4b30036c8e","impliedFormat":99},{"version":"4f45e8effab83434a78d17123b01124259fbd1e335732135c213955d85222234","impliedFormat":99},{"version":"7bd51996fb7717941cbe094b05adc0d80b9503b350a77b789bbb0fc786f28053","impliedFormat":99},{"version":"b62006bbc815fe8190c7aee262aad6bff993e3f9ade70d7057dfceab6de79d2f","impliedFormat":99},{"version":"ab80d2cb170a92c61ca8c822d0db0fc50eb15c7c6cf1a24cb01852a5a15a7db8","impliedFormat":99},{"version":"210955af8573671abebb6e1391d134d82fbcff130aa68922ea1e839f8f48a0ad","impliedFormat":99},{"version":"78a8f2e95e2904914c509e4bbc68e626f8b8ff8f30ca96cffc7a795fa17394f5","impliedFormat":99},{"version":"7bbff6783e96c691a41a7cf12dd5486b8166a01b0c57d071dbcfca55c9525ec4","impliedFormat":99},{"version":"061446b67af18b541c723104f25aa94667dd438c050fc873f3c02a7b5a9a3ef0","signature":"b8ee70929b7bfa2ced6aded5f38945440e9ff6809c61d2972b59aaecf88c254c"},{"version":"8ef0b457802d1883c0c185f90610a8aaf33283250633a31853de01bb45565b7b","signature":"b730dbc27807d6a94494d69e0154827379b8ed4606f3dd3a4584a1e2242b1e53"},{"version":"64bc7684d633c835220935b80701168771e6ddc8c3d9145af8bb3a3ac7d0c59a","impliedFormat":99},{"version":"121fc7776751821e405243a0c188554d2749dd334482a1d311af61373072a89a","signature":"1c508f6403621b58f8d59e7eb61eb61788714be526c91dc3cad739330b6923b1"},{"version":"598c32af38ceddfaf9699b9013ecf2e0b2df7b5d76795c9de010d5ff92c52ad5","signature":"e064b7ccad9850f3a78ba58a45e43e4b3eaf126cd2bd2979896b5885dea07f57"},{"version":"618bb47ac74b0ab39b90743cfe920a6e670b2d3bfa24f37d106b535c1c18ae37","signature":"4c8a45f845c330caf5dc2bc33da6e8e4f317035d08a20fd5f1da986bea511d60"},{"version":"9f50731b7a6739ad4d5d0e00b5d0be3650535cd74d92bf86ba3b81cf57000269","signature":"64be38d2ab0fa005245ad20baf0fc7899f1db575a219b4428e0fc3e550d02410"},{"version":"1d0628911b56f83b654ca0ba826d503b3605926e73b985e754513832eeab5592","signature":"45b43c38bc20ca8c0edcee887ed49ed8b771dbe78e1cb5b4e3ba794e853fa887"},{"version":"6d575d93896c413b308c3726eed99ddd17e821a00bdd2cc5929510b46fe64de4","impliedFormat":99},{"version":"1beebd50610b0c9701d2de263e0183ec22aad6c051d0e15ce9e6cce295c6a40b","signature":"3c49b34b1c62e5d74c637b63276c9acacb605689334f5450cc3f67f560ac0ecf"},{"version":"310c820b803950d18c0ed9376df2cd73def2f56cfcc993f9012008403cdd4843","signature":"6fb95390f4022e0327e4a170917a06de5caad8c8c563c8b00be3cd40a71c759e"},"522acf86804c9222338573a57e1345508f744396d3a3126ee2a81dc62cf481c2",{"version":"47f5078d810ecb6e57eea5f0382dbfb9db641a35460fdb723e920c4898852e0b","signature":"df6ab0ed5a36c6500e0cd4e0928f73f80fa1bc047359a22f5023393f4023cdcd"},{"version":"8f50c044565e345457f8ed3fe65bd573b2ed1675566f206f5da7a962d54a1d8e","signature":"54cfe44f2eea615ff166335815b54ac9182058fd925a0b886d9d9d5f3a8b5f30"},{"version":"4ed96213860296593b569b425eec8dfac37cb5bdaffbce2206c000dc673007c7","signature":"0fbe920fa2bb3439dfa680647a4ea264b7a8ea9bfa75e4cdd9ff2507d69df783"},{"version":"4720053f6a578540743ee8f3c02278636ada05dfc7184b43433262c4aebbbff5","signature":"20f656d6480d8146a5128b53fee43e77e2851f98fd61b3da28f2d8a5560578b1"},{"version":"453957dcd68b2ce4ca9e3964669137141e3a6b66be1438775183fae9bf4f0b1f","impliedFormat":1},{"version":"51954e948be6a5b728fcfaf561f12331b4f54f068934c77adfc8f70eea17d285","impliedFormat":1},{"version":"1bcbe4a313d5cef449c393b331b0fe95fcb5ceacfa069c4208758d6c8a958db6","signature":"884c9b05c8b1f9cd07539bbd9db5f8ecf669a81e93b60c0d5045b99cd8916cc0"},{"version":"c91f4f63d6c2c84d2e0f7368a97dfb126ac74804e775e5aa5bcefd853917e69e","signature":"96d032d99c255b941936f513419610586f7e642f2abb57d1b8d2581f7d442eb8"},{"version":"892944714a36a0bbffdc1cb4b13449f764c035802fe0d5431a8b484970e8dc3d","signature":"a013754e9c9372195578014767d9daa25f3a37a2cac34b96228225fbf6ba5c86"},{"version":"ddc62c8eb6b7fb8e8fd0f0f19809530b1e5ba5a131471a6eef65028d0d3b5a6e","impliedFormat":99},{"version":"802cbde8e06732ca0356927b4c9fbc39f5961df58a18b74fdc4e131269293a5d","impliedFormat":99},{"version":"480713ff75c24f445e3f159da28444406e1334730375c94d0aa24523c5e52e1c","impliedFormat":99},{"version":"faf9a217d8d237b02ab6d95508d8736ae431bbeb38d98885eb5b8fb6dbe48cec","impliedFormat":99},{"version":"30c55932c3859c15cfb16c4cf3cda9c303588f3216f8b1ca205e2c41bf801402","impliedFormat":99},{"version":"3ac6eb2cafcb89a552a4923213c705f0fc3c2b50e466eae9dc1a540e3af18bc0","impliedFormat":99},{"version":"073f96a1cfddfedf8695401f8328a8e84a4d98fa5b08b4d894c3885069083cd6","impliedFormat":99},{"version":"3705ba677801103461ff0a06d34b6b2149072952365e55d8266969978dd33154","impliedFormat":99},{"version":"cca68a7703ec3717b6d4c287884fc79ba811f894c472718126010418cd306aa7","impliedFormat":99},{"version":"590708a598f58b156518493c563df1d03040d3b2b7f75fe614e1ada06dbb44dc","impliedFormat":99},{"version":"dc2c32ad9c49a7c3e56a18f3f42933e91474bc26ecc2ea47cf533818a54e6471","impliedFormat":99},{"version":"b727fb19b28fdd8abf41b989f9ec0a6aae52cf07f3918386ad068b33d20c3468","impliedFormat":99},{"version":"bbea0619511648a92fe83d5c8eed6149106d7fbf3065310a1986d18598b83bbf","impliedFormat":99},{"version":"963ece6abb58542445eda863960cf053a98da8f4e8634b7a8826aa04f6f85a56","impliedFormat":99},{"version":"5ecea63968444d55f7c3cf677cbec9525db9229953b34f06be0386a24b0fffd2","impliedFormat":99},{"version":"1d226c1e6786584e97efede708d49f2dbd6f887905f16c785d5f09b300bc098d","impliedFormat":99},{"version":"07ff7d4360fbc945963d7a4a8105a5520d1681a00745c20a962fb36bf04452de","impliedFormat":99},{"version":"62076be1e1e8b668a8ddcb803402f1aec725a31d592e8722ff39ad368d9cd472","impliedFormat":99},{"version":"9eb8e1320fc0ecbfba15c0f3452dfc1957543dfbd466aaf8b67ddb0f2ad0f217","impliedFormat":1},{"version":"4faca872dbd194a17b3ee267bd8ddc3daf3d16df96f4e43a02c7d9a862022c4f","impliedFormat":99},{"version":"87654de60b5cd8d91d59632ec576fa7e313b41c2540073d52814b6cf5bb739e6","impliedFormat":99},{"version":"144a4e5780b800c0553949169f50be285eccbdb0298afd83ef2ae03fef77e2d2","impliedFormat":99},{"version":"66aeb47bf8638d6767f7b4ff684c2d794391c981590073025e98f98e1afed499","impliedFormat":99},{"version":"cd5b0672c9699fe169d69efd65472a874de9d1e25fa8669a934f5f326bf0f025","impliedFormat":99},{"version":"4577621880c696b0aacec6ebd2dbf97ac178ee2e2bfaa0aa3a5260a798220ab4","impliedFormat":99},{"version":"26731910f98a56ed001d25d5167d85b1320def4ffbb76e1cc4b0c6484482a5e2","impliedFormat":99},{"version":"cbaadb95dcc68691900ffa857b3bd7eaa99eeb6c351afca15103560bc87f0d15","impliedFormat":99},{"version":"1b1c48c4d7cbe6f40616594c2a3f6f95bb1dcefd200a7e4167e47b67725b631a","impliedFormat":99},{"version":"97b02501eb45f487174d5a0ff89b6a95690d50e9eae242e2162118edd5f2705c","impliedFormat":99},{"version":"4d857105510df8011cfb5b3769dec55624a1df92e85d399cd03bc82bb89d090c","impliedFormat":99},{"version":"8eca47167dadd486582ecd4e41f7fba6ae66cc4a4c5202f1f7acf34129a0dadf","impliedFormat":99},{"version":"29cc3322fd17fd1b55ea2150ad6f7cb37f0b587efca5696819cc5b6e95331bd4","impliedFormat":99},{"version":"d09b7414a64adc7cae660ecd6e8a222ad9fa58585dd2390eb0aaabfee812b354","impliedFormat":99},{"version":"769b6f9f1cd9471261d137513abc391a744a3c3a62f492491bcde520219fab53","impliedFormat":99},{"version":"2806e4d2a88e0461c3b0c8cd9e7bc8e927034690e33345aa0853439d67f801b4","impliedFormat":99},{"version":"b1d72bde8f54695b85883613af13295a615034b2829dde3a31bd3d2a40eb6bc4","impliedFormat":99},{"version":"26cfaec143443411bc7d5363f274f885ced430b8f4bee25a81f7827248848d7b","impliedFormat":99},{"version":"6870f32dc76ff6f8f6a419ce55add0a011909e8895252d7cca813835f431783f","impliedFormat":99},{"version":"29fcff21ff0ecbe700c7db7f719af2fb4822a08d6d703b6687822535e8bd3126","impliedFormat":99},{"version":"5597cbcd19e16f5c9148c76c914e158680de55849b625c2f6b69723f01f1007c","impliedFormat":99},{"version":"7864233f21a3bd04eb6dfa79103a6c1d0648cf17eb4c47cc7aef19d274dd639c","impliedFormat":99},{"version":"b27f7733758db8f462dadf0ee250056e370413028c99fc723c4a93baa54a7c1c","impliedFormat":99},{"version":"5bd7f6f573ac89ec20aaf326e79394da8a89fbff8a297aa864de9137ca045678","impliedFormat":99},{"version":"81b2bebeae6ec1e73b491fe22a82c7e2d3a8369271e622ed74b6e94ba108a475","impliedFormat":99},{"version":"d0e4a184f48eba140f30e8f770853b884e01694f6aff59b38d0be55b0410d397","impliedFormat":99},{"version":"1d34b3ef8e5926334d86d305477d3592d648adb41fa0110970a68059e13d45c0","impliedFormat":99},{"version":"791e26804cd328b19fc37f7903813e8e41892e70d5241dbe2c39fdb52fdd0c9a","impliedFormat":99},{"version":"02c2773eb8536a50f6e647483e78e8c2991fea8ac32ab69a37f9a24255401530","impliedFormat":99},{"version":"4ac6d584eada1621a7eaa4bfb3dd54e81c2c8a82c7ffdf421ae58d84c3a3490e","impliedFormat":99},{"version":"a522abad9b9b959a9c4bdb4e6bdad96e65d97da9385be13ffc8affc3669fd786","impliedFormat":99},{"version":"ae733b8a8fc9659e24821aa3797d25cfdc205bd31674227b49411ca4d54e510c","impliedFormat":99},{"version":"0aa9c5135c3a086d7c01d8d18409da6b01fd32f09a4a261048f8cb4653f22be1","impliedFormat":99},{"version":"1e185a3af4b4f3bd6fd52fde968f14dcf9a8cbbc4924237270e290e25d81fe40","impliedFormat":99},{"version":"ae42c6173cc8ad49d6ae21187d0bb7c7c65da10204f9e2614eeb83b29c58f4f7","impliedFormat":99},{"version":"050240464b97ffce2e353ccd5251660f5d3dcf9dc834f88504732ded7cfe926c","impliedFormat":99},{"version":"3f896952650454552b2584ef1e3dd072e97f8498908cd2ab25e6b0217e8bfeb2","impliedFormat":99},{"version":"3b3d0685f081f6a02cda029e4d1e1ba5f10690870c971e6697e0c2539501e835","impliedFormat":99},{"version":"5998b174ccb38a61393170f40448f80152ca5518f9d2048f5b5d3cbe0a9fbac2","impliedFormat":99},{"version":"6707d39d8afa069222d0674016d48c4772067eb671f9b62528a6cc8218fd5b40","impliedFormat":99},{"version":"481aab62f04afa6eab4e439fb4f39af392c5c51519f548897ff71e6bad0b6771","impliedFormat":99},{"version":"51de9d738596fcc085d13bdf86c0014f15d9b4e6986631c7be3df9d2f61590d8","impliedFormat":99},{"version":"e061e898ffe9970c067278f5a7462665e2706e7cc6ce2362276eca1c92c128f7","impliedFormat":99},{"version":"d7fad08d42a437ea163bec1c3d08e5e4714a27636d89809602f04328a54a3fa4","impliedFormat":99},{"version":"22469dbd699381a169d6e02d5c080ba9d94b9d6567b7a5c41cb17f505e6a4ad7","impliedFormat":99},{"version":"44412e7238512522c472296f100c52c0accc20d3ee75db7aa503ad4d92b80754","impliedFormat":99},{"version":"27c4c4f9114b51cd89d2ba83e9fa60bacc6c29a1279f2f3b91d19c2f7b2c68ac","impliedFormat":99},{"version":"6acb809bb284648297faaefcb03e0e4500de5f78194a08b75512e13e5887829b","impliedFormat":99},{"version":"c31062874243eeb47ba70f53686f860d4c238bed5587af12ea4f73389ce2333c","impliedFormat":99},{"version":"b4f0992a1069bd5af311d02a49dae7aceb5e0400856449bd766b994267e2adba","impliedFormat":99},{"version":"adf2b0d2362e1b4c99336c56293ac3da8aa0d3ebbda67f963d4a0f3d3ef2a021","impliedFormat":99},{"version":"5fc3d9350eb34ad3cbcb1b69249161a33ffe19d7c0e72e6087c947046de6f756","impliedFormat":99},{"version":"b0418e08aab8aa9e4e406428964d2adf8187dd29f6cdaea32ede28fc36e86f56","impliedFormat":99},{"version":"be4147ddded6518b57942a23f89b50b772d841a97e22c93b70eddf901c7581d2","impliedFormat":99},{"version":"6b952ce628d71b1e1644cf8aea26a4de997596197158dc7b6e71ec356a8cf992","impliedFormat":99},{"version":"2f4dad0e02e51c0d630d46dd18b3a99a1d8c9f184af3e9d109027d8d11735f9f","impliedFormat":99},{"version":"41c5600e8662d67b2a149c2eebb422c80cc2337945f5b79dde92d41427499496","impliedFormat":99},{"version":"9c1e78acaead99ab9c612e54f5e16c0675cb6863627ec2dffa0c3d5651d53659","impliedFormat":99},{"version":"6df75e65602bbd54c977312ed62988e0c64423b046ed74ca126b529970233a2e","impliedFormat":99},{"version":"4d84f055621f07107b6e882b0cb79848106d08899bde344eb6ad0c9bc3539eae","impliedFormat":99},{"version":"3ffc0815b3b1da65f6fc42a2a10aece2bda56d024cbcf7477b6380d4249ff8a1","impliedFormat":99},{"version":"7cb50c74ced03d93407f80f61840b52540cdc0ff7189ca603e6995306c2b25c2","impliedFormat":99},{"version":"829b5cb87df9dfb327efb8a4e55644d809f3e03de209067122b99ffebf284f00","impliedFormat":1},{"version":"6e6e33716fbe3896f141f9ae6206022031c56bd38f6eee8e733627852272a31f","signature":"e6ec95dc819ab75e36c9e4492ba3e6bcf21507403a6afb5bbe8cdea76fd77fc7"},{"version":"66ba40fa928c2fada9a280a61c2b426dfbbfa69085f99913650ff72ddec75b1a","impliedFormat":99},{"version":"19a22f3446387435f13445a31e3d4eb65f132d8e6b7b060d249f0fb138cec698","impliedFormat":99},{"version":"ecc46b24349caeab20d889baf0a6f9d3beafa739a0f2c36afc107dceb15e7b2b","impliedFormat":99},{"version":"b887624859a2f03e78ae6018e96bd269b5318685f42adec4e93256ed7579c125","impliedFormat":99},{"version":"14191b461a91229ff4b388d15b9e15392a8a3af9bf11fa7d0d4cd31405178e75","impliedFormat":99},{"version":"23a564e852dc91b6e6f050584994b35156f6ee8a2d08c493dad04309046a8397","impliedFormat":99},{"version":"daf66c9de89f11011ef703af894970bb15985fd5a4156b8038e895ad4e4616a7","impliedFormat":99},{"version":"d59c3d0c3283c1878913fc2bc88d84160dbcdc69cf06f822ca7ffb39eefef13b","impliedFormat":99},{"version":"05128b72488ad970c2e30ae6b82c7ee232be49ce6def3b4dd56f62d8b7f7704c","impliedFormat":99},{"version":"49fdbd971a9b57df943498b37cf11c40fe09b2675493039a0b7841671f385108","impliedFormat":99},{"version":"faba6f3b673c89279d3b41a47e8ea2c850665eadfa1e2a56be4f50a6bf4356c6","impliedFormat":99},{"version":"5cbc3c3c6475704af132c35b095da392a03815baf2e9f2853178ff9b370b64d2","impliedFormat":99},{"version":"074209bc8fc6979cfc363d392a8babe62685adc61c62a8742ecdb86fb9b62ad0","impliedFormat":99},{"version":"6826e70645f65e77bcceb9230962687109301a4ad9d6dbb71a7785167d4a4b9e","impliedFormat":99},{"version":"3c8b637a833f97a085417e7d0024ac82f7fafc0834a4c61d5e48f8edd8da6c10","impliedFormat":99},{"version":"a3a4132d6c64f431b6d0cc890557c392f57eb43371bb73979ea38d27c86a1c4c","impliedFormat":99},{"version":"ec03be0777b98df75dcd97657ebfac0eb7a9153867aab050a591b6caadf1c2a2","impliedFormat":99},{"version":"c788aaea8be5712b40c3bd9cf589c9510930af7b2aa3d986125df0dedc569290","impliedFormat":99},{"version":"e7983072a038e512514c146b25e7e97a8a070ca3507950658ab1e96f6598957c","impliedFormat":99},{"version":"f2333bb4a221631fe506a0354fffb808507d4e5f6fe2c85b69890618226f7d9b","impliedFormat":99},{"version":"6c9114366ff07ee8f5c3cd4ba94ad189a098ce8368040909d605fb38e636d026","impliedFormat":99},{"version":"13e930c27d68ecfa906c24d599b10927b152030d07da0fa0889fd4fddc5b4115","impliedFormat":99},{"version":"b4e61f4f522304f7fce1038590ca1f6d091d58aff84833861848f8157732d8db","impliedFormat":99},{"version":"8c86f563e8bcefb0b5b1ac62e5a27ee6a2a9b775e72dea5793823edeb24d36e9","impliedFormat":99},{"version":"d9134c8daef2565f20b72171f634800efb204eba63b03142d5dae5f36088e95a","impliedFormat":99},{"version":"e702ed1fd1dcb24ec2634901441fd156449f75458359c771074cbe7675e86614","impliedFormat":99},{"version":"bbb044421875fc84b7d2f2aac4fb14499687cae5a5063da51bfa28c58239bcfb","impliedFormat":99},{"version":"74b564cd3da8f83d5e472a5b0cc53bf7e276b25576097cb89e6f67caf95b12dc","impliedFormat":99},{"version":"e5ee49966285e5afa0dd2db7f66acf1e8a9e1d0bc5724b03b67be92ea7819bfc","impliedFormat":99},{"version":"4db2be160aa80fecd367876f8cf1aa197cd1f296e5f82ed8d8b961d9ececb204","impliedFormat":99},{"version":"5a8e4a5e571755e265bd6a840d8ab48eeb1ca2e35487d96bbd601ed296e2d1b3","impliedFormat":99},{"version":"d93cac0bbb7e1fe241f4b0493cd47466df00d9f1c51a53b69e5442456cb4d102","impliedFormat":99},{"version":"9de94cfccea0da314e8554d6b2f1f01a1b63fa4c79dc24b54277e86b918e9d6f","impliedFormat":99},{"version":"b4f7f4e2e4d0e668ab7cfd94ae5b72b6c690eafeac0e7a6d2218b16afdf7432f","impliedFormat":99},{"version":"5e8d925c0b8f6f91ac0af131a83f72683f88d80a61f5eea37d8883afbe8f74fa","impliedFormat":99},{"version":"056e9235afb474b7b2ffb6df16ff331f5238027b185367ca745103eb228fe57b","impliedFormat":99},{"version":"2eb77a708b1d812a8b0a57a6a12cbdb659bf43acf839b21b8996dbbd511d6e53","impliedFormat":99},{"version":"9a2d7fe034d084982a18ed744a3e0748f4768fdc5b9f2cdbf5f190e5226b54a4","impliedFormat":99},{"version":"1cbf7a0290d370c2843e79344bd494a10d267b3e0323bb77cf1b34a36ecf4200","impliedFormat":99},{"version":"2dd580520217749fd86cd77b8e48075a6c2ff32339e2334aef676bd3800f345f","impliedFormat":99},{"version":"939fdf70427033c0a05d112c2b03e8e31f037b8f2ac4617df680107162ffb423","impliedFormat":99},{"version":"9bc7a3d724ff20d2429d94e087c276b9256946b2cd66c9f9bce79ab54ec9c115","impliedFormat":99},{"version":"aa813b5adf5ecf364ddcab7bc6652db73d5c4e43ee5f6ccfdc7737f6d3184667","impliedFormat":99},{"version":"e5fcc46e6fc608a77c7efea569e56e3cb02491a9fc0d74f49e784d0a4a6aee14","impliedFormat":99},{"version":"fd413d87e8bf7a8e523c70d194b2c3279016d1ec733a9db43640cc1e0cabde6f","impliedFormat":99},{"version":"126cab464ce86f9c155c0b79f9c38fa906c422ac02c856ff9874051ca35ceb14","impliedFormat":99},{"version":"25ada8b073df8f9b669aa007ee66298095904b83236652ee940d827c2ed5fe9b","impliedFormat":99},{"version":"24bb5860d0b4310843a2ce164c113315db19861f3fae4f2a56727ca9b98dc4b4","impliedFormat":99},{"version":"b62d96002ec0c8710d0e99aa3175434e1df0f22f5a09291b19e5ec05e8a877e6","impliedFormat":99},{"version":"221c86478853bcca59d83ce0eb2832e575779f2244a9a0176971de55c45b9690","impliedFormat":99},{"version":"7b8940dddb145146d5e62f9d817d5cb9f54345cd17bb91a363c293dd5216a377","impliedFormat":99},{"version":"7d331ed732ddb23a5e04eb12716cff50491ba01b712f4810df496c174547403f","impliedFormat":99},{"version":"a444b1d18b18c90477babf60511e8348ab9d591698205ed1bf12f3a0bf5862e0","impliedFormat":99},{"version":"08ca4dca79ba1cc23d4610ddec493102d3fdef6bb57f025d99b1cba9759f71b3","impliedFormat":99},{"version":"39c2d0f3d8d82809c02668743fb19a50e66f05d4336d48765946e4a051d0579f","impliedFormat":99},{"version":"495e122ec7cd8b18150ec1191e48edda4e23b2587022e59805571ddf8a3b516a","impliedFormat":99},{"version":"9277cadea8fcd4c10616d7667f521274c5fc6cef385861f6962ef880db3e612d","impliedFormat":99},{"version":"20b20c535eb79b2a4a62229abf83f0fcdd3dc1f041fc3c588dbe01e3a7666ef9","impliedFormat":99},{"version":"e98970286b6514c67e3b0f916f23f8bb81ad6fbe3b5ef1f2bb013272e9ccb00a","impliedFormat":99},{"version":"09c1c46f10e01ae7399f2fb391178be7ddd42d70dc6a3abc41d80ccf73badad9","impliedFormat":99},{"version":"31c9882e1d08811f5821ea24554c0bd8a0d97fb7efc661ef76393a28d9a8eb26","impliedFormat":99},{"version":"7c9aecf4946da6395949f23bacaa6d7e9ce287f5aa65e50e69332ee5f4d1960f","impliedFormat":99},{"version":"6701adb65ce407ccabefbaf20862daf55d52dbdb2a663c899d163cc6cbb59192","impliedFormat":99},{"version":"f73df64d28c41e3bc777eca2fb49cb5cda69b52c3786b32d4dc473f855fca42b","impliedFormat":99},{"version":"b342ffdc48ee317927f88cb38871b984b7edf94634428fcad875c7a9fe5515ae","impliedFormat":99},{"version":"247fa787c809e9036079d3f4bf429f5c6e4d76a31647d5547e668fa25c46477e","impliedFormat":99},{"version":"f015d64096dbfde32ec9117706e6e1376e9ed0ea8534d17d1c4035262fb82ebe","impliedFormat":99},{"version":"0af38d2d00fc29764aead613ae52e263e235289ec9e2f365e909226e8b2df2a5","impliedFormat":99},{"version":"c610c569ccfdbcb03d9e531ac1be3ed944586e099bf4f756885fce2d5e1a680c","impliedFormat":99},{"version":"2062be175b1e4f6a0b6b21b4ad08c1e241833349fd82aae558000acb2a9c905b","impliedFormat":99},{"version":"32c98d5e98a05f108f4e405c853db481f83c5a1a9cd6c53870501d8248f9afad","impliedFormat":99},{"version":"c717d81d125641e3d95b30cb00d3c0179fdcb30c9e716c360aeb23c699e51321","impliedFormat":99},{"version":"9a96c65bc8d115c4cd1f6d61305013640593f0c0f869a2e6cebb7bbcdcd7313c","impliedFormat":99},{"version":"d5e101bf2eaafcf94b79c0a80a8b86e26ea0b24234f8f5b2c88b58cac0842a74","impliedFormat":99},{"version":"27caf95cace62037352d836d1c547a73363248289ba8b05205cb9eef146768ba","impliedFormat":99},{"version":"8ac1275f4eef836ace2b3779aa240cece0a7094cee65e3a56fc730a270695b0b","impliedFormat":99},{"version":"4dae97da440251bfb634edda1739b3cf39e66b56076e05d7b06bd3181a6fc500","impliedFormat":99},{"version":"66a183f89f492290d10baa4bc6840fac3a0212cd3e32f2230c1506eb6b1f84db","impliedFormat":99},{"version":"6576f83f333348274a02f3a9a048dfd9c0fbcc3515ec4e654def0ec5491a6261","impliedFormat":99},{"version":"f657e9bb81b35be0d298f305f4a6924c4b652692f9d48512038015e7eb79c7fa","impliedFormat":99},{"version":"5ea4c5fd9091e33b07825015ed1cce784854121cf42d337f0762f1d707ffacfa","impliedFormat":99},{"version":"0a6af3e7a2a63fec578ef9940ace9987eaa91450112efa665dd94cf26555463f","impliedFormat":99},{"version":"172423ba720956a2999c4e44a640d6b141c1c8646d96e8a88a333181eddb1eea","impliedFormat":99},{"version":"8d1ee20c4ca7a97ffb6c9b19049a1a9ebb34bfff32379261bc6295e82cb77abb","impliedFormat":99},{"version":"258436bc14be16b94eefec3da57b4eca7a3c1df633c79d4ccc35f18eaa9d8107","impliedFormat":99},{"version":"0ad0d843d93b5bf3fdaf79de4e159e28d6f9367a945970413205f345e9797cbc","impliedFormat":99},{"version":"f9a161a77ec523402d8d7dbaf9a04e9fc3d32d0b304dca4d7a86412bfdd1b1c9","impliedFormat":99},{"version":"ecaa337dd6eaa40a78934bc53a46455c969a9e2ec75e07da806552e5e1f5f575","impliedFormat":99},{"version":"747703dab2b5bfcb0f4372616373cbbe85a8a9e246bf4f2002252c54f79750a6","impliedFormat":99},{"version":"c09f4c7ec02ad3b5be269a3e220d69d3f16d43fe3843e2e75263344d3ce7981c","impliedFormat":99},{"version":"d351678cfdd7d86b5dbc0c75eaf66ada923f7ff1c76102508ac22f703cb9b927","impliedFormat":99},{"version":"b3d820765aa7672d9276e319e9a2b4d7a928b5dbfe34169e287bc2c0a03be70b","impliedFormat":99},{"version":"96ce9dcfef17a1945dbb4ec0ff2256f3847e813671bcba46381fa6673cf8b202","impliedFormat":99},{"version":"0d852b4958e9b9dee49676e33381e33280a0345bec8fde3f902b479bd0f69e37","impliedFormat":99},{"version":"1ee834bd1a5b21ee9f0f8e683ed8f46410f2548f5b81ae090c14fa41ebe3173e","impliedFormat":99},{"version":"fd875069349f1541cdbf2859ca8b0acdb81acaffeeb579f74dc08b332e8a2fc4","impliedFormat":99},{"version":"fb6994ae9a491ff440c5a78667f4d5783fb6c5827050db94f9ca7fb14f8ff260","impliedFormat":99},{"version":"3318f774e0fa8cd7decde2830e561c401e53057ea505c031f687966a16f4b32c","impliedFormat":99},{"version":"c130a5e599c565b49b02dfdaef22c5dc68bf648a9678339b44e8913d3d27ce71","impliedFormat":99},{"version":"06cb5fd4ff2e5cf532dfc6bbeae7b47ad7c2879909e6727ffdacc558115ebf0f","impliedFormat":99},{"version":"5cf2e81f262bee804fa9d50112c5288ed4224243b1837c653c9eec5a621a9b13","impliedFormat":99},{"version":"aeea67ef93786c8625e6c2840c5be41e6f6679f9890bc75628ac0a3cf8ea0c04","impliedFormat":99},{"version":"a37b86cc490287c9723338ed95965a938886313f0f912ba12f789462d8bad89c","impliedFormat":99},{"version":"41a073e65cbf693b4ca1f61f6847e16227d023cacfa75a84fb989efc3545cb19","impliedFormat":99},{"version":"e726badbad2c619272fe4fe528dd07cd5ef87bda456dc3656e4fd1bcc11976d0","impliedFormat":99},{"version":"60b0f3b27eed4652b4cf70ff359eecf92d1dadce962239812474436b4d608da6","impliedFormat":99},{"version":"4d7002dcc54793296ab4c4b1e28c00e99cdda63ef31b83ef616c58f8773c25bd","impliedFormat":99},{"version":"040dbae8a47533338afa394e6974e753b4bfc1895c322a3a715eb1be21eab5bf","impliedFormat":99},{"version":"a9d4d662f3494ab31e98c8193f20b0725a9488225df92bb4df2d9f96b5b7a166","impliedFormat":99},{"version":"6170c6827bcca40ead01d9a8e92e73049b82a0e595f1c11ef39bb98282781f7d","impliedFormat":99},{"version":"5dd074521b20eeb26c76fb3e1d0f85fb4bf26cd247c7dffbed08bd888a6d29d3","impliedFormat":99},{"version":"f3a8d4b406af14afba34488fec9b89859900a8df10510a23d9f1c2e8a116d3fd","impliedFormat":99},{"version":"b03aa91aef645f9856216a2223a47001a84954caf37b7ffb1d63d1327b4231fe","impliedFormat":99},{"version":"01b6435dae2508e231ded5ca79334075da7d6ca12d909765cb335211a90ba86e","impliedFormat":99},{"version":"75fc3992422a1d3b15788ee84656da98a10ce15ce5ba257a0df623a024a0d845","impliedFormat":99},{"version":"b6c5cede83853964b2f753d7e202613e1d461857cc3780a57a2a3d346c5afc0a","impliedFormat":99},{"version":"ffc4846043b7f71f310692e4bd38f349373981b832f907963e4bbdd4288f130e","impliedFormat":99},{"version":"54a730e06094b37f96436ccc8e736bb65b74d256439bf1663344e3fab16d2246","impliedFormat":99},{"version":"1389cb1ca8557f7380f983f00c337969542d6c932b1ba294b48f97f6fd1cb69e","impliedFormat":99},{"version":"85cfc4f1cd043b1df65ba7714d292ba7c6c79c9e288db0d4a9ea6a7b567a675b","impliedFormat":99},{"version":"74cc10ca21f4fc15188d7e7aafd66de5c34c82d011f0c9e02b05b9739e0fa31c","impliedFormat":99},{"version":"abe83f442f76121715241d0fc207d2c325510c6a4dfa6b07662f550c95c6a2a2","impliedFormat":99},{"version":"4b6de64797fd57745c2856f26b4c7de6be543f9335dfde7870a186c3541ff183","impliedFormat":99},{"version":"765122fafa15af14742c91619b7e30b36e5c38f01e6ad079d2c5ecd38a4fc45d","impliedFormat":99},{"version":"1194d3241ea56738d7d8e2b4908572a350cfe7a85b82ef89828ea32e20ab1803","impliedFormat":99},{"version":"6449789627c9555d2914c88498ab494cdc4f18e28a7426a1e74dcef3401f181d","impliedFormat":99},{"version":"17326f1b693cd3a0e89fdc1248097f0135adacbc072b0ed62cab9eecb1c21743","impliedFormat":99},{"version":"1b322be99b786ec951d3d14283aeddd32c3ab25033c4cb984b5224630317b232","impliedFormat":99},{"version":"c7523c0ac422da80b521031667dc06ca66d817ce5ac47f69db6fa98531febb26","impliedFormat":99},{"version":"19203771ab06e45e1524b7f608b332cad7143ba3ff473e302827a835ecd99dbc","impliedFormat":99},{"version":"3b7b9365174c24792ba2c762637b0bd5cbb8d88a72153e3f7f82d34e115d5647","impliedFormat":99},{"version":"7e3a2715195f927935488d7565bc30e7f540797776e1de208c64720d4ef87f77","impliedFormat":99},{"version":"5804ffbc65b78751fd510218b90827a7ca677ca34a45b4709a00783b658cbaba","impliedFormat":99},{"version":"0945a03ba41861ce8f75468e2bd1bfd424185418921fc2f55cac5eeeb5049c3d","impliedFormat":99},{"version":"246dc85745d220f0a1041d67bef89de1e02fabf49e6ce896bc1a345eab1fc507","impliedFormat":99},{"version":"616b74da95e0f9bca845458de4a8b25f12142b4a7b02e89882da05b4cc115802","impliedFormat":99},{"version":"b894722e4b4205a60154ee3d6fa8ecc3ffdfb92a7bd38936f666d3f00be6649c","impliedFormat":99},{"version":"1f7f05258c0992bd696cf00984e640011ae5477d7aac3b80fcf61bf27f42fe88","impliedFormat":99},{"version":"9129342b97e39ef2c9df4848dfe011329cef9b27e719c7913fd3859be5fc0cca","impliedFormat":99},{"version":"351edaf90b54a559e1759f7ceb54b7881079cba5f4d6dcf15bdb26f1877dd2c6","impliedFormat":99},{"version":"3f79205d951373afec1ca713cbda4be9816d97daa795a9e0a37fa3ae5429afbe","impliedFormat":99},{"version":"bcc4c8b5a39356915b8d366e3499a28adc89e2e0bffc02a108eaec1c4797a58e","impliedFormat":99},{"version":"5b2287eec9804a7fc7c6021ae0a7a92b0160750eb21604b77203589e2ad905f8","impliedFormat":99},{"version":"03870a19c7cbbad803b0ee2d69b777e12be7734e087ccfb0c862529a41cb493b","impliedFormat":99},{"version":"46a52d6ee42784826515dd6ab9f5afaab3a05dfb49ddd8298a2026b6c756b944","impliedFormat":99},{"version":"995f334b04df585cb2a77b74533441293ff1e1d4549c86dd5495494c1fc3969f","impliedFormat":99},{"version":"e83b7824f3d983e9b8c2785541579cd8d8c153e96959e71ab4f69bd83c71f953","impliedFormat":99},{"version":"7b0030262f3d2cc74ae1dd79f4990a7131c34935b2c177e6cfa17a88a6ea56ee","impliedFormat":99},{"version":"a923cde26c2e5431e455844ac5f31126d45976c85f347c7dfd2b9eba3e8ef63c","impliedFormat":99},{"version":"3b2738cfacb777ea1f53acdb26b4f4306fa3dbac7fc5d0f1c4750350d3f5741d","impliedFormat":99},{"version":"b95d11a17e57f0cd0ab04aa8148c8f0ca3a68f56c9a44ac9179cea8a6cccb546","impliedFormat":99},{"version":"7688f3196338007600eba7158240aaa15ad524ca42c204fdb3888446fd690086","impliedFormat":99},{"version":"514f33cfc8bf4a00d0603f6df438959657ce42f94e93e29df29fa9b58e7d54f9","impliedFormat":99},{"version":"7568cf2d6e505847c539e63406ddbde2ccc0f96f2e6c5f115a4b9774d0b55aad","impliedFormat":99},{"version":"d05bd9004c654c2583de473d77f047f03719e3e7bdbe62861371755208e36d59","impliedFormat":99},{"version":"74371225d6032ec7f73b46e736d9ff6ea3626be6fc7959e8b71fedff0bb75cf4","impliedFormat":99},{"version":"06dd247275efd44b3f91270763246700353f1add0945380bdbca8c90a517f9f1","impliedFormat":99},{"version":"0833e55be9920ff787cedb7ea623e97ac9bab28961e0e11aa4a56d36d6074dd2","impliedFormat":99},{"version":"92fbb2b6566fdefc6ba3f151299b2618bd1780cf26c2d0078dcd7f1bdc1c551e","impliedFormat":99},{"version":"3b5317db0574b276c1ecf6ebad9faa974f4e416786b682ed1f854cc85837c3df","impliedFormat":99},{"version":"5f27b1f1b03636451e90fc414bd8426a1db25ad438782354bea60f47d7efb9d6","impliedFormat":99},{"version":"53eb12cfe4c56afff32a3b8adec4fefefa12685c84202c8207351004d30c3b3a","impliedFormat":99},{"version":"05bc3698de467024d02654162f1eeb4edcb0ed9d855a96133572969a6f3675c4","impliedFormat":99},{"version":"a5ba4a306d8bc21ac2fef4e40e9076708dded0176aa21484f1f6da23a4d400e2","impliedFormat":99},{"version":"1c825d1f1bd9e70c306f6c16a0a6b76ccfe4be9350857831eba93e59b95fbb5b","impliedFormat":99},{"version":"b27224caf8db7ed9edf9b12368cedb963bbba3a9b5143c68dff53f5fb2351c96","impliedFormat":99},{"version":"eb3bfb8488f260946c5bbf5d9e730a6e23e0c4a568fbbbe782f3c365e0595dde","impliedFormat":99},{"version":"15de6ee96c8e0f6a78fed11e60c3a0f9b4535c1e6a802c55d65028d500e91e75","impliedFormat":99},{"version":"052f62cd94d56a5ca9d8ce7e68a2201fe8f399a12d7803be2619fd03dd36f1d9","impliedFormat":99},{"version":"06e98ec1e0428de740d985f3480b2e699826d5cd2fe2457f1265b32ff4797ae4","impliedFormat":99},{"version":"01b8daaa0be6124a730b7170c1bb1375f7ed6acf1b4b49c1389199b5ffb600e7","impliedFormat":99},{"version":"7b0d3cca9104d4d9f484ca0a64bf731ff1aea842c8a4bf93618814b1a8281992","impliedFormat":99},{"version":"e40aa12df628390fb3819a883c52c51ef94fd3998e74965fce6a38917a0530f4","impliedFormat":99},{"version":"0df397db19a2db183105dfe900d75798622677a5db73038608bd325f86a556ed","impliedFormat":99},{"version":"ab505b9c7ee7649920023b14384c71e3c542bc7535f51028dff27d70d2b1d6fd","impliedFormat":99},{"version":"29a9fb009bcc76c847dcf73d820d276d6353e5c6c4c016c847d51e42796f68f5","impliedFormat":99},{"version":"743751f2d8819fd7ac9d3ef6378614b6675d3101e42ddc18767901693621cb2f","impliedFormat":99},{"version":"e4a995fd487783122df0848df4c871dbb536e1636e8e7b6f6186d2993e9761e8","impliedFormat":99},{"version":"45da721f9a605485a439778c248dfbc6351341d87de448ec266b74185e090631","impliedFormat":99},{"version":"ec47a4e180f0cf61787ada2d4691a1cf4f7fd65482f6fa9e01444adff3cbd6eb","impliedFormat":99},{"version":"3209d42dcb86b35a13c127fc39981a644b61a1fb0e59524038d0f3bd7fe25768","impliedFormat":99},{"version":"c8c16f7fdc34f8bda36cd9827b11c065e94ae25473465b2b35aa71df336ecf63","impliedFormat":99},{"version":"db07a4e9f69cc9b58930c2d3a4ad1fd9f882794b92208d55ab057443081f649a","impliedFormat":99},{"version":"735a572ced293fa984b3675cce56091902a0529cef028fe016d9670e3a94dc8b","impliedFormat":99},{"version":"dcf0056dec8dc80fe76eac1e8c6fa778a2e4c094fe2d4b120e6f5bcabd820be8","impliedFormat":99},{"version":"6268a89f0ce2f857f6f7ada0045bf8dc990b449f648b51522c0a7d84d016fe85","impliedFormat":99},{"version":"efd3f26f59c3291a0998435ad54c67191b39b4cd0d451ac807afd8da86bc1996","impliedFormat":99},{"version":"19b70aecc85035f5faef7f3da8dcbf199af4ceccbce15a670950377b388c1d9c","impliedFormat":99},{"version":"d621382b4ad80cc27b2f670e44e0bb11a7e85cb0f6a0b043aa0c9b6b21b16a15","impliedFormat":99},{"version":"5c1f5f0c20f5171a182440cd0347dbb94e5c84f5976184f2f36dec92afbd9b9c","impliedFormat":99},{"version":"1a7e2345e3b20202800bc92adbf628d22a74902b8a5c87a6ce3c361d3ba314a9","impliedFormat":99},{"version":"eea9dc67b1bd75f72aad8483567241f5fdbe46436f018df7f0719e7ee5aa85da","impliedFormat":99},{"version":"5bf7ec4d84bfa8c29f32b7cde878e8ef4e11b1bbf0f4edbb9e851efbfdccbd2b","impliedFormat":99},{"version":"3a49927f72440d36c50e1b62f5cbc2f296253d151ea4e5484ecebc8bc461ad4f","impliedFormat":99},{"version":"ce293a2b914083388ff1de83875cc6e82792c5dc1e99c3be4b787f6b150516bf","impliedFormat":99},{"version":"f8d6e2784bb518d523898f614b8c0ae55341968c982d4617f08867b5d11cf354","impliedFormat":99},{"version":"1413f593b860e74f717f40bbf5c934fd77ee6cbbc630216954bc1a364d5d58a6","impliedFormat":99},{"version":"f7e358590496240e80dc08cd1b71ca492e4d27664bb403d3efbb9acef5075b40","impliedFormat":99},{"version":"656e30f229e3a05096b21a8d0b4a37cadda6201d74631fdfd6a6f52f0c158831","impliedFormat":99},{"version":"03206d1ab6b7f08b118786a903cf849768c8c927a21022df88fe63910ddc3433","impliedFormat":99},{"version":"702cb19c1b38ca1b2d158d765869b667b2c1e5ca0e62862b7792285055cb86d2","impliedFormat":99},{"version":"396f903b4d3bcc1d5a72580bb0a8d9f90c7dac5e481b81c2b58df80c968b64e5","impliedFormat":99},{"version":"0e8707f15586d91f92a120b4751048061e04fdee756246667158d4df0105dbe8","impliedFormat":99},{"version":"c37e7b3d6c0b5da08a46d028e980becdd8d48d7b32b7644209695d75d43f653c","impliedFormat":99},{"version":"fecc5365f9a1dd29cc8c582bc0427a7bf06a52c2a42cdb4b25012976628faa6e","impliedFormat":99},{"version":"0c073335c77c5ad0240a0303cae56c8be8da93e206591c5a5a8bd6a613d78d18","impliedFormat":99},{"version":"827c1178e5058f0aaa9047725b845d598f0f52871792441412059173f895597b","impliedFormat":99},{"version":"9e8ed20b5058a6f5f773f420c0efce5c8eb802c0af94cdb96b782cf2acf1b00b","impliedFormat":99},{"version":"8b0336c60458945b1fee185149fa4b5a512917aa171d4232b1f0805c3c12e31b","impliedFormat":99},{"version":"b15377bca02bd4d77f5d089fa0c7a13dc251b104de3b43f62dde6955cc8ef7e8","impliedFormat":99},{"version":"020409dbb29a4396e3c1c0732a0f8afa939e47c935182f6fd0603e21d5a6a8f2","impliedFormat":99},{"version":"bb259ffb75be8a11b1be05d135a561391f7123110d75074eeb5207be382ceb70","impliedFormat":99},{"version":"1f52c9be8dfb11cc31d9e2aa4f950ef56aa8eaef1b78949431882f70e10487de","impliedFormat":99},{"version":"1e685ffce849148fe9e9649189957078d9495608e9df42cfeab20367d2d70c75","impliedFormat":99},{"version":"97e30735672fbe25393231a53ab5e3b63d34e74d0697c59ffc034f9119c23d31","impliedFormat":99},{"version":"84ffde0a761e4b6cbf3cf90c97c4c01608962e8b55082f3705d29465a194f449","impliedFormat":99},{"version":"d874bdb89c1172b0eb109873d39175a5f210f5d853439e7eb250102622edb0d1","impliedFormat":99},{"version":"2b7e61a49cb27bbfc53fd5b888705290beb2d1fe78a8b433bac1ce7544113904","impliedFormat":99},{"version":"8b28a7039c2ccb5108bb3a3b771ca430db73c4ec9e47031303b8e87732a859a0","impliedFormat":99},{"version":"156eb4c6ef17eb61507364b320e2812cfc5afd862cb1baa251b2ab412384a2a9","impliedFormat":99},{"version":"9efc47a0e98346bfd4b386050634b4e150e6c41dd6d9b2bc1288e80a0f345390","impliedFormat":99},{"version":"2bd0a3ea02475382ae8e87d78e3be763dba251ddf9629664ce73c706b400dc94","impliedFormat":99},{"version":"20008d2327e19c4fd051a2c0ee88ea696d704bc6d7ad39988fc509d81c27a485","impliedFormat":99},{"version":"6cee28d40bc224e61f12e867140ab6d677a03a1defc9ade08b1bd60ab1c06524","impliedFormat":99},{"version":"3a0bb28315b2084f25a012275ef45e180ea80d9ca4bbc37665b9c67e912e998c","impliedFormat":99},{"version":"17662ae9763596c2ddaa833f9e326b3de9289098a71457ee18d2db9407cc681b","impliedFormat":99},{"version":"9442dcf95088615dd8ea58077ebed1f7d5dd662caca210b245a6b19f38984038","impliedFormat":99},{"version":"baf0ad4aa9df446c5b08370689dc08e23e112fdd1a022293676254fbb7897a47","impliedFormat":99},{"version":"e3a929f769e33c3001244a06d6a3e025083be64599c1e961aee31145d623e824","impliedFormat":99},{"version":"083493311f28114ab250a8f379798214e91f264dce121fa2140ae58376fc48c6","impliedFormat":99},{"version":"fd03b3ac929f2bcec6710176bbcdb34969d7f9810b01f65d19cbdac143a2c7d9","impliedFormat":99},{"version":"f3e2f84bdacbe962c856add41824ccfd66fba7b320753f6e9c6871cd6fd5133c","impliedFormat":99},{"version":"d70ae743099d2615ffab06760a3571a2beb01fcb27366cce4025544603a6081a","impliedFormat":99},{"version":"530fcba9474606ca2eca0b85f91b26d5e24c31431c27d20403928d51f9c1931f","impliedFormat":99},{"version":"c483babd94cb2effd09a918f5cacae5fbc8cdcb8b65b1a28cf07c2a9381f2a0d","impliedFormat":99},{"version":"c808470b50113d547da502f2380c6674fd41908d641663e5944a6070113469cd","impliedFormat":99},{"version":"f0568ac6f1c90cb01c4a2b3d14c0c6e734cfbfa34eebc57d789db55e7d0d34f1","impliedFormat":99},{"version":"0ae4ff7dd81505058a06f617152c94802f16fc7a8d2f768c8794f53f8be57178","impliedFormat":99},{"version":"3f61a28c42e990b337e084e92d7fa7df04f8a6b6699da3754dc59611d189b40e","impliedFormat":99},{"version":"73fbbf32113d791d019c474cf474344bb36d4c375f9622728163ad5640492a39","impliedFormat":99},{"version":"91b6fbc14c8a81bc1751cc033f55e0cb6f3b346653d51e30efb7995ecf969ed2","impliedFormat":99},{"version":"77e2fd9131fc81ffaffdc85a8ab553f869f2a67b236ceb95b85b9a1bd72b8823","impliedFormat":99},{"version":"330213ff23c7adbbb6f1b5ead11fb8dfb731c5c24f8c4a18586acaaa47e74077","impliedFormat":99},{"version":"a9f07992ccd51ff2a089628480d51364e19be7e5b22e04edd7e18a519c50e2fc","impliedFormat":99},{"version":"26f62f6b63fff6ad7abd3fc5d89d36f8c74f6ddb32d64795556d0ad3ac6b2d29","impliedFormat":99},{"version":"a44dd85a5c1ba838eea01fd555504229ee74d97b1d237741598e7d97c0e857ca","impliedFormat":99},{"version":"aa7f2b3a9f4bb8a225b3a5e5c611b1a034ad76c3d870a1062e241485e3968e23","impliedFormat":99},{"version":"eb41d07bb7e2d527ac33c71146a3a4802a24d39defb6b8e4d707e5510074d076","impliedFormat":99},{"version":"405bf967f547561f6810f2903df5c5b3c7528d55917fcea0cf251951bedd879b","impliedFormat":99},{"version":"0060d5fcac50ed959be8765d1f5343eda5641109a62eba69696577e004b891d0","impliedFormat":99},{"version":"def4730fa85f358f1257bf2116242bec72080b1a0c70046d0c05ff7f90164707","impliedFormat":99},{"version":"5336f4657e6ffcc8bae26bd762b09b80ae6e3b67dce0a4b4aa99f5baab00c65a","impliedFormat":99},{"version":"8e728eefe8c7160465492dafb86f25085ede8c6b05e360dd2c7129955a155da8","impliedFormat":99},{"version":"c665cdd809976f388c82e21c47a040e5e19ba6cb953d0e0c1c38e1ce61f40922","impliedFormat":99},{"version":"c3bdb6cc2b1abe32815c4894c4d011d4ea80c79d0934d264b467cc6ec0051bcc","impliedFormat":99},{"version":"d40c02d227da200dd6be4e7d56ec2c560c08b9e24a4688a071f392b37953143a","impliedFormat":99},{"version":"01b9b0a56a739482aadb7da55886fa724bc2b557e9814ef4841d2262efb9846b","impliedFormat":99},{"version":"891117d566ab7e1a7798d83c58a20957c1703e92d5a351802081c643cf58faf0","impliedFormat":99},{"version":"6f925dbb5e83ba81d632287af1706945f435bfaec89258540eaae87817804c84","impliedFormat":99},{"version":"0fadf459265643344979f57c02e7ae5fdb5c70244fc9ccece5a1a977fe0b1fb8","impliedFormat":99},{"version":"0e77a1ed700a09eae143529750cc2eef65b8e28d76cf8a6eaf78b7f1afa24c63","impliedFormat":99},{"version":"5408800bf96b2cdd0d8d77e3d52f6848514efbf1590d96d9f8aa86c8ee95bbdf","impliedFormat":99},{"version":"b6e0ad0ba28715ae23a61b1192cdb24c06a909aa58b2048e64e56574aa4da7a8","impliedFormat":99},{"version":"c20b3e5d792dae26f5bbf8d1b73ddd16d9ddc336e32a301b9dd99c68a779f61e","impliedFormat":99},{"version":"d71713801d5419399f8edaaf0471dea5e578dd8b71eefde7abf387fb372feb1b","impliedFormat":99},{"version":"89b56bb82308d69d9ea109de95fff39ef64bcabd250688da972fcea05f50dad3","impliedFormat":99},{"version":"214f90578d41d0f5bf61b4d3de16b4671dc75fe893b803a483a4e7b96e80a1e7","impliedFormat":99},{"version":"32b6a2a6fc20f85513ffb0f35e455dfbaf058f65f063a10dda07ffe9592cd98f","impliedFormat":99},{"version":"8b2bdf89d903b856b52e4d416930701068a3522e9e8c2705602c6e7e2394e86d","impliedFormat":99},{"version":"c988c702e73a0ae03ff6d7868ebc2dd0497e921c3b7ea4fbde42aa781831b8a5","impliedFormat":99},{"version":"8409e2185704c03d12e1522dc4c7b137b6b7524e2fc1f9baee7581ee28fc3d86","impliedFormat":99},{"version":"95195cfacab74280a41490ca2c731fe499a37d7ffcaeac7dd2d9056cdc694623","impliedFormat":99},{"version":"9c8746b57866938dccd94775ccc3abe27e41d182b6f6d32ce82a1044084d3778","impliedFormat":99},{"version":"be71dce0024b565b17433b79dfb73c200bd087568e24e796d712cbd42eebf8cd","impliedFormat":99},{"version":"4d9081308548bde06c710ad7bc3af5e6d7e24538378a4c10eff2e769dec31bd5","impliedFormat":99},{"version":"09e693240afe609150a21882e64d8f34b664eea485d16ae78ac86cb3a47de3f9","impliedFormat":99},{"version":"89502a94ed72858e0018b65766f8deea38577994b7df9d406afc47224fc259c9","impliedFormat":99},{"version":"2c19973a0dad8e650d42349838ecc7bec9e181c28f7aacfc045eb3c0b8c7db19","impliedFormat":99},{"version":"851bba631a33a4413ce53ca3586b8a2d5799d0450207e8f7f9b594340e8d0af6","impliedFormat":99},{"version":"9772a1a4b6a4a8c16e2564c0d83848bc92c5410378710f9da8fb2d912ac32b57","impliedFormat":99},{"version":"ae66b8a49700f9b0e1e857eb7989a033392b92b5a19690c9ed7f8f403a1e219c","impliedFormat":99},{"version":"a095cd74b349b5c587c52343a00871d3a522d5d00614275a608e5c3ff690468f","impliedFormat":99},{"version":"ce2b17e7bb13676b9cfe8b9d71db509625851486b845475bf336e2c6f58a2cf7","impliedFormat":99},{"version":"68ff0025b0ff8a90165ae54d417191c8dddf93c794fd54fbfef6d4ea75f6ca82","impliedFormat":99},{"version":"6ff5a35137457c0c733501de9300f1801ae9abb33aea7bc9c6bf5e9d6d98cfc5","impliedFormat":99},{"version":"71128c986c2bd2554d203c724e897471277d96efae9d67721835e0174bb19a97","impliedFormat":99},{"version":"5118e5ed493b74299ca53eca1e5a422fb8f3207337285fe9206dd5d1f88785ad","impliedFormat":99},{"version":"aacbc0d9b6f47db9784a2193fcc7f4bfb1fc6cc711587a4bbac43e45432332ea","impliedFormat":99},{"version":"5be892a93003f44bc4420408ec0726322928020fe22f9a68264a176dc4eb8b96","impliedFormat":99},{"version":"9cf47cb5d151b9a09d0d2fed8b5858d726cbde497560ccb136557aa203364208","impliedFormat":99},{"version":"981feaf9d706617834eb318674966a8741ea35c93ce33e0ce155498e665d2593","impliedFormat":99},{"version":"8e661b24aed6caeef42e16eba111174c13ed178a660b41fd8f82401dfe129515","impliedFormat":99},{"version":"74606837f50a3a16d02993364c004db527b47cdb828edbd770595d5e4ee8dbde","impliedFormat":99},{"version":"16e2700613d061c8a3c21fd26bdff099948396954d5935ce913424d93c97815c","impliedFormat":99},{"version":"0890d6e6870d35b625590a98abc2bd3fa880fa46d0dc3de22dbf01628cfd34b7","impliedFormat":99},{"version":"193814fef68f60058efb9c02cffd20bcbf70eec1d32ea0fce4b5887aef746157","impliedFormat":99},{"version":"d7e7588481cd78747b1d6a9439feede87c2e497df8448acc74d9803867cfdcc9","impliedFormat":99},{"version":"a46d60895edd2436d8927e02798c82975267d0b6fe3af28d7596177f23da3639","impliedFormat":99},{"version":"f93b561633fc4bf5005f34f0c2f96f48c3e548d1593136cfaa9331d7294ca417","impliedFormat":99},{"version":"d64b9ad5dc93f6dc86e1c13f5e483583597b35fa0ad3170c928e436253b1a252","impliedFormat":99},{"version":"23bbc076a14d01df086f77870c735b053cb1c9dc07c2c8b160f6a04db80c469e","impliedFormat":99},{"version":"7f1f69fdcac775d124fe626182219327b833a962de2c9751073d2643695ce2e0","impliedFormat":99},{"version":"ad774bd48cdebf2909e354cb24ed9ade7763306edda185b7692890a2aa96be4b","impliedFormat":99},{"version":"f53c345523d49bc3e6a11a5f6540ba145b441af3618efaf58d25b58db03d2922","impliedFormat":99},{"version":"164af37e5cde8d2d830b5a5f2aaa6be547b8004e4e98b33fd6977581f8be4d4a","impliedFormat":99},{"version":"2aa08243d9c596b3e993b558033dd391f39ba4d6525ccba992b11bb5be54c04e","impliedFormat":99},{"version":"208371c97acf811ef41ba4b217816aedb802a570129042463b198c7d72d1cca1","impliedFormat":99},{"version":"6311ecffa1680ff0f9587217df76d9556d4c8c623f12464b8beb44461d1d22af","impliedFormat":99},{"version":"55d82c0c7c39c5ae50f1caf8bd8d57548cf4b6fceaa383424fb53da22ae6c866","signature":"d36c6cc5adf1dd3c897e4bfe96cfc0506c9352c7413cd83da0d3032f820781b8"},{"version":"800de8bb8ea525980e16dd155bb6e6847e7fdeccaf816e5c2674e1a24c5bfc9a","impliedFormat":1},{"version":"88efe27bebddb62da9655a9f093e0c27719647e96747f16650489dc9671075d6","impliedFormat":1},{"version":"e348f128032c4807ad9359a1fff29fcbc5f551c81be807bfa86db5a45649b7ba","impliedFormat":1},{"version":"8ee6b07974528da39b7835556e12dd3198c0a13e4a9de321217cd2044f3de22e","impliedFormat":1},{"version":"deefd8c43b40f9797c3921d78d3f9243959621a17b817be7f5d95c149f23a9dd","impliedFormat":1},{"version":"5f12132800d430adbe59b49c2c0354d85a71ada7d756e34250a655baa8ad4ae5","impliedFormat":1},{"version":"ec27c0cee1436f58e785f621703d19d588ebbd489eca245e5198b4d6b715790d","impliedFormat":1},{"version":"b16e757e4c35434065120a2b3bf13a518fc9e621dc9c2ed668f91635a9dc4e75","impliedFormat":1},{"version":"efe2821496a760b9128309bb69ad43f1a99feb49d3fd004673c5e406de523da6","impliedFormat":1},{"version":"ea0e3c7d1347a549ac7ec32d3c61a30e473dbbbc901d458064db03f673128145","impliedFormat":1},{"version":"4374cefdde5c6e9bad52b0436e887b8325b8f407c12035194ad02c28f1553a3a","impliedFormat":1},{"version":"5f1ba0898eb0a54a644cb9c95c2240beaa961d87fd080cbb90807a6cc03daeb3","impliedFormat":1},{"version":"8e92ee8710ba85b158c5d91b0bbc9d0d033f5e062b6e70178063f01b20f63a14","impliedFormat":1},{"version":"ee933420aacba1f60aa70fb8ba47c5e69001b005073b71973114587089a13c7f","impliedFormat":1},{"version":"0a0714999d0a5bdfacd15c7b34cffbcc6f263f6cb0ccb42076cdc541c6987797","impliedFormat":1},{"version":"56584bfc655f9df64afc0f22f7d1122c29e5b74b342c203b891e19de9fa37de8","impliedFormat":1},{"version":"40ec58f0fadd0b3981b3d383e1c12fa0680115ae9f018387fc2cfc0bbcf23204","impliedFormat":1},{"version":"59709e26e08d4fd4c6a133552ad8f94c5b31463f295c4bf75fae1907738b8441","impliedFormat":1},{"version":"849b9e7283b7309a4556c9b90bb8e2dfc27751f157798065bbc513dcddb09a8c","impliedFormat":1},{"version":"76bba0c97594248c1be19af32d5799f7eff51cec2926d8e4dd59267d7636a0b4","impliedFormat":1},{"version":"10e109212c7be8a9f66e988e5d6c2a8900c9d14bf6beadf5fa70d32ada3425cf","impliedFormat":1},{"version":"f4558bcdc26690cc593cd59217cd17d8e00af0f5fbd0c4f1c0d71ba75029c42e","impliedFormat":1},{"version":"51d621c4e724720dd1b7ba6374d8a5b988beeda22d620ac84634a13691b631d9","impliedFormat":1},{"version":"f57a588d8f6b3ce5c8b494f2dc759a8885eaee18e80a4952df47de45403fedbe","impliedFormat":1},{"version":"34735727b3fe7a0ed0651a0f88d06449163d1989a2b2de7f047473adc7c1c383","impliedFormat":1},{"version":"a5b13abc88ab3186e713c445e59e2f6eee20c6167943517bc2f56985d89b8c55","impliedFormat":1},{"version":"8b29e3ed0c90b2ebc40b2bce5a518a0e86c0c417f7fe99a5e7658a61166bd9cd","impliedFormat":1},{"version":"7ae65fe95b18205e241e6695cb2c61c0828d660aca7d08f68781b439a800e6b8","impliedFormat":1},{"version":"c2c8c166199d3a7bd093152437d1f6399d05e458a9ca9364456feecba920cda4","impliedFormat":1},{"version":"369b7270eeeb37982203b2cb18c7302947b89bf5818c1d3d2e95a0418f02b74e","impliedFormat":1},{"version":"94f95d223e2783b0aef4d15d7f6990a6a550fe17d099c501395f690337f7105e","impliedFormat":1},{"version":"945be5a9505194381cfd4a8551a5f0ae48090847e454fecf834e054207c5a57b","impliedFormat":1},{"version":"d1e8b78a5ce49cee9ef4cd2565d4645d269c6fd0650e3592f85ba481f13da3a3","impliedFormat":1},{"version":"61be8f1d5345cf5750aed87af2869888ca1b675ffa481f1d4d80554e10084b4a","impliedFormat":1},{"version":"eeb6c806376b9c3464f29b6058aecf113328f9ce290af0375e520f1a844529cf","signature":"61f11ef9f7b473f14c872a139f0a329251738f177edfdcaefb3745adf8967036"},{"version":"ab66242a591a3f4b08aa5878113863accf31915d7894df6cf93dd907459bdede","signature":"4a4dfadd9c6e0caa39160e765edb5d64e3b3ebcf8a0c98a0d42e99255a4c154b"},{"version":"7bfde3ef5a497d483fb2d33b7864819f40529496f40060cfbe21f42654f42481","signature":"e5fdd46abc3d47e1c280eda5b7e9b1f8eac23488863997641d8871c557dbd2db"},{"version":"39b84b28ef5d80fc79a0886cf4c3bd09dda72dc2c1805b1104bb4b59da245972","signature":"fcb194b44193ae0d5ab45c1ee4995152ee7fe94ea8480dde96868eb1315ccbfb"},{"version":"c0d8c53febd65f3ede401e53eee1cf1c5d6e4e5c140d6664c6fc458f16864a9d","signature":"f9653d5c0a8d7199894c3721eae87d898c8ce6668c3c28461dde2236367c94e6"},{"version":"ebfca49b6f505f572648960feb0bc5e131c9a6bea97f3f5883dfa9374ed4028d","signature":"5d2270355cb77cb6e68e65ae1d5c258abf97b4845ab9653f0ed1626154bbc114"},{"version":"1ceb93a23603a978c37604ac8c0f3a5adb8a7bbd76a5769b950db644b972f0aa","signature":"0895d90edbc5d40218c073393554c18fa39a891461bfc44da8be225be27a6a37"},{"version":"b16d890b0ea02f67586f064f87af862c601884fd40ec000b3ec8dacdf1c4c7cf","signature":"c4bf08d84391225b229f7d67fe8f7b3ff511782f27e0d6f5f4680aab2cf451af"},{"version":"ed0300836934be9970c950c0d485e8276fac87cf1fec92f07e5f13fb7203604d","signature":"e3d48af43b4af0455edee6944467120f4272a8306e90d504935da490b053cafd"},{"version":"5d2f83c743291ea87c5ac07302a4e77164c5c1f264fad49019d78948a0077720","signature":"13e5227b41274516b473d056791d5c5b6456723d36a4fead4c8fd3ae2a9359fb"},{"version":"300265bdef383cfba225397ca6ce6065b4aa1e1a100d625b8bceafb96c953bd2","signature":"6c69bc6a57f4526cb6ab170a33ed85330a0fa9c2ebb6f82c32a3217ace45a4a5"},{"version":"e4076a2b104381c835cb21f38fee5f4f22674d26d79a6bdd83d9f35f8b961962","signature":"5a4e0d921d1c64c046a46838efd87367a659f8debed6c7f7801b8440576657de"},{"version":"172445546b246f00923ce61b907837020174c84335bfa24cddc78b6a5d28d0a3","signature":"b34528c74b3ff693ae3d27488992d045d0da79151d70e3240ea701f4a8910b5e"},{"version":"a207d5278346c5ef6ea5ce0b34dcb377bf4cccbd7153ab83953cee72c59ab34a","signature":"1dd308df0c17f9580459e35f573f15a40609c032465913c8d86a10883edcda1a"},{"version":"78dccd4faa282f1bea11aaf971b176ad479276976992e5c033511e08ce356f2c","signature":"5624eb9197036526e5d49c06fe2195ea16132c3ee67119c9b3d9f5dd7d3774d9"},{"version":"6e9445b11a3d075d64853d8b32efd159b4a45f37b481bbbb7d3bd57f5a5d5f35","signature":"589cdbba6bdaf20ddef1fe78e3bdedfd4e7f6b6e08179a9d8197ded860ebaed0"},{"version":"b53aedd97ce9ebdcaf94f60bb120b172149f79045edf37b22858ff10bb61e09e","signature":"ec13261703b24c5ffb56fe30e3d7b64fb29d7ea5fbf548dbb3440646b65e1316"},{"version":"1251b05bdf0f9d8118139c3ed7bb0ea60466ee664c2d58e710be9b39032c6f6c","signature":"f2c6a00624f44434d49aef27eac8b74b150c4ad7ea531992cd5ec7b61cff698a"},{"version":"a7e4a0f02427c3e07643a6d5bb9bf0cc09f2ebe28b37a42189f923133c43c186","signature":"01279e64b86fc37995c2df2f8acd601c7126eed6c6245b1e913a0eaa353f4362"},{"version":"d95338468f7aff8eb01f46064e7d9baaea7c777b798900f3b47def75ea3fed1b","signature":"661780c9082d24e041f15872aaad1d71f539b6240cc4ecb2c0d22a67fd9b838e"},{"version":"5bcca0c2e2f15929cfa8e0d91bad9f61ab85e7f256377ccc56d6b0f9f8552960","signature":"d77db17aa371d965761001b744dba64792f22b53c0a9ddd4d80d8c8b359c482b"},{"version":"641984c05f82a6e0b8dac973196b8ba146f1644b3706d318427096d844ac4f0d","signature":"eb5c97b219f68b8629c278d916c59c82b514b848ff10eb0db5d4196d69654147"},{"version":"064945c8a414c7a78b237a277403afd2b7ba4bb433d8cdc41fde3cddf09880f4","signature":"20bd6d8b518e6345256f0e7d38f412028f1c31d21376c07a4f41e3b65d0efdf1"},{"version":"5323f2f109370900f8d4f85c82ff47df76a7d63dbef322abf601217e4e677086","signature":"f59baba97905164ae2797a2a2869308ff3435aa1c66fd33034c0237abeababe1"},{"version":"93281f27575d54863f922d30fd1b8db72d53937e8f06dadfdfa9961e22314e9d","signature":"619c63b7fb03ac535c43a6e560180cd0e2fab0f396b2dca5c865392006c5f07a"},{"version":"5a2cdf6adeec348bbc876221be4367e8adff0bb78a5680ebd7d71e5c3bad6cc0","impliedFormat":99},{"version":"e004826eac62081f867c66dabd92d3ef7d126d93a70430a2c88429228c3ecc50","impliedFormat":99},{"version":"38d6857b58d2ac42442e396311c542062d4f0dad40f2adb496dd5fd0756ee400","impliedFormat":99},{"version":"34b7d1e2d15845cf08bcf5e3c01adbb92cea1ec27564ee249ba486cdfb28526c","impliedFormat":99},{"version":"f13cc653015347688208b6a2817d6a024cae82cea1b2be422061ae1fb40e86a3","signature":"9d34eaf37fb26f7e3b5d52527e1cb097956ecec3deece2590b99f360ab4428a7"},{"version":"cc319ff8f06a331d4b359aa39f43dc18f8d4402f1f3c446b22a197389c4067a6","signature":"a6d8aa22b2e3abe3192321c687b18ff88b15d42a8c3165a2ceef83a58045e9dd"},{"version":"3c27fb3f66fa5c3798c663843ad30a16957d6cf39d4c4ee8c154dc03b777bd80","signature":"ad4ff92dbea4696533340e64c444a2c6d93c4cc8f12fe2c7017af7d0eb8d2dba"},{"version":"72f2b2704bc36d69c78827d1f2c75ac4805d218e75da1ce9a4543370e6e7c2f2","signature":"987de9b3dd9352f138928040bd0776e179cdf67c235a18bd54580bc4163a2999"},{"version":"ae5f21d33e9cece1850a7223c30edff9bd2b842b05492b4d1f5c74891683186a","signature":"1bc767c3ecaad8c2a205ad502ee7c4f20cffc11447fadbd4ab3f573481073582"},{"version":"f45fce4f354b6059351eaea503203fe2661457390b5c443d299c90a690122d9e","signature":"cf836e95cd5f7ff40aece41f706a0b25b70f4d6ed2d4b82a65f01a41c6e19745"},{"version":"721652119aa07fa7df69fec15bb05e7818c69f4798e424b2a444889f482d5118","signature":"c4b089b69cbaadfddd82db7f25dbb73ba7125d4d401edf45e1aaa9262747a529"},{"version":"5dc5730ef5c731a28cd6bbb8163dd21f315bd591025a2ea41cdc0e20fcde705f","signature":"7dfd3c2a9c49308d39930032f03dd43b12e647f9e9ec55ffae39d608311c2e32"},{"version":"7efed9d38ce35662483150baaecb0eb98e400391ada29a436626063a3cd09be5","signature":"56e3f4727284e65c0f755411270bbf10da22e3fe5529baed216b93557b41276a"},{"version":"b3247c06acbd296275f69ae7aaa4572cfc9228e70de48b19ceb4584247fe05c8","signature":"a6a5dd455139bdffd774acbcf9371280adccee55dc5dd44c7eec8e5a5ac9325d"},{"version":"d7018a528455e948de3fe1c7ce76f0e40e58cba7b2685c27952d258d12c7b223","signature":"2abf126b8a0429351ec7cb3bd61efd7f4966a31641a2bef1339b78de215479ef"},{"version":"a87e8cd8091c081942428db61bb9628043948b1b06fff7a7f1ea09fe78a7a4c1","signature":"06ae795b9ca99a2466c46639c2ab809198e6c67d400165f05424a012b1bb817f"},{"version":"e5729ecd5cce9ac1786d5f520c432c866fd66cdbf09eaec59d9ac5710a884e41","signature":"19485a0daffc617967e78d145ebf48193c8b2e01162a202afb02bc4cde9547b3"},{"version":"f70f234f709df5791750addc70a8a355bef297782e6c09d47979b10797a4350b","signature":"c43f3f5f3c76c29b45e68ba2611b6e65b76a1db71c405af51f7fbcc93f669766"},{"version":"404dfed1bd77af6483255f7dd6e710e3fc5ebed7852ee14c85e143fb188c7674","signature":"296ce0f899162c2b4455d1c0f2473d99f25da25c62d2e6aa600e189879368ad4"},{"version":"08023aa9df13316c96160537767f94282e8e749769eb416e41e31d4595c92517","signature":"804c241b385c42553c2bd4e1bc58b5527ebd6df14c4cdcb7441a4609db842c2f"},{"version":"c38ae773048ffe944de8d6a5059dd3b32480451f6cebe67b057277ece92e26e3","signature":"9ab6891677c350caf88762bd9fae904c052d8ff8d893b341f3fa3b4926efa385"},{"version":"bb23c7b441db38d447145cda42a252dd88d0ac4113dc27e43a3a7db35524bda9","signature":"c4e6581c0c2bf8d017173140969f491108dcd5784f12ddf140da8b0daf20ac83"},{"version":"e7c2f40dc99121500ad108a4f86541d29cac105ed018f994c7c5a2836e77b257","impliedFormat":1},{"version":"90e930283286ab117ab89f00589cf89ab5e9992bc57e79f303b36ee14649bdd9","impliedFormat":1},{"version":"6d48a6c907c668a6d6eda66acec4242e367c983e073100e35c1e234c424ad1a4","impliedFormat":1},{"version":"68a0e898d6c39160f1326ef922508914498c7a2d0b5a0d9222b7928d343214eb","impliedFormat":1},{"version":"69d96a8522b301a9e923ac4e42dd37fc942763740b183dffa3d51aca87f978d5","impliedFormat":1},{"version":"ff2fadad64868f1542a69edeadf5c5519e9c89e33bec267605298f8d172417c7","impliedFormat":1},{"version":"2866ae69517d6605a28d0c8d5dff4f15a0b876eeb8e5a1cbc51631d9c6793d3f","impliedFormat":1},{"version":"f8c4434aa8cbd4ede2a75cbc5532b6a12c9cac67c3095ed907e54f3f89d2e628","impliedFormat":1},{"version":"0b8adc0ae60a47acf65575952eee568b3d497f9975e3162f408052a99e65f488","impliedFormat":1},{"version":"ede9879d22f7ce68a8c99e455acab32fc45091c6eed9625549742b03e1f1ac1a","impliedFormat":1},{"version":"0e8c007c6e404da951c3d98a489ac0a3e9b6567648b997c03445ac69d7938c1c","impliedFormat":1},{"version":"f2a4866bed198a7c804b58ee39efe74c66ecdcf2dfebef0b9895d534a50790c4","impliedFormat":1},{"version":"ad72538d0c5e417ee6621e1b54691c274bcacaa1807c9895c5fa6d40b45fb631","impliedFormat":1},{"version":"4f851c59f3112702f6178e76204f839e3156daa98b5b7d7e3fc407a6c5764118","impliedFormat":1},{"version":"57511f723968d2f41dd2d55b9fbc5d0f3107af4e4227db0fb357c904bd34e690","impliedFormat":1},{"version":"9585df69c074d82dda33eadd6e5dccd164659f59b09bd5a0d25874770cf6042d","impliedFormat":1},{"version":"f6f6ce3e3718c2e7592e09d91c43b44318d47bca8ee353426252c694127f2dcb","impliedFormat":1},{"version":"4f70076586b8e194ef3d1b9679d626a9a61d449ba7e91dfc73cbe3904b538aa0","impliedFormat":1},{"version":"6d5838c172ff503ef37765b86019b80e3abe370105b2e1c4510d6098b0e84414","impliedFormat":1},{"version":"1876dac2baa902e2b7ebed5e03b95f338192dc03a6e4b0731733d675ba4048f3","impliedFormat":1},{"version":"8086407dd2a53ce700125037abf419bddcce43c14b3cf5ea3ac1ebded5cad011","impliedFormat":1},{"version":"c2501eb4c4e05c2d4de551a4bace9c28d06a0d89b228443f69eb3d7f9049fbd6","impliedFormat":1},{"version":"1829f790849d54ea3d736c61fdefd3237bede9c5784f4c15dfdafb7e0a9b8f63","impliedFormat":1},{"version":"5392feeda1bf0a1cc755f7339ea486b7a4d0d019774da8057ddc85347359ed63","impliedFormat":1},{"version":"c998117afca3af8432598c7e8d530d8376d0ca4871a34137db8caa1e94d94818","impliedFormat":1},{"version":"4e465f7e9a161a5a5248a18af79dbfbf06e8e1255bfdc8f63ab15475a2ba48bd","impliedFormat":1},{"version":"e0353c5070349846fe9835d782a8ce338d6d4172c603d14a6b364d6354957a4e","impliedFormat":1},{"version":"323133630008263f857a6d8350e36fb7f6e8d221ec0a425b075c20290570c020","impliedFormat":1},{"version":"c04e691d64b97e264ca4d000c287a53f2a75527556962cdbe3e8e2b301dac906","impliedFormat":1},{"version":"3733dba5107de9152f98da9bcb21bf6c91ac385f3b22f30ed08d0dc5e74c966f","impliedFormat":1},{"version":"d3ec922ddd9677696ee0552f10e95c4e59f85bb8c93fd76cd41b2dd93988ff39","impliedFormat":1},{"version":"0492c0d35e05c0fdd638980e02f3a7cdec18b311959fc730d85ed7e1d4ff38a7","impliedFormat":1},{"version":"c7122ba860d3497fa04a112d424ee88b50c482360042972bcf0917c5b82f4484","impliedFormat":1},{"version":"838f52090a0d39dce3c42e0ccb0db8db250c712c1fa2cd36799910c8f8a7f7bf","impliedFormat":1},{"version":"116ec624095373939de9edb03619916226f5e5b6e93cd761c4bda4efecb104fc","impliedFormat":1},{"version":"8e6b8259bfd8c8c3d6ed79349b7f2f69476d255aede2cd6c0acb0869ad8c6fdd","impliedFormat":1},{"version":"02b6d443cd64d2a7e8dba0f1d59944e55e91a16b21a7d7d4fb5a81724c832dc4","signature":"e66fec1c73ea068e8541b003c79af072b1b18910017d07c47ad151a438c709c1"},{"version":"a1cc7006ac0ac2dd2748f5b4a07092a330d175b16adbcd49c0eed365e9b4575f","signature":"6521410466cd5930d8f9db814cebdf1094def90f68293a3b330296a35ff2c1f6"},{"version":"0c5ef2702d044a453bf073fbf5451aa3c33a80921bdbd2e71a79ba120a312d33","signature":"6c7620117436489ce610db4ac9f714fe5d57743d8ed8b8c24a78727b5d87880f"},{"version":"64a1df79fbba93c3a1642f66057608a3d7e2fd24ba015b260f7014ddde542908","signature":"feb053fdd4dce7ad7c1ba7791bb6f65fb66d38bb9c1f0543012dab8f663e88b4"},{"version":"9b47bc8dd5a4d6b7f03a22a9ff4f46883813ae93554718511b93888e39ee58d2","signature":"32937206cdaee2551a23ce603292dd67e9606a27fc71a984eab852fbea3b9ad2"},{"version":"302a2da08b2cc672d6a2c98a463c20c914773dbbc09df493d5868948e579303a","signature":"4dd7e1bfc2c138b564a1ff5bddcae96f4cefd39724115166bdbe071cd00b3cb6"},{"version":"061478177d08078193a151a71aedd3c90beb5b87bb69dfefc598ea039ab7662a","signature":"71f762a4ed63ccdd8a60c9930b445ab8e81bdf4b9919c5b94761511cd866f447"},{"version":"d6d3f9395cfd6f2ed3c9eaf572f882a03a1fecfc1e13acc4519df67833342bd5","signature":"5c597452991cbc579454bf8e1c5f549816d79f80ddd3514b52fbb26cc1cdeced"},{"version":"7c6ce84284a608e8ca9b7636cb5da89481d8c945d03ba511da6a2fd56bcdf78c","signature":"c169279b909f77b0c7b26ce990b20c6719869fd76be6f95f4eadf4f3befda363"},{"version":"83e1bfa7986a958fd6e069fc5df9dec6aa1e63f3dd81ddae889c19edf3a6c450","signature":"6efc188b6e1596f593cdcb356be53ede31fa87f972e5d2adc9377fa511e2685e"},{"version":"4a45807a8be9f3d901b6c8a9cbcd31bef0c230e9c9bad14a8e80f10227705d93","signature":"2150afbdeb24336371088cf931c6081d224326f5c57580ee0b36925d1569ad5c"},{"version":"dc916450a7fe9f02ea4f2b015b836fb7d3e6291e59c93b47f711623ec4c62fe4","signature":"1609615e284b1a86bbaebd997d03c23cbe145012ba3b3d4376aa8a43a701e4e3"},{"version":"6dc02009ab7282aa9971d08f5fd046f55c226f707f4b21e15c1bcd36c1af09ea","signature":"e42b8c3731c42dd2bdacdcbd0b7639df957c3f9b5fdc1edabac4a5e63772a4b2"},{"version":"af2d7b90a50168850a399d83b4e9afdc302a1025148194e2e94e1a31060b93c6","signature":"9836be02a489f0fb61392d0e3fe4127c72f079fcde9e9fed4c282bb070832fb6"},{"version":"9e06917a1e0918bc34f5e3cfc014c05c7cfdad0c98997d7047b4e7542aee1861","signature":"7ec35ece4650c0072c49cc2ed9a73660bdcc5ee7a8f4f8fb7db92672d3f72843"},{"version":"086d9066a9edc176d4baeb61d0075de9353ee4695c94ecfae51f293be8fefab9","signature":"90c1986dad477ad10a8330aeb2b86a0695d484a12a6f3d6507147e07791b1476"},{"version":"94fe52c96742b25429d30bc54d7ab2a2324f37025cbea99f819a77ec87bb1772","signature":"d570651c0a2c5e78e74c52a792b94ccc2cc9b2b927bfb3a5419acc0150942695"},{"version":"1897adbce3874a07180bb47daf0e8ebedd6d1793819143c63cbce290ca2ec80e","signature":"aaf435d6dc58d0a18a54421b3a622efedf9a7a996d8f75a06354219d91707650"},{"version":"68fe3c692ad2824bc811643cd5e239d872cba48006000dfe185146ad106066b3","signature":"0342e61cdf2eadde061c53e1c6fc7907ad69390beddb2aa50e656dc2a45a632b"},{"version":"b15c4ee8a756cf303d0efc482e861876a2e90b194c7cc393a8acbe7080fb186f","signature":"4a1ee69e5477f0d725306d7c9281d127f43ec0b40a23689a1a27b9430f030177"},{"version":"f6a08a8d8fa7acf45c3ba85e864da549befc88abeca247da5b6732a82685bf45","signature":"afc9b47eb28f4775396aacf528a98d207e4714ed7600c47bd33d01d4d6d3852b"},{"version":"bb0365d741d36b7f82832dbcf1b2e0025b6638516fda9ba3061d7d41f7f073c2","signature":"1e5e485956159fcc1eee2c73dcba5186c0a66f780ad21ec3760cd35a723930ca"},{"version":"431206d65e5858f0534c8be80eb4081627924a9d1cdd853982a3a4d811999681","signature":"e4b7681fdfe65ce81bcf251c1bcdd71b93740fde81479a2e3531a23fd347d951"},{"version":"7b5bae142db908800ba59fb353d7274e1f1ef0eb46074f1675af3ee77c4d789d","signature":"a4b716d6fb7e2bc0cde7e9e02904a13247381b91faaf9092fd6c60e2b96c2d48"},{"version":"058aa6a9383796a202fdc9eb0c5eac4cce8a19ba60bd8b551091beee197fe25d","signature":"b067ed3257c3d808d867d834eb5c1688ce5984ce6377ce6213f7fbea90bd6b58"},{"version":"c837dc2de1fef03dadb1fbe3ae46565ab80cbeea60c057acd5bf1e1d8df1b509","signature":"b4ffb98ee6415d12844fda388c4ca6ef430f4e4217d9ea7a139c252576a464cc"},{"version":"129b3dadbd2396c9b1c08fcb470642c0e6b70757f01129eb9290f6e57a50c9e4","signature":"23b54bc5ae624842749e76da86667d564c4cb5eef8d3cad9881b63a0522ff793"},{"version":"0233194800dbee9c6a26763d9e29bafd3d64a43c74d6fcbb75f759d3f5eb7edc","signature":"b8eb376386840de0303ba01f15f27e04407fd37199eccff44e6f51ff9410bba3"},{"version":"0248b7b6b9b3d3b2f5a4e9c9eefca5c3dcb81125ee34ab4bc65a47dbb21016d7","signature":"92fdbbda8b6006b765fd45e743d8c8f0e08884fa6e786b389c942f3b368a3f7b"},{"version":"e0340f2e710b3caf03d7435335ed6441df684f5f416b3008077280a53bc0d195","signature":"043d0bf84c084c637ced77530bd97faa0aa3a8e01e2915aa8cc2129f79d9cedb"},{"version":"92c285578eeb816b54f7042a5447e57b676d60becce977c9d4105b6565b1977b","signature":"5ff40a8d87e993b7d9798cfd183cad9e5cc58f9e4334ce2b76f69ef9294744d0"},{"version":"04780775bbde0064d8134ab5c1f40f2a0cc6e8fb4d3bc8e8e2ac961c05bda871","signature":"67482fe9e7bd39253e8d5941a55853096f50f68bdec5501585bd5191d7428776"},{"version":"c32feab5e5456978529c9eb1c2d8b56a04d9074f2f43e757edf680e132d37d00","signature":"ea673b0a7771824aa72008f0f86c71b712e5355684f05f24f8c387accd03f14b"},{"version":"be7bd88676ebb10c83d7fe1378c26122200f68085ea06524a4f0f8c66831b348","signature":"fdd9cbb46caa8f1ba8359945e433ad1f2b954b1496a933f3eb4d29c8ae3deac9"},{"version":"e111d7709868c64a5ec40c93a0831eff084f5f3747bb50300878504738e28c19","signature":"8ac220f8baeacc2d3ee8abf3398308e10ea42de2e146be47ccb866ceb017a397"},{"version":"0b963dab8deed627dcd3f1543360c70fd8d87ca93c4eab611b4a3a44b7624f03","signature":"e367993516c9f05fa87238bc5b53220f06b7f84b72629958930e2a7a37436c24"},{"version":"4d6792c606bdd2a9b2cddc4d24923ccc18f7f438cafa31e0e21285e97c58421f","signature":"2d8f81759b547e64f1b0e290fd4b0ac7316dc9c3e96f5ca93db1a1c790ec6038"},{"version":"b8b666a3d41df3b7cf4066283f67e72bc5e8e04ff4414695eb972ba7561ce133","signature":"171b8eafff7d0d126a6df4cb220dfdf7ae67c7c6687fbdc02bf4b791bca40091"},{"version":"d4e9258acb020b007d2a76f0d9870d5d10f0a2d6bc8d24bcaa0f65931892b736","signature":"345eb0a009f9b07377ff2e8bcbd390da1648e549914b3bd027bd6b4987f92481"},{"version":"05120e1838b00d9efcf9bc9a9267a85195f65d99968c5c11dacea87a4a91ece9","signature":"4a90332b8d3d40dc9be74be9d27d763b230fc4d6bb0fc214dce5553a12e19632"},{"version":"93c88804801702c2ebf4d7e282ff71d90f118253ee206e7f0ba03305cc581546","signature":"0a7f51c3fb4b7c9a30745a92c15a4cb4eb88aa3ea69dec8f6286491fdfb99dab"},{"version":"447809300abe6967b66fe4226b18bcd8513258b0139a8fd1ac516767bc510372","signature":"6d31cb09b5e87e0588c937c73aff7673a15865e355903fe16ac3bdcb3d2894d6"},{"version":"d689a82dec12ec02e1c558870a50f71000e06f173151fcdff0458c587dbf016f","impliedFormat":99},{"version":"e58c0b5226aff07b63be6ac6e1bec9d55bc3d2bda3b11b9b68cccea8c24ae839","affectsGlobalScope":true,"impliedFormat":99},{"version":"5a88655bf852c8cc007d6bc874ab61d1d63fba97063020458177173c454e9b4a","impliedFormat":99},{"version":"7e4dfae2da12ec71ffd9f55f4641a6e05610ce0d6784838659490e259e4eb13c","impliedFormat":99},{"version":"c30a41267fc04c6518b17e55dcb2b810f267af4314b0b6d7df1c33a76ce1b330","impliedFormat":1},{"version":"72422d0bac4076912385d0c10911b82e4694fc106e2d70added091f88f0824ba","impliedFormat":1},{"version":"da251b82c25bee1d93f9fd80c5a61d945da4f708ca21285541d7aff83ecb8200","impliedFormat":1},{"version":"64db14db2bf37ac089766fdb3c7e1160fabc10e9929bc2deeede7237e4419fc8","impliedFormat":1},{"version":"98b94085c9f78eba36d3d2314affe973e8994f99864b8708122750788825c771","impliedFormat":1},{"version":"c371ea3efec17691f019bca670c161bee2f4787b1f464bdbbb10c4117bf0a55d","impliedFormat":99},{"version":"309ebd217636d68cf8784cbc3272c16fb94fb8e969e18b6fe88c35200340aef1","impliedFormat":1},{"version":"91cf9887208be8641244827c18e620166edf7e1c53114930b54eaeaab588a5be","impliedFormat":1},{"version":"ef9b6279acc69002a779d0172916ef22e8be5de2d2469ff2f4bb019a21e89de2","impliedFormat":1},{"version":"71623b889c23a332292c85f9bf41469c3f2efa47f81f12c73e14edbcffa270d3","affectsGlobalScope":true,"impliedFormat":1},{"version":"88863d76039cc550f8b7688a213dd051ae80d94a883eb99389d6bc4ce21c8688","impliedFormat":1},{"version":"e9ce511dae7201b833936d13618dff01815a9db2e6c2cc28646e21520c452d6c","impliedFormat":1},{"version":"243649afb10d950e7e83ee4d53bd2fbd615bb579a74cf6c1ce10e64402cdf9bb","impliedFormat":1},{"version":"35575179030368798cbcd50da928a275234445c9a0df32d4a2c694b2b3d20439","impliedFormat":1},{"version":"c939cb12cb000b4ec9c3eca3fe7dee1fe373ccb801237631d9252bad10206d61","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"26384fb401f582cae1234213c3dc75fdc80e3d728a0a1c55b405be8a0c6dddbe","impliedFormat":1},{"version":"26384fb401f582cae1234213c3dc75fdc80e3d728a0a1c55b405be8a0c6dddbe","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"26384fb401f582cae1234213c3dc75fdc80e3d728a0a1c55b405be8a0c6dddbe","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"03268b4d02371bdf514f513797ed3c9eb0840b0724ff6778bda0ef74c35273be","impliedFormat":1},{"version":"3511847babb822e10715a18348d1cbb0dae73c4e4c0a1bcf7cbc12771b310d45","impliedFormat":1},{"version":"80e653fbbec818eecfe95d182dc65a1d107b343d970159a71922ac4491caa0af","impliedFormat":1},{"version":"53f00dc83ccceb8fad22eb3aade64e4bcdb082115f230c8ba3d40f79c835c30e","impliedFormat":1},{"version":"35475931e8b55c4d33bfe3abc79f5673924a0bd4224c7c6108a4e08f3521643c","impliedFormat":1},{"version":"9078205849121a5d37a642949d687565498da922508eacb0e5a0c3de427f0ae5","impliedFormat":1},{"version":"e8f8f095f137e96dc64b56e59556c02f3c31db4b354801d6ae3b90dceae60240","impliedFormat":1},{"version":"451abef2a26cebb6f54236e68de3c33691e3b47b548fd4c8fa05fd84ab2238ff","impliedFormat":1},{"version":"6042774c61ece4ba77b3bf375f15942eb054675b7957882a00c22c0e4fe5865c","impliedFormat":1},{"version":"41f185713d78f7af0253a339927dc04b485f46210d6bc0691cf908e3e8ded2a1","impliedFormat":1},{"version":"23ee410c645f68bd99717527de1586e3eb826f166d654b74250ad92b27311fde","impliedFormat":1},{"version":"ffc3e1064146c1cafda1b0686ae9679ba1fb706b2f415e057be01614bf918dba","impliedFormat":1},{"version":"995869b1ddf66bbcfdb417f7446f610198dcce3280a0ae5c8b332ed985c01855","impliedFormat":1},{"version":"58d65a2803c3b6629b0e18c8bf1bc883a686fcf0333230dd0151ab6e85b74307","impliedFormat":1},{"version":"e818471014c77c103330aee11f00a7a00b37b35500b53ea6f337aefacd6174c9","impliedFormat":1},{"version":"dca963a986285211cfa75b9bb57914538de29585d34217d03b538e6473ac4c44","impliedFormat":1},{"version":"d8bc0c5487582c6d887c32c92d8b4ffb23310146fcb1d82adf4b15c77f57c4ac","impliedFormat":1},{"version":"8cb31102790372bebfd78dd56d6752913b0f3e2cefbeb08375acd9f5ba737155","impliedFormat":1},{"version":"bb9b5a18147a0f927e0fffe91515a39610e2477b0d8a0d0b391c283013e0bfac","signature":"d373335450e0c74b3455541e03c0ff8fef26b51201c49ef145a0afb217a9f026"},{"version":"4bc5159b0bb1e303f1b662d485b7f9dcfaf785a29f8cd101ea85817fdb3a518e","signature":"70cdd1bdaa655ea305231ef8f3d9f830459ae85cad5a2395b70b4caa2d81abe0"},{"version":"25bb698c825c728521550bae3d4d8777520fea078d96529db79d3901278e084f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"d7382f620923bf13382b5aa1ed1d439617c8f6c916c1d7a645a6f5005dcddf8e","signature":"32159b615fba8ba0c76d071b40e35822660f8317b107f16b5d40ce3a8d6a5bbd"},{"version":"6fbedb59be020e7d349de8a1ffe8aaa52d16c78f9aea437249f14782b290aee9","signature":"eba9ab6bd63d7d7bc2a05d255e9d56cb7321477c3ec92364db4cdfb12873e8b7"},{"version":"1318f5ed0496352fb48c4c03ed01567db651e1794260df1b2da1e146a1aefab7","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"fcbc73a398e35777c583049d7a6315455a1c340d06a7ba06fd65a08a998576a3","signature":"bb33db3843913e4d9bba12a3c10ed9c8bb77a67266905cfd9e0afeb093e715fd"},{"version":"ea963ab39dbed68f0cbfe8f7bebb09e3b9a98badb38164903aeda102ca62fe84","signature":"5b200f49d9a764a71d520c78d45962405cc5ccc514dd4174bc0d0161ac102be3"},{"version":"70ac7fbe8555de02f7cb0fe42f479173ddb89a737908c560014d733348422046","signature":"d9b4f0fd652a60e8727bf295164c2d0a652cb6d79ac90e8b13c48d4230a47039"},{"version":"656ebe6a1e35fb1e45ace5b3d8975099fa82a7a42542c09ee1e1e975b4951722","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c4f3d9c6228f744351b3f3d6ac2593edba9e7cf0a965cc6ccb1805595f44f275","signature":"96dacaf48c43f86fe63578c47b008b14f31ea3b26ba6604869be23386548a0af"},{"version":"ce80305706eb0c25efc5028968e9b4c6118a68c8987532ec9df246a8e7ecf993","signature":"b95e4b7b3523b6989a5d11cfd8722d821d0dae59e5016cc2fa69c6c3e7507a9d"},{"version":"256ac94c8da7010cbaacfb3e0f55cab2ce49beb7f21309659ab1e5c44b66cba3","signature":"4932a57ec8dc885c99967df2c08c4be4dcde303de1727465afc901bb526c9dce"},{"version":"054c188a756ddb383e1ccb176c09ab7f0894d89fdb9ed00f102af2a9f7ac0e3c","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"45d8c8b72f837a46ca63ef01ea3f4244112587c0abac142367982f443e31ea7d","signature":"eb8463d6df0ca2c38399823f1e38ff66180aaefb12e5b403155c2abe1eda8b5a"},{"version":"964e363030719b2e66f7eb64663b22f039bc64985dd1e75eae362e378608ad32","signature":"52b37759b4c21b0266e113f72e72db24ca11859fca9beaae88ac286fa508c5eb"},{"version":"2aca0bc14bc6a0e2ce70f410e002eb4aec77e7622afd0e40200a2d6c36542db3","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"7f949c30942f05ae967f2d02c4c236a1110bc8738a54c21af8e99754a48f7b82","signature":"cb2506a2de81749fea5853e66c8719cb4260ce2ec3bba755d54f4af1214f6a45"},{"version":"360b5f1e3b81c631b65238b5741669f9f6933c21f7008bff7765c8506c7dbc2f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c7fe6433c779a7bce07b3c90d85dbd397326047eb839680cb426b97d15b1af91","signature":"8ffce94f2622151e417ce42edf509f0890eaf9268f878c698e05d0bbe3df3159"},{"version":"9611923f3f5e73077c029c305c8ebdde8021d6df2965dcebdf3b517151d4f22d","signature":"4a408ef95bd2d7fd95c5177738ef55666df0d24ab893dbf762a7ee5fb76b383f"},{"version":"fcf8bb50230d3b1973034c5f3d43b32ae889757e96c8f1bc574e4e229cac3855","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"2ade88925e99f1feff0c33e971814e734e05f6f9e32c2fb7c6260247635417ac","signature":"06ca53e7c778e43262f44194db43a44dae84e02e9d9ae674f74a4039f043a39a"},{"version":"a5110f54ba5e9c7c7fdc029cd20e65f35a9ddab6830394949279d03f4baaa112","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"e08859a0433654484c23ea7d2447e7da43768e228643cde336290e80359be015","impliedFormat":99},{"version":"427d5d08714a73f909d965ace2642ea9819e49245620483d47acb73b4eb922cf","impliedFormat":99},{"version":"242e53307a5705e9235ca1be47168a4c3155ea674e80f5a13f94d7938c23bb5d","impliedFormat":99},{"version":"2e0b9c5b9659b03cf5a40b73ebfe3b0c8de950f06308a61502a2722e2f418c18","signature":"b8ceda97cfbcc009561ba63ca8e39df0dcab8ad77f6bb03d001f12d0f5174f03"},{"version":"4c764723c1b138bbe8c1bc72238104237228b578218b11125ffdd5deae9ff43c","signature":"10e70748999b330961566808875bc5d36171a9ad58c46a4edbcc4c4da12a322f"},{"version":"185bdb099859415dd4a9f0ee628ae5ef78849b1b7d744f88b697545c9a846add","signature":"2a54a5b2a4e93fc1f8bc84e555c40ba4a3a126be370ed6b3a2a5c46bfec96543"},{"version":"28868480ae8cce93a71201c9b3a9f34bc775728360317347d3a14aa6120c038e","signature":"5320f5827854ccaea699d3f667e7e128fb845f6d851f1f9f84b82ef6dfc5e1f4"},{"version":"72d3fd192ffa0901a97fa17655ae18a1a4af3479f66348b17bfcafc42678e06a","signature":"b8e5e406f6eea24fb8879a1171e907595d3b8c57aa8414bf7c50abe80de91d61"},{"version":"849d186951b6fe08777eb595e7b5423a933404a59b255b15b3ef91eaa9e03e2b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"6333d1e1d79c893053a569277d87feaaf86f0f768a4b2bbad44e9ab24989b141","signature":"dc1df284b2ecb2adb8124f0411490cbb6adc27d6b3f783cb98e4de022894c67c"},{"version":"45ccd6a5512cc223aef125bfce5fd59f5eeaafec7c248f06a33f1754a188af99","signature":"690b1bc4ee50c9600f8b30a1679eded851efbb4a61645dc65f009612352ad575"},{"version":"f22a38020548019be436f7d33fae243aecf68c9e068dd7fb5d88ec31fcfce2c5","signature":"990a86a4c51ffd7c3c146bc5b5e4f2a6eb31f8a08186da00d699ec62be38d14c"},{"version":"07a57ea6e42f784f7664053d917baf68d010a79f0df1fdb8fba87a6af92ddd7b","signature":"e57424bb8ca9fcb02c7b73c295bff56d7889e92610490ef4dbcf83dcf5006809"},{"version":"ba3f0e6512b7afdac714ac775b22777273fe0dd98096e1d1a7fa2f9aae83cec2","signature":"7546aea101d084a3039eec017b4629ef261e36c012a024daeb0f8170d86d192f"},{"version":"1833bcb0b74f33217898a5ed98c36b2d1c9d482e7cafb6952e271c108e9b4d5c","signature":"7deea9301b142652e89ccf3b3ee09e38aad371688ad453ed9a22b918f9a6e4c5"},{"version":"ed9e84f54b39f81bdc4e0520812489f40ea453de7a51d380a15b14d7bf02e683","signature":"e6cceaf655d91958114f0707a4d6c800cfd0d72ea8673f4f0face6b049c90ec3"},{"version":"62747763d1d237ca3c03d62b964cdb8516eff3b8e4c5b522673d62eeae274208","signature":"d86c8b7a6c6edbeb6a14c73aad61eec9d13cec0040264ef13c78a8c2f7ecbf43"},{"version":"905bdfd5154eacc20c530902e5b61d0dafcb154f8e9b91c1e9a93ed96d038a52","signature":"7c56fc0ecedef369430a6cc78f797e1f72ac6aa30cf3861bea222fc9efe93d49"},{"version":"7e0a96e09ca4d8f3c9e150ac769708cb841073b89069679159fdf7cc98ddef1e","signature":"d1d2efd128275df07279bf887018192c1b38c0cc2aea96243de78a8e92bc30ad"},{"version":"c60589474f30583743d020f14843c30b08c04a45a1fc1a3a116768dcccbd3083","signature":"29afa7f4d2f64a222d590227109f01361ddb9c6588355096f6aaa036b9d67d05"},{"version":"0cdab5351929ad0e2d94ecea2b8d60d11fcdb153ff2355ab9c5109e84a697ddb","signature":"91537516c066b5bda3446b1dbd01a6b3ff342925cde014d5acb7b6f8b99ed12c"},{"version":"0172224d148517f7cf90527aa73f03cb436b3fe7f06ac70c039d6886b8f9dfdf","signature":"d01168279f1f9a417a578d3768c58eb5170a5b3445e7b2dedf880dbf0d1fe873"},{"version":"a6d5aa9d1ace7ec2a992729d02341737fc267a9d2d7f1467313bd170e4b26b15","signature":"a65ecfa05330aaeae23d23b899f0bd37c34e42fa5083d180b4a0bff3dc3ae25e"},{"version":"97f146b6ab681128624b60a8b1114d5d52715a81ed814b3b82a90055a013a948","signature":"76d26c617c0a9f48d4e21938e684ae22166d2d3604d00cafab5212b0e15b57fc"},{"version":"d09b5dbb314f199a0d7ae3c2c2a9c7258b611f3f28d1cc83c2685d3c738aec3e","signature":"068d0597a17af822c2ec3af9b1c2a9b9a26c0a4387eb66f655a0f1d26e36ba84"},{"version":"35164c8ef06e7c366f6f45f993da6e0df0f7c2cc93e78198c199bec111da8fa4","signature":"942546eaf5ae2d0c5948c6d25a748fba25b6f4d760911ed595b40f043fbae102"},{"version":"7ad8b6cebedb61bc90376206eb8cac69b00f56743953cfc3d8c19a7380355802","signature":"65bb767048368601ad35597c54f6b112e3147dc84fc338199931af5d57b8fe95"},{"version":"1ac040d4f47be4c1b44b4a521c7bc1264c97371b3c51bc2170326827fc8a5406","signature":"dd24f7d41609a7eb1c990ec2f7d7cdd63a419e355e6294050a67c029bdad0d78"},{"version":"f3d7aece0ac20c6911c50aa54b50c1ae6768a8793a72412d346aab2b66b4a7f7","signature":"ab04dac1f806941027328926be16232e21366ff829c3be737572abc646b0ff3e"},{"version":"2542f40dc0d8fb9f97bc33187f53f776a45fecdaf85ce9e52702be90b3e63c2f","signature":"519c584866e4d804355422ce52d8088fda0124969a9668779f10b0d50e114153"},{"version":"3cef134032da5e1bfabba59a03a58d91ed59f302235034279bb25a5a5b65ca62","affectsGlobalScope":true,"impliedFormat":1},{"version":"95f4082e3fba1f2abda8dadd5d0250908dc22cfb5d5976554d1444b218580e51","signature":"7cf5ac50b3def9f8df750c1e7ea9a102216484b4bba94f9e0bf68458bc77eacd"},{"version":"2d4b53789aab997f99121021686c05f5f54aae58fbb0525243fdd322c80d612d","signature":"5c975df906b720e560dc80cf99f12cb2763329a0d5c42ffe3039256137dc3a70"},{"version":"e43472b89b27f89f28fcb57260e48230b95baff6fa6c489c5710115cfa6c9506","signature":"2f9e549adb20bf7d44ab18efcdb5e7dab6bdf423d310f3df05e5ac78e3828990"},{"version":"91d7a64938101c27f0f5493074dd0ebc4f82ed6d58c42c8d148235de3f8978ed","signature":"b4698bce6f7a4a17593cff994a72d565662855439386bcfabf5f0335ea8d4be1"},{"version":"d563b38c81c713a23b730e0e385c44442992d3b1dfad2424fd9c635e3eacf593","signature":"97ebafc9d89ce29d62958a732cda28a5cd408a1257cfcac0d253584fcc850e6d"},{"version":"ce2c10a0f6a2b731551ddf05c6be64ead8d28b4c37072d8acf9a39f7820f4665","signature":"4e69e7b65fb23298ec08b6e0cc86692fb6602df5473948f46baf219a07967697"},{"version":"0d922edfe50c6ffb2c16d49dcdd160dc468b0f93f69fcb021d6464db95664a21","signature":"aaa2dfcda87fdc4c24fc251d7d04070f379d25c631d2b130c846becc582e1b77"},{"version":"df3a3dc2616be7db489fe6a853faa1e52a83dfde06d2f3214994ee7ef81f18e4","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ae77d81a5541a8abb938a0efedf9ac4bea36fb3a24cc28cfa11c598863aba571","impliedFormat":1},{"version":"3cfb7c0c642b19fb75132154040bb7cd840f0002f9955b14154e69611b9b3f81","impliedFormat":1},{"version":"8387ec1601cf6b8948672537cf8d430431ba0d87b1f9537b4597c1ab8d3ade5b","impliedFormat":1},{"version":"d16f1c460b1ca9158e030fdf3641e1de11135e0c7169d3e8cf17cc4cc35d5e64","impliedFormat":1},{"version":"a934063af84f8117b8ce51851c1af2b76efe960aa4c7b48d0343a1b15c01aedf","impliedFormat":1},{"version":"e3c5ad476eb2fca8505aee5bdfdf9bf11760df5d0f9545db23f12a5c4d72a718","impliedFormat":1},{"version":"462bccdf75fcafc1ae8c30400c9425e1a4681db5d605d1a0edb4f990a54d8094","impliedFormat":1},{"version":"5923d8facbac6ecf7c84739a5c701a57af94a6f6648d6229a6c768cf28f0f8cb","impliedFormat":1},{"version":"d0570ce419fb38287e7b39c910b468becb5b2278cf33b1000a3d3e82a46ecae2","impliedFormat":1},{"version":"3aca7f4260dad9dcc0a0333654cb3cde6664d34a553ec06c953bce11151764d7","impliedFormat":1},{"version":"a0a6f0095f25f08a7129bc4d7cb8438039ec422dc341218d274e1e5131115988","impliedFormat":1},{"version":"b58f396fe4cfe5a0e4d594996bc8c1bfe25496fbc66cf169d41ac3c139418c77","impliedFormat":1},{"version":"45785e608b3d380c79e21957a6d1467e1206ac0281644e43e8ed6498808ace72","impliedFormat":1},{"version":"bece27602416508ba946868ad34d09997911016dbd6893fb884633017f74e2c5","impliedFormat":1},{"version":"2a90177ebaef25de89351de964c2c601ab54d6e3a157cba60d9cd3eaf5a5ee1a","impliedFormat":1},{"version":"82200e963d3c767976a5a9f41ecf8c65eca14a6b33dcbe00214fcbe959698c46","impliedFormat":1},{"version":"b4966c503c08bbd9e834037a8ab60e5f53c5fd1092e8873c4a1c344806acdab2","impliedFormat":1},{"version":"3d3208d0f061e4836dd5f144425781c172987c430f7eaee483fadaa3c5780f9f","impliedFormat":1},{"version":"34a8a5b4c21e7a6d07d3b6bce72371da300ec1aed58961067e13f1f4dc849712","impliedFormat":1},{"version":"6223f56cb79eac77e1211e76830da993ddcd9baea0dfe2d10a61a131d39f427a","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"20d8184cc9bf496dfd9415be762d5233809d005d149417d3c30a16084b0c3842","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"7f72a954c349bccf89e393e243763fb141257a54d6647e369c79beda371378f2","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c6b47f0ea0108d741abf731f728b357a8370c238ffe73fcee007619484c24356","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"882e8d0ba2abbb1b69de1964aa644932be0278f7ed640ddc904541ffda281fa8","signature":"f592c7e333a33b4e5dba58516b31a9ba2c3f5639c989fce88351556ba49606fc"},{"version":"fb7a80ba4daeb0c2da8d52a327f7320e4a0b461f00f23a904c54d3802641de70","signature":"988460246faedeb187a68528cdf7507931dd8b113afa726b11ce7b587c150934"},{"version":"214244e86df9709da19e41c83203eb228ab74388a8899c0cacdb856bcb9b2091","signature":"571d3448b7e5dbb700ec919745d70b84c0859909793935026a8331b7666d91ed"},{"version":"73f615ff0e9ff74f51982f4b09e85f2474c1e05a50a4c75f099061a3057094ba","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"aa4db26266d6f651c711350ddf671278179e6f59b28d3c390ae50a9b20a3aae4","signature":"921c81a312317ce376b3db64ec158a40d264b56c798653f7985b9361289d951a"},{"version":"2c671fc9c3db8eb6f35045803fad344868884d8a2303661bb588892bfe8fbb12","signature":"9437abc0a5b1fb3312b975ab45abed596922088287d70865a475ecf083fc07fb"},{"version":"b9e1f43613776ed75b9168659fb35963d64b6d11497cf992640b5a19cf616580","signature":"03da542307af2869e7b2c1de8d1237d05b584cf0acf36c9d40f8e994f21adb2e"},"5f1ab4340b3a3f3d2c88167d0b98d1d8ae6c6d4b1ed845f25c3069d7d1b902d1",{"version":"62fdb9ea1d1284dc72bae3338d2a20c737814b30d30c9d0ce40aec4fcbd51746","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"cab9185002bd5ebd154b6106ff93ae480bb26be2bc14bbf19180ae690449af28","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"b6ce8cc18189aa155b9d4386c03e3547f48121a7e3f37b66ed9ad43190b20dd3","signature":"12dd7bcb0994252cc8b7a0155db5662ea1c3437584c67f010758f962b023797c"},{"version":"81aa2ba3522bc10222837dca4556efb07a6628de274c94545a536c1955684ef4","signature":"daf649274b917c1d7d6b8e8488d04d7e47f3bbbb09842c2a9899b4ec507fb243"},{"version":"fa1702a90530bc09b078bbfc9e98010c20333706f9d225c18558a146ac9e2219","signature":"c75b37dd144d43a77944ee5a7b8195d397ae78b74065052bf3a1bc721b1f77b4"},{"version":"b980df9c1d9398fb15cda202074eeb45eca1b733888708d0fb43c021b5411991","signature":"b0ba848f7538ba06336d964c03d2289007500242648df4d1a2e1f693d4823c38"},{"version":"2c4beeb10c123c02ff09c390cb92953e811cb0e846e2d040c65a8a0e73746894","signature":"5431108d0a4a15cc5f6d78abd5a358d13bcabb849877e09f3efc265eba21e6e2"},{"version":"5559d4fcad759cc07a71aca5a792755409db3b683788828abad2a84da3dcd7fc","signature":"c367bae6e0535dda7431e73df32e233511c1e9b1181082d551efc822fcbaae83"},{"version":"46ea0bba2f2e36762dae6bd527f342a19fe9f46c653dc4e8061d9c8530ba8dca","signature":"19467dd75b0a6bae42afc2ac103445b6ddc4a3e259599ac20b2ec70e75fff499"},{"version":"40f8a5ff101ec9d2a6a08af84db2d4865c35e2deb3da94075a482d94612ca24e","signature":"57e73f014bbd5a960cd0a3b39a240cddbf1842f7f06a09757be73de97a234a79"},{"version":"3d64c2914a71ab3af9fd253eda13ea735a784923284005d07af763636578b46e","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"5112478f7f7dcb622157981c8ac9a0fb3cad40c5eb87a19ff2e37674c75c0fd5","signature":"8ce6788984fbc5caf642946b8dc8a405629def762f166473ae6389aab4822034"},{"version":"178dc732f2d61a4fd094b6672b6c438d1b1d6cfd5489564206a84e3df486beff","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"6f815019b8b763503cecf9ac86f9de6bd8593180a0db3a624f98acf88dad162f","signature":"b5e89db47e4299930bf6020c3ac33fe228d590042b7dd4c5a3dc245027bd9a83"},{"version":"8f6aa64ab08524e8ee85ed63f8dffa377a7f4017680001a3669a963162f9ddef","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c7aa0820877b8341f78e794fde60d464746eec82b0e2624982000ebb19fb8f8c","signature":"488c8eb8a1054444f74a12eb49f8e21ae583aa2ba59ac9cfe4ffc71754c3b1f7"},{"version":"7866820b43b8c2b53cf5a1d2f4de019e059e681e9ec7cff7b5972800a8d78732","signature":"b26c1138cc869467f57022e668f1499192e359d44f7cfaaf0e72a576d79c491c"},{"version":"f38eb0a2421beba20ee66d42353732cf2ce6f343c1b1c322252842e0f22b8308","signature":"cd575032c427cf4eba79247a61418781b801f14952fc1bf8a48ed2747def2bcb"},{"version":"88d59e42faf36bf3fa832f1e69ed374efa2092ef1128f016701503413b9c44bc","signature":"7b27496df462d7c5956667f688b1b318c2ab3081852bcd634ba80e1de4e9ffe0"},{"version":"9382ac249f4efbc0256803deafe838b51123955ca8b68c68a4be2b2c4a94027b","signature":"f4956881b9e58a4a626bbd99a98451461e46649ddbdc1560b635cb904b527c19"},{"version":"7f8e8b3d1d986e5be4c13b7a642a6f4899f1af03978448c01183a00e828c12bb","signature":"2cca07a66a88e9bd88fba730dd137253950afbf99138a1bd5d5272b2c5d41b56"},{"version":"e1ae660c622a39b34c87f6dd244d59846a5d110d2c39bcf4316a499b166b6e7a","signature":"d65014fad921da41cfd383514c098293dbe40fba77dd7ded291edcf4e04b001a"},{"version":"7606ef9eeff41c0616d32c7f6fc2086c38b34c3d7221598ed9291aaf126eb178","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"695e9a27d875aae3f404cbd6ff901fedf0d77c193cfd9552edba781658ed0e85","signature":"a299ef368d46feb485cacc1257882c710c962c3835c15268544a95d9385c6641"},{"version":"d0608ad5086ad006c7c2a10e4fce58cbdac946d73cda4c270717bbc11751afcb","signature":"79f1952bf72196b817faf37634b6a85b9c271443bee5e0d1e40c42d210fba354"},{"version":"42b18867a7543fec221e4f0321e077538e596cbacfec0595872df4876635dccb","signature":"baa8a117328606a5a80729fa29d3b99e604d1c58274ce6c705b1dd17550d4173"},{"version":"c07f3037b31e0bd7e1384c41a6fd6524ac141e8f56b93a4a12ec63d75a704edf","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"6e925ea850d5c27ac93c1d0a26203779a347ded9a658643ac71febb557086d09","signature":"faf83f25a2e1c4c2cdd395f86877ce483031a5fde85d0bfa74cd27548f3139ff"},{"version":"25b749d6ada24514fd767c7212f8710ed80c3f54499a13642246913e678553a1","signature":"27bb3ddf3da26f0251f6fa1f7b1d888720e20fcb54f8513e691c7276c730e0c0"},{"version":"f77ebf90d0877e84d5f546d128be5e362554f93395f46ab6fe1fbf060b962765","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"d8efd52cc22298b4d6f0540b8c96ad97a563fd1a0effd9c245b9da300b5eef04","impliedFormat":99},{"version":"0d8cb9539485655600b329ddfcdb91d1b4b20f5d1b40a9e40c8017938fb68d5a","impliedFormat":99},{"version":"51aae950c97b61105064619e52f8b4e702ed9d88f6a38d8a6d461389be28dd0b","impliedFormat":99},{"version":"08a8feab6868367d5112474f9015e5b00c101012a639309e88fb105f94ced534","impliedFormat":99},{"version":"a15a870f6ab5a26a7eb91ddd8c47ff4e00bc23ece96ab48ff8aaf42450478a50","impliedFormat":99},{"version":"73390a82cbd5ea87d8bcdf183d66853207a111de00a8512c68ca17b47a11e65d","impliedFormat":99},{"version":"53755d0e8037d36720dc68e2e8c77512698befd0c0d48ac5d20c41986df91bc2","impliedFormat":99},{"version":"e0f44fe626dcd0026670f01dc0af34c40332729e8a1ce2dccc67e2ad5c96e3a5","impliedFormat":99},{"version":"2919501096a871a68fa6bda28480d7c237b232928215d6edec67e75dafc820c3","impliedFormat":99},{"version":"7f7f3dabb63cde6344d767f66379aa90b17c87362d999507724758247445d005","impliedFormat":99},{"version":"1d6f7095a9b7bfd7d035a4b07f23378ba7c44993d881b75593a252f186671e51","impliedFormat":99},{"version":"952f574aeb762b9927559c9d128dccf663352aa92736ebb856d2cec80fabceda","impliedFormat":99},{"version":"c06c1379c3f1bcf21007bd9a92e8c7a8e63611387392411bbb2399c0a4c5ae04","impliedFormat":99},{"version":"0fab16fa249312e20d9a96e0464c7ae63c841b17c02401a59ccd0bcdfa67bfcc","impliedFormat":99},{"version":"027464bfd5f5d3110b7b5303ee3a09d3bd74e630393c5caef2cbfe1bb6ca59d7","impliedFormat":99},{"version":"3e9aad7dd39dc61c41d0c249427d39b3548f7ac02f2fa2e4a813c38a8e1a2e01","impliedFormat":99},{"version":"3f28c2bdd8d3da9487f032bf85ea09bf9f24f6f02ae2336cb65e6988aa92de5b","impliedFormat":99},{"version":"6a437b4b58f8b3b220f3ae8af2230bf3bdd0fa4c17db62a9a2a03fd224a68a70","impliedFormat":99},{"version":"e16749a9377888735e5edcc765da4ac2f5a552de2ef46d930039b2d54f199fb6","impliedFormat":99},{"version":"bf973f547b27688728916b64a98fcfa836772e7382211a9692684947220ad550","impliedFormat":99},{"version":"507b0e93358d09b74a0caef2370175290a47c790dbf71fb63d1b4593b7e070ff","impliedFormat":99},{"version":"eb7e05259b0603e91365983fffb6e6dc1e574f1cbcf09c51bdad4f3717869a82","signature":"5679163e510a4314da81e928dfe7e72c6671b0377ebfa606c80e18db43ad402f"},{"version":"8269474f9aca3f56fe5ff007900aed4be90d6271a628d561d20cc29de0d5576e","signature":"298cce3b54e8d74b37facacfcc1297add32f454323d60ed4b4ee24ad651c76d4"},{"version":"88b5d609cf1c008e5d7926489df81bd606581dd083772e8ca735c1c0bc103093","signature":"3ba28f6b4d58c39bee9b307f9a7267970b31adae4c3163ce2fb889c48f25396f"},{"version":"dd0a4bfc93ee858cf6af173c428400652c01288761e7dc00b513652d005cd91f","signature":"163e7968b20d74def3cadc0814a4974c18198ca8f057eda85bb1cbf1d7924130"},{"version":"f35ccdbcb49becc34f1c71a68ad0d843bf02fea572cb852884d0a96ac7169830","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"3d1ac90c29f450b8b90705d05264fd29f1034b5ebb6c2d2e9807489969e0a33f","signature":"140c9f01bd8744fc1fbb72ee2a7747039b9637b3976f2284bf1423d1bcbc045c"},{"version":"6cdf25b7999cac1327ad91005d4aba65743aee71a2972eba11f5b1164e39fa4d","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"0d96088dc89a49f328fc47dd75713536556aca01e187da7dce124fbd2f395f09","signature":"77e82444cebc04e9edeb4d759ea3c8be067ac6bbc3b652d668a3f483b0d5f7fc"},{"version":"ef05bfe2ed3c6fc7575cca3a8ee25f4a4aa28878b83c5d986ee47f4483f73b3f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"dcdb66da2fdcdf0e80f084c8347e2114f573d97619a5e37f680a9ad5656f614b","signature":"f090f8e7e1db58d734c2c7434bcd43e2ea1c30e049be3443fa3a83a063e59324"},{"version":"d322344da57346fad32f22627e0028bdfe12501d7de9eb4a103d47c9a075a85b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"2d5bb04855694db19d13174de99509d4d4799d6bf3468318bb74b54ffe994129","signature":"9a6473983696c0401765d2ba2558ef9b0670592e8d74239b4d5623c42d686600"},{"version":"dbbdee1f403eb2a952f5e8ea724cb1a20a2b4dd63d8232e375a750d4929baa88","signature":"7f1336dec949b3008a181a8873c5aebe07ea42b6730e6a5c6efaeff90abd09dc"},{"version":"28c7612edce38076988a57695e970654fd09467b806a8e37b38a26946afafabc","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"2a40fc7affa68ec88b30b2d2d19639d8fa8dadee567da499d460257372e04ab3","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"7f13d1469822b3ce57bd440274f4a8d9c2d9925fa644d284fdeeb520f0ab43fa","signature":"248bf8fb49df3283090f3d2a137e3d74dbe93490ca12bcca8686a3e1004e5c40"},{"version":"0ed05108ce0f4538b5351bcf9d523912d200abe5b804951cf18b2e12feff6b70","signature":"f453c01ca04957da00f261867fea88fe674b34dde9b1da183dc55f2bed19f364"},{"version":"fe55ccd61eb15dd0480443215f5556cd56d9a68075a79a1294e2d9cae200d70d","signature":"9992a93411c1d80cef73f32ab5ac10acddd25700903cf8b5b47925eae8be2a60"},{"version":"7fd1557a212fb2a671abe96de2e1b6a3e5110a07c49076705cdaf9c3e0f81f7c","signature":"dc57421ea686f59b81eeb7885916d7a5cfcf6aac9113b8908c5edbe4d4a7a296"},{"version":"b9eb4fbe039e06b65ba30bb786e50fa9b48e25d7eb26c4cc1cceba3a6c81615a","signature":"70faab149c7f9a9cfde8ede12a99419d9ebbc61d822a7c16757902918cee94aa"},{"version":"7ad085c66c15e665b43f1055b09ddc1d9c11a3d8f21174c9d3d9205d7dbc03c8","signature":"5b361261b9d93e4a2c0d2e02bf9f0dfc60fd8c761ef6fccdabf563bd3aebb419"},{"version":"68dbb99a0ef2ffb046b1385fca8116795a7b4bf5700193b7bf2fe9cfb62e72e6","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ded33ba85bd4f5491a76b8972dfb3104e8b7b4e1b256c44313d7ea9d21647d2c","signature":"43d84b56d871c4b5bcfbaae3b58381ff0a77d0bca1733ded9b89350275269033"},{"version":"1f260100362d7309e0cbae29fc09c4c36be2e4512013a3f6cd4706ada09c6675","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"4a96c42ed30bf77b8c127453fda697a212495a055f6dcafda400e42eb233d029","signature":"c4e5d6b5f65bfd77c192b36ab608481de02288d42739f978b0c01a812dc94321"},{"version":"f911a52096fa219660557bc3c9ccb5745889d8a357674e8ae67585678891e106","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"3a2cadf5506cf6c268f65051dd63ddd5cdc82f5effcf658778af2b12e497726b","signature":"3d3c808c01d46ac6f212b5bf9a3780af30c9ac93fabf3f754e01eece8478207d"},{"version":"d5ebf3405d09e5eb9e3316e8b6a7329bba4fa306433222f109b9af077ec77525","signature":"71108da668d27a617e4f2ef6aad932227d526487149856bcb3705f0a2aa9fe9a"},{"version":"2e1f498ba2e37492111a97c6048e07af342ff8df126eeaac6cb99f94372f8ca7","signature":"4a997dea3de3d148c650f5ad6c57d75d5adb6655108e0af42e57f9661d5a9297"},{"version":"759a24229c02dafd2cd73ad6e3325c043d16ad85081d2e76296664bd96226ae2","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"2fb9eaa3ddcb8952e256d1537d6edc1593dd761fa12777b9ccb88370016463fd","signature":"5e31256a0c8c28e4e510507c5d49a288841dfade865122a093f1912cf5167388"},{"version":"9b7287bd51e848b323551afe464c4a91ef2b74bf1ed703dc7c7c5e35cd9073f4","signature":"bf47aee07d830c691e0bb1caecf0a38aba368d98da54866d98258c4057feaaee"},{"version":"26b692cceb67ab44563761e4c5701f66b58f7ee354393088e3b338aae9918ee3","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"89f0ba8c9a02ad55e23f296ff35f0d1d6361a190811401c3f0d767a1aeeefec1","signature":"11a904b87a71e58a2283da4755e0042d78cd7f56395ab9a1b6ecb09290f3672b"},{"version":"5aa6936f80aaf206b952e46cb830f50e49e37862c6cc4fdca99000c797995a54","signature":"2bb79d1f86f6d11a1a240d2a4a538d676a6ff8231126766ef84667cc2e945903"},{"version":"1f607599e3d2f94f8bc20f8f46a594132cd1b1b1004f0a4619dcfe84f792c774","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"827a3da73904af54ac6cad259cbde0bf0b811d253a3fc370664cf80cb65ad6ed","signature":"02778fe052be781d64d090064f311da1b30eda7863ab768850a522f3c83dabd7"},{"version":"ca3da68186289d0f9bd93dc9a7e5c3eb30dae2526ca55be4b106af239b63d0fd","signature":"d539ac9920f9a947cd986cb61772e65f48bc0442d1d94e2ce8d6e25f394cedac"},{"version":"fe17ac85f4e0b305bf44f3a4d81cb75397d9d7776aa2649ead1caf2291f0d416","signature":"85508a28c52f5bce8c5a091573b980128e83e043bf9679ea82f4d20612ebfe65"},{"version":"22c8ef3ac26c1ded1d40c6e1c48b6382fdf0d56a5a3e77f8bcb3bb198a1f769c","signature":"d394730410e0700f09bd96049137fcf096ceed2f5e7bce00a2937aebc9bf4240"},{"version":"c7f6c31638211891b8f6ea106d4d9ca0cfe249adba1528b2d1ebd0f267fa324e","signature":"b70605e01f0bebcb73e3de21b8c1dfa27372859c9a142d66d8d69f1f91e99adc"},{"version":"5d513a6a908bdec9f0c3a72c4fce232063a7365983847c1ade848a9970e97aa9","signature":"302704f3830a828ac25e5b3d330b257810004892d2acf61a6a656b05978d7a2c"},{"version":"bcf829509dc2bdb8f3851efb4451010e917abcdd8a52e2ae302886045c0e38f1","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"10ebed90f6cf7c3e637d5595d4dedc3377575aad097fd0b28e15312572c09622","signature":"7d26b77586708051f6f1735b57756edf0be83ca4670c4af58a8e28b965a33a08"},{"version":"0ba02535f72f0cc1712b1a073897c522f3460eb86620046f1f3b250ea79fa567","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"2b4b00a99c93370ce060e954393ebac6d299d87a0400b9a69307c97e8021abcc","signature":"1af687725c0895163ae338b1c94acf5819a042e98cfac2dd6e83b993c57d5623"},{"version":"1f1d8292770ec1d17820eda3e3ca60550d3c356d4f4832e211e9ab2ae5d5c9f7","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"07e108a85e9c41db3bfca18812565985fe9c4185c09e44cbfd365364daf67e80","signature":"7231ddbad84b7265695458d181b33e24e857a11dcf40f694a4dd42b3e265293d"},{"version":"7236d482e2ca1a6307e2182466f18dc8ee373209e5588f156b019f949cd9ece0","signature":"c92738c8f42ef530edebc3a1912a4ba2ec85ad86494839d23b6084782f9f2e91"},{"version":"da35015d12dac52832201a4900b07e4b0f4fc08f282eee6e7131d895db1930c5","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"25e39087798255a9189bdd829787ab8bd7854afeb8f8572586e73d47b3874412","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"24ac88c5cd809281eca45ae09b8b16dec4318221ea50d1b47888254798a046f9","signature":"c97c4207c753de5cccfb48d3488e193f8846f302690bd3ff73f4de951675b01a"},{"version":"63bb37a1d958427795e2e6ca7fb9451aff711e665b45bd4878ba693da9a140cc","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"d8f785b87f0a4f596648fb2e5fb351d34d4bffa5288980a8eb52ee82ed27180b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"b581577a6affe98a790ea707971843ad284ae4cbd4bd1dc17642196e3c0de158","signature":"840d3e2bdea7d5a418436aafedac9749b1d9de78bda0f825a48869cfbb3e7f83"},{"version":"004d3bd387fc646ba3d76c6880c06461caa0b5bc15a184ae7605ee1f130f6ef7","signature":"212fdca7769790ac75031f925478591057411842339e39988f1ffe769ab88da5"},{"version":"ac94b15e69603d8aa96f6871176b4bf3b70b295f60ed7190fc1deb835a328605","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"a3be9843036cf2c658821504c4931c7e1055db71db2a607b9bc5d8aa7be679a2","signature":"3a526554ad06e5c46700e8b1ac5e6f817fdca923787a3c9344acba81e8d17ff1"},{"version":"ae3566ec3d167f05176112f609460a77863016fec3216a87a15c36bef01d370d","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c914982336f64f67076a86d5569fd1b878a42f415962a07d1d151a4d65d187d2","signature":"33831d2be2fefd1ecc0b722e8270094b857a42109f3eb3bdb5c5e666233c588c"},{"version":"4d5caf53ba49b41ff378943f6b1dad1ea8e042426fa713b57c9524219bbbf573","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"bd703e7c27cc5dd4780eba552a51a698b459c9f12dbddfeafa9e0d216a4e66b2","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"5946158af389cbe762eee6869f0a5fa5c93e87e633a1c1bba333e8b0af7be82e","signature":"f8fd457e54594676a0106e9e40e7de3217ab284fd52a60aa51406d5c35a53222"},{"version":"71e7240e131e0e0f5fa6b5102179bbcb4ec0aa0f969cd3c07a715f6729a2aa22","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"1e4dd6a5a91d2798fa4dd70d7e6f682475942bedb36b9f870cbb15e5c1f1a54b","signature":"a8a191cc7d792c8cc2d87c992ffee823187689960dc717e122e158f24b77a242"},{"version":"0a5fe133b4ef41f0f2443b3cc82c4b99be11738a93d613fd12014e9d632c2fcd","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"cbf3758a6cc16ff397b8a2a27221d1f6d5f053265e353af0f37b356f0384b85b","signature":"3d07ef5fca347d934f76c6eb3558e0a81da33951129d307c04716a0812321893"},{"version":"e9dc912bf8a7678feb40d7d996c9263bad3b7fdab9ad9ac95d4e4ed023403d29","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"4b3f5e2463bca0844de6802fe4ee8e1e29a3c11d14fdd3fa7c96ae69fba8d74e","signature":"053cec7f0a8bd24eeddfee887cbc9883f56cab39ebed9e143de9f0a6cf34d202"},{"version":"d878f9fb504fbde395cd7c61e48f2fc7bbc7d0cf14828004f95e5f9fe64f238c","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"12564f17d21c31e77240293e7434c0c933945a3a3a142130eaa166d0042f5529","signature":"ed4aed28c29ff0fefa86143fc6824969cb43f6bde467d4f9254c84372fa63cfc"},{"version":"3e8a4a82fa1baa0281a0ccf309c22c954488a949c13a7ab6fd7c171b1bafb361","signature":"13428a7125f291070d1c531f233c9e8719c80160dd3587d51adf86a3e41bb62f"},{"version":"b51fb5ae439f311990f5a5c2fc4914fda89e5ebd585b33d22d0251afe382d391","signature":"f49a7f528e4e42999b277a5ea73799e735e349e562a0ac6c97b99644a13a3ed0"},{"version":"deb873b1dff75e59633350db7fdd9e3c125d248ac7bf2c193a81e9665bbad9a1","signature":"0502f677499fe5b2d8cbb7f8e703465005e5c77788839d14377ee4b3da22fe5a"},{"version":"d9628bca2f50c1a70ef77c452fe293c91380dccd76c285dd3aa988c0f93fed8b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"59c0ddf46c0d1d17e34ceb4c253a3f3bc7654c450002d8f8080476a3baaf5755","signature":"f7d9758437ce102b893d78f8a901109a32ffc713b3c2ab288e8e15860dd3a835"},{"version":"7adf0dcdc081964a00a2235aa42fd757563b15038955013b98097c5731705a2f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"d9df7df9ddd168648cb6e27223b325763738bccb1b57e965ba0d8443cd166fe4","signature":"d786daad1509af6e601e8de4259a2c6abae27fd33287b4936fd079fbfd1f0ce0"},{"version":"99f67ae9774e4bb88839948649b26a55dfbe8b99ec80ecab4c548102d2ddcaf3","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"aae8eb9b4f313c457b2f82fde10a63f117333645b818b48d2ed26fb2333ca42c","signature":"b76cb4bbf6287754fb7246ca57b8b0cfc52c84d5696a3363f193d2a3fa0b1e16"},{"version":"53ed7ccce63fb30e129e73dd0abff74d68929d92fbe3b20f8ade965780b2353c","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"3abcb2afd6c10eadcd9e5cfcffe3f93172b891ac80b079ad1421105d1574b983","signature":"2cdedb09674dadec42708ff08cf53e8ebfb3dc9402a0aa42464a061d228c7ef2"},{"version":"ade0a7d50f110afaed90ffd5f24f1617bf9b8a0d2f118530892d139ad67f29fe","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"4bc4b9b2e5a66597bed3af39f456ab78cc11601400c5adb4ad46a173bd03da41","signature":"2dc1bb408cf19157f86ca0f3984f3837afca66209bd009a34b84daf16f8c7543"},{"version":"a3311c2d4225d8eacfa5a9e662811aed57fdb4de78b824f1a702311b3f99b09a","signature":"651d947dcd8fb9009c702ecf43eea7c50c9ebe342b6e0619cbcda9d8a8b64e10"},{"version":"d7e17a1b90344a6d9c26f1462f77d6350a6882706064a36e5d640f5726ce49a6","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ea2d922ef7dd2904b092b91fbaa35be0af427504b9fc7e14ab5fbb6cd7c40846","signature":"cc4b917492e221996d1271af2f86e5e864c2d8053a299038dcae940e332e312b"},{"version":"5456720ba13d5a5037b07c10816207ca9a81cd79a370af608115c578d61146fb","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ced670d0bf8913a58d8515d3b7ffc0e9215721c717efb9349c84d4710bfa7ce7","signature":"0aadefcdc06cb383123e64961601f5769b830f191e303c1cb2c32e26031d1aca"},{"version":"8d419ae38254b6ecf56946523964d6561fa3f8a677ed3c21b4b5d1176a3b5a51","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"6a073d10bc03e721d0b1ce2620253ae9b69daa32fbebb2f7a8c67e7e1579c6f2","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"a80fa136e8559ddb40afdfe957e7c625614d02ad4a72476a1dd758fc31ed2e54","signature":"a1acf9b04a9f848692e1a5cb1bafa0e53bcefdbcd40c5bf311062ba23188a339"},{"version":"e79d387b4470cc2ef4df34e09b4113eb85200a7c8c6508e4a2f418c63e29ae5a","signature":"ca37703109f463d6107118f4b3d1fa0eca1bab385f6e35583a2fd13ef66b3112"},{"version":"56396e7c37789adc6f28a7c461ae904c01688c2836ac6278a9f9ee864078c7b6","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"4025a1efab8877af2ed8d8edda349736055a800404134c6b24ee95cdfb0c0ba4","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"0a46d4afc023db18a3c9d7816e3f90d960122319e2765c5d686f76da661864bb","signature":"b5a97abd79ec3360bbef597b4f34eab1b9f0d3545d0c3f46e3b3e2ec6e91771b"},{"version":"4f649bd1b169333de666f079f7989d184c27109ce26544354957f5be00abd232","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"f84acbbf9c1536d22e69d354fae1dc2d43430ca0e524721df713722f9e26890f","signature":"bcea8c0d3b0636e8255a7b6f3c42b075dff08702bc473fa7d6ad74adaef773b1"},{"version":"b5da1cdeaf5fc3b53aab62bbdd5da7d9385fdb2839a18fad0e3b2c31c5d888da","signature":"a43861be0f45c9bb0763d1c8aaa880b6c5d0b2a37a07bc65bfde949ce648ad79"},{"version":"0e30e16f547666851c4fe51505a9feeff6508b2d720b7b8c60691e5158db10d6","signature":"cc094a8b2d9686d5ff268266e02eedf9d66e2389a04c46fc49cc819d23134a39"},{"version":"1c03c99ee1b5f5bcf0704dac9398e922805929cd23a7ad246ad0d67cfc3826db","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"a8adc0df2bc9038f9423e9947d03f490375a9f615cc8119055af8a695bb830a5","signature":"bb01d18cd374f84cff1cc159163df3a7f602a298d8e925ac993012fbcd7e2bfc"},{"version":"6096174ef99bb11f2656cd3f15a2fb649e504782c6ee27090448b681e33c2b40","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"987a3bc405a132b704d415e99a6708c6ea54d0a70766ecf1ae59bd13034d848d","signature":"2d44dcdbe1d297af2ef6785176a9165f4feb886490712c82ab8578ca96ee0d10"},{"version":"187610881a6b1f7370788848d0a2af5a17e94b9b437727556ef3d2fe018a98f4","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"f0709632ce350e4970bc7fdb88e656ecea4b7579875a6f20ad20cdaaad26f369","signature":"f9a530c655221c9f5a24fc3421f341b21bd38da824f7612da7c87804306eca36"},{"version":"2b3793a5342b5d7ef5498271aa50c1fd31ce56b70f70d0dc5f9da4174eb1e5cc","signature":"9ae9233a7cd435509757e52ca1503b31fc923e1bf163d9bfba847b1a7dd89e51"},{"version":"1391eb93befc7b56fcc8fc9d4c37affcb37252ce6e91400da018023fac32c807","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"17b39df68c9417376ab9d3f845ad45905499eec1ee9798fcdb980cbcacbf2f44","signature":"f8c081ad7f58588db5940385eaf280c202e6ce42c0117ad62f774ffc421712ad"},{"version":"ff7b4ff43ed91708cb770527c71b00da17728615a98d59f62ffc6760381a1987","signature":"883833dec7bf0238bfbbb33db50c709cc7ca3a1f6714d17992c0d7e82a964d00"},{"version":"f56d21cb2be8cc1ca29dc2ec7c48ab92fe41d38bac18bcad6eb20b33c07c1b8b","signature":"3d655def48973efb420a82a2e05119da3a2c45672bdfc7a695f6e569edaa417c"},{"version":"3f072b168376dc71baf99d36fea4aba49a269f5852826888a3c6c95e5c9cb202","signature":"7fb20dbe5a83b73a18118cafefc659b66c75e285f8f6100023eed6218035191e"},{"version":"98ba07f2f211272213e4201fa31bbe0de1f95049cb411f0c7dec9e9de1fc8232","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"8d9a8784de549deea41f12c4241eb87f77fe7b7f8222ddd7a6ea05085980d5c9","signature":"88af6abc2bcc060a798687a7bc8f8bc23f47f5bb2ea736e89666093f4e682a0c"},{"version":"7bc3f411c39c03e6ef2f245fabfa4bf821920e52e5c1083759cfb2c2dc264296","signature":"e18de9a7b62fac87db7bdfab03946f00b49de5cfc11b37f39d95c1f6d05b7dc4"},{"version":"b8747ecda57b04b458af6aa127d1e438878a6695def6c91ccb0820723f71bfb1","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"da0f84fcd93700b4a5fbf9c6f166a6cc19fc798231bff56dd1e3875bfc6966eb","impliedFormat":1},{"version":"634ff08e0143bec98401c737de7bfc6883bfec09200bd3806d2a4cfc79c62aaa","impliedFormat":1},{"version":"90a86863e3a57143c50fec5129d844ec12cef8fe44d120e56650ed51a6ce9867","impliedFormat":1},{"version":"472c0a98c5de98b8f5206132c941b052f5cc1ae78860cb8712ac4f1ebf4550ca","impliedFormat":1},{"version":"538c4903ef9f8df7d84c6cf2e065d589a2532d152fa44105c7093a606393b814","impliedFormat":1},{"version":"cfcb6acbb793a78b20899e6537c010bfbbf939c77471abcdc2a41faf9682ca1a","impliedFormat":1},{"version":"a7798e86de8e76844f774f8e0e338149893789cdc08970381f0ae78c86e8667f","impliedFormat":1},{"version":"eebc21bb922816f92302a1f9dcefc938e74d4af8c0a111b2a52519d7e25d4868","impliedFormat":1},{"version":"6b359d3c3138a9f4d3a9c9a8fda24be6fd15bd789e692252b53e68ce99db8edc","impliedFormat":1},{"version":"9488b648a6a4146b26c0fd4e85984f617056293092a89861f5259a69be16ca5c","impliedFormat":1},{"version":"e156513655462b5811a8f980e32ccd204c19042f8c9756430fe4e8d6f7c1326e","impliedFormat":1},{"version":"5679b694d138b8c4b3d56c9b1210f903c6b0ca2b5e7f1682a2dd41a6c955f094","impliedFormat":1},{"version":"ca8da035b76fb0136d2c1390dda650b7979202dbe0f5dc7eaefcde1c76dee4f4","impliedFormat":1},{"version":"4b1022a607444684abeee6537e4cace97263d1ef047c31b012c41fdc15838a79","impliedFormat":1},{"version":"dd0271250f1e4314e52d7e0da9f3b25a708827f8a43ceff847a2a5e3fd3283e8","affectsGlobalScope":true,"impliedFormat":1},{"version":"47971d8a8639a2a2dd684091c6e7660ec5909fed540c4479ca24e22ac237194e","affectsGlobalScope":true,"impliedFormat":1},{"version":"e1075312b07671ef1cbf46409a0fa2eb2b90bb59c6215c94f0e530113013eeda","impliedFormat":1},{"version":"1bfd63c3f3749c5dc925bb0c05f229f9a376b8d3f8173d0e01901c08202caf6f","impliedFormat":1},{"version":"da850b4fdbabdd528f8b9c2784c5ba3b3bedc4e2e1e34dcd08b6407f9ec61a25","impliedFormat":1},{"version":"e61c918bb5f4a39b795a06e22bc4d44befcefd22f6a5c8a732c9ed0b565a6128","impliedFormat":1},{"version":"ee56351989b0e6f31fd35c9048e222146ced0aac68c64ce2e034f7c881327d6d","impliedFormat":1},{"version":"f58b2f1c8f4bcf519377d39f9555631b6507977ad2f4d8b73ac04622716dc925","impliedFormat":1},{"version":"4c805d3d1228c73877e7550afd8b881d89d9bc0c6b73c88940cffcdd2931b1f6","impliedFormat":1},{"version":"4aa74b4bc57c535815ae004550c59a953c8f8c3c61418ac47a7dcfefba76d1ba","impliedFormat":1},{"version":"78b17ceb133d95df989a1e073891259b54c968f71f416cd76185308af4f9a185","impliedFormat":1},{"version":"d76e5d04d111581b97e0aa35de3063022d20d572f22f388d3846a73f6ce0b788","impliedFormat":1},{"version":"0a53bb48eba6e9f5a56e3b85529fbbe786d96e84871579d10593d4f3ae0f9dba","impliedFormat":1},{"version":"d34fb8b0a66f0a406c7ce63a36f16dda7ff4500b11b0bd30a491aa0d59336d1f","impliedFormat":1},{"version":"282b31893b18a06114e5173f775dd085597ca220d183b8bd474d21846c048334","impliedFormat":1},{"version":"ed27d5ce258f069acf0036471d1fbb56b4cb3c16d7401b52a51297eca651db62","impliedFormat":1},{"version":"ec203a515afd88589bf1d384535024f5b90ebe6b5c416fb3dcca0abd428a8ba4","impliedFormat":1},{"version":"32a2a1374b57f0744d284ca93b477bd97825922513a24dfe262cbf3497377d96","impliedFormat":1},{"version":"a8b60d24dc1eb26c0e987f9461c893744339a7f48e4496f8077f258a644cffab","impliedFormat":1},{"version":"3f9df27a77a23d69088e369b42af5f95bcb3e605e6b5c2395f0bfcd82045e051","affectsGlobalScope":true,"impliedFormat":1},{"version":"9fd080a9458c6d6f3eb6d4e2b12a3ec498d7d219863e9dca0646bdee9acce875","impliedFormat":1},{"version":"e5d31928bee2ba0e72aeb858881891f8948326e4f91823028d0aea5c6f9e7564","affectsGlobalScope":true,"impliedFormat":1},{"version":"9a9ba9f6fd097bb2f57d68da8a39403bbe4dc818b8ccd155a780e4e23fa556f2","impliedFormat":1},{"version":"e50c4cd1f5cbce3e74c19a5bbf503c460e6ae86597e6d648a98c7f6c90b596dd","impliedFormat":1},{"version":"fa140f881e20591ce163039a7968b54c5e51c11228708b4f9147473d06471cf5","affectsGlobalScope":true,"impliedFormat":1},{"version":"295eca0c47be1191690fd2fe588195fff9d4dc43852aceb8b4cab2aa634579f0","impliedFormat":1},{"version":"59ee7346e19b0050508a592702871dc943083c6dcb69a47d52e888115d840781","impliedFormat":1},{"version":"067712491fb2094c212c733dd8e2d56e74c309a9ce9dac9e919286b7245a1eb4","impliedFormat":1},{"version":"a5eae58ac55bd30c42359e4b01fb2be5eddac336869d3f04ffb4daa54b58f009","impliedFormat":1},{"version":"d12d691ef8933e8db39f2ca81d6973940ff5e37bb421752f5b6e7bc15dea3abf","impliedFormat":1},{"version":"4c5f8bd9b3a1aae4e4fddfee41667e495a045f73ed603993038fa6a8ba92fa14","impliedFormat":1},{"version":"dfb274ab0f319cf18ce7152067c25f984c7fd1924fc72b3f66734588444c934a","impliedFormat":1},{"version":"108c8c05cbc3fbbbd4ff4fc0779c9bef55655c28528eb0f77829795dc9f0b484","impliedFormat":1},{"version":"a7e5444d24cdec45f113f4fb8a687e1c83a5d30c55d2da19a04be71108ad77bd","impliedFormat":1},{"version":"41ec17e218b7358fcff25c719bc419fec8ec98f13e561b9a33b07392d4fec24c","impliedFormat":1},{"version":"23c204326746e981e02d7f0a15ab6f8015f9035998cb3766c9ddbf8ea247aea2","impliedFormat":1},{"version":"25f994b5d76ce6a3186a3319555bbba79706dac2174019915c39ac6080e98c7e","impliedFormat":1},{"version":"dfa4e2c6a612d43851ccbc499598cb006a3a78bc8c7f972c52078f862fa84e47","impliedFormat":1},{"version":"02c1705fa902f172be6e9020d74bcd92ce5db8d2ef3e1b03aabc2ac8eb46c3db","impliedFormat":1},{"version":"99d2d8a0c7bb3dd77459552269a7b5865fa912cedab69db686d40d2586b551f7","impliedFormat":1},{"version":"b47abe58626d76d258472b1d5f76752dd29efe681545f32698db84e7f83517df","impliedFormat":1},{"version":"3a99bbbbbf42e45c3d203e7c74f1319b79f9821c5e5f3cdd03249184d3e003ce","impliedFormat":1},{"version":"aaacc0e12ab4de27bdf131f666e315d8e60abec26c7f87501e0a7806fc824ae6","impliedFormat":1},{"version":"3b4195afd41a9215afc7be0820f8083f6bd2e85e5e0b45bb0061fb041944711e","impliedFormat":1},{"version":"108df8095f5e25d7189dd0d1433ac2df75ec40c779d8faf7d2670f1485beb643","impliedFormat":1},{"version":"ddd3c1d3c9ff67140191a3cf49b09875e20f28f2fc5535ae5ea16e14293a989b","impliedFormat":1},{"version":"7b496e53d5f7e1737adcb5610516476ee055bf547918797348f245c68e7418fe","impliedFormat":1},{"version":"577f44389d7faedd7fc9c0330caf73140e5d0d5f6c968210bff78be569f398a7","impliedFormat":1},{"version":"3046c57724587a59bceefadd30040d418e9df81b9f3cfd680618a3511302ed7a","impliedFormat":1},{"version":"15ccc911ed15397e838471bfe6d476c28deffe976c05cb057e6b1ea7491242c2","impliedFormat":1},{"version":"64b5a5ebdaead77a9a564aa938f4fb7a45e27cda7441d3bee8c9de8a4df5a04f","impliedFormat":1},{"version":"a48037f7af5f80df8973db5e562e17566407541de284b8dadf1879ea3aed8a2f","impliedFormat":1},{"version":"dab97d96ce986857150db03f0d435b44c060d126b4a387c7807f4e9f6c92e531","impliedFormat":1},{"version":"85f39366ea7bc5e34b596fc97de18a7e377856755e789d8e931054f2191d9b8b","impliedFormat":1},{"version":"daf3ea3d49f6e8a2fa70b7ca1f21bd97f1b65021b31fbfccb73dd55f86abb792","impliedFormat":1},{"version":"b15bd260805f9dd06cd4b2b741057209994823942c5696fd835e8a04fb4aab6b","impliedFormat":1},{"version":"6635a824edf99ed52dbd3502d5bce35990c3ed5e2ec5cef88229df8ac0c52b06","impliedFormat":1},{"version":"d6577effa37aae713c34363b7cc4c84851cbabe399882c60e2b70bcbb02bfa01","impliedFormat":1},{"version":"8eaf80ad438890fe5880c39a7bbf2c998ce7d29d4c14dd56d82db63bd871eefb","impliedFormat":1},{"version":"9b3e7f776f312c76ac67e1060e5398d7ac2c69d6a3a928a9daaae2eb05b15f56","impliedFormat":1},{"version":"202042eccb4789b7dee51ba9ecab0b854834ea5c1d6a3946504bfc733d4468c3","impliedFormat":1},{"version":"2b2ef76a9f36094b07ee6f76a5ac6903f2f65c0a20283201814a8d1e752cb592","impliedFormat":1},{"version":"8882e4e087d0bc8cc713cb3d8090c45d33e373e6f5c83e0f8d00fe6a950ef875","impliedFormat":1},{"version":"baab78e9401b9a82e8fb3634de0d3750cbf4d3d6afb59ba28472ab15afd3a749","signature":"3d01773dca02fddc18139d243b8adbbe1c6c6447b8235bdc3cbbd4b493e7ffbd"},{"version":"1cce0ed0784dfa68a0572c20ceb1a173664dbb3ac59eead22d55be246fdf17d9","signature":"5de2fd3f978ef1724ed1d72271f8d9bd911d19d80a709137225e173127e3c615"},{"version":"57e3b4916970da260c692cda82bc670552fa93563710da8485ef3f1a40fc0cd8","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"24772aec0e0f59dd17a2a1c4a924fa4fc228f24c64bee4fee8c5c08965f05925","impliedFormat":99},{"version":"e636cb7d61143bd3901daa91d1c2c3d8a53b677f6bfe51fafbd2d14a51efdfd0","affectsGlobalScope":true,"impliedFormat":99},{"version":"d33b19c5e9b2f8b26b1875c7aa12229cdd1e3ff0e809c89189805a05c626dc3f","impliedFormat":99},{"version":"bdd14f07b4eca0b4b5203b85b8dbc4d084c749fa590bee5ea613e1641dcd3b29","impliedFormat":99},{"version":"077cd7acbb4a3b50b4a01690d6a7d2583ebb39335f612763442a4d33dde01c36","impliedFormat":99},{"version":"8b9ab1d118cd0092e03b36d26b83192c6374c30e16abb7cbd0ad33979fa0c2a7","signature":"a3a467223e1b0d6dafe7ba2a535de44efc5aa9438c3b277566336031e5cd3f4a"},{"version":"db1d1a51416710f03d5b33f8ba166c677f7a372d7236d0d75857abcf2c46d869","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"cf0f4d9e5edafe3f777e151b9719afb37ca6abaa904fb8289367fe99913f0ad1","signature":"307d71207bdccbbf886a1b1044f39eafddb7b2457a81eb1a1843a81db10e37eb"},{"version":"03493681f3175378f73cc1994441b55eb2f178585c613377853cdf5dfb39ecc2","signature":"4540e50e72fce7b0cbb91e773d9c3ace94268cad237d1a032f294b9786a348b1"},{"version":"59e8ed7fe97a22a7e83c915d37eb2494f0eb416d7a52d0050824d718d0ed8cdd","signature":"c35c50cdc82a4763e8e28146906b65222d0ba506b3a3142e4c7e8a5d2866e475"},{"version":"99fe388b367465923b1f474837e891bbff95937eb5301173558c247f81693549","signature":"5ffc250c97e03d1f20b9c7fa81562fb2391b2a3393f373624cbe53b6069d582e"},{"version":"755907e327ad953500fb7ae52e0dc7dedceb54626942f3af04eaf1cbf20526b5","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"8d096c0b73874d64e56e5fe99fb94f14b5a6fc0824a4a1cc0251147a823c25a3","signature":"06980b548bb6ff2b15c92032296a46d7f80d3e8ad9af172f5c2ccdefa86b3fb9"},{"version":"d330961532fa59192f0330dd430076475d3a3f5cbbb60c2ba196351c069243ae","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"34ef539c1384da9fe858fb9c16368ddf1624a4914dc3f0fabc7a39811bcd2668","signature":"ed6cfc1cf330cbbc602b7a0305aebcef220219fcd5cd3e4493e5afe79058fcee"},{"version":"f7409e1093e57b3f7be327a71c71087e1f7a767333fc10cff7c2504af7222f88","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"4b93337569cae1fa198025ac00ec04fd049fef84e2d7f7c5f9af92a3fd152c75","signature":"f37b7ebdf0265e46ddb36d5a052ad3cfcbae7d4545a12329f36c7c5f5b25fbfc"},{"version":"24803211766a60a0fca7ca541d6a158d376c65f7ae4827a8661063c2e70c06e5","signature":"6e2681371e356de1c4fa982616bd1d26b7c525b5ca9f75e1f688b83332e8a81f"},{"version":"1453393d564bcb47dd35ada6b469c661ef5d6c98f9dcbd7bc0f9eee3470ac944","signature":"22462cc125563699336669ccb959793d6c462626957a1da4ec4a639d4341fb3c"},{"version":"7c56faad4a628f9671b73a1227c941f930b55649699ac62931e360389775edff","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"579a472a70260bf6b40d68aeffa65bf00fa5c59a44bf214f2385dce399f5898c","signature":"fb4582d6a3a9b2152a49c918d6c98ace7ce35978ebe850af889e7aaa526551eb"},{"version":"3fa0c656d89d31fa67f25c8b3eb9974b1aab6fd8fe5ae0fafd521e7d6808f71c","signature":"cf64d4b205595fbd260e6fced4216298b35c82faba7dce73a9e205add66ef85d"},{"version":"ad5ab4bc064063efa662328e47c8eb39c80888a25467fefd231a32e874162d6f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"f0e29314c7c3239de9961d460d5347081cc6e49bf065dd0a6cca6e7132a99ee9","signature":"ccb2b3ebb1fa7bd3fa3e02c7a23ecfb2ebad06df9c3c8a9e685113d81026d0bb"},{"version":"81ff36db9f237e815f992e018c0bc887f5547b282bc12d5cc9a6a78e2a04e69e","signature":"7db65cd8f4524878457e8856d2a5ab0bb9740331c189418db08ef529b66d0368"},{"version":"36e5bb11081348bd0869d683fadc9a4115fb28720594bdf185a13ff19faac88d","signature":"d356e9c1bad769f9e8d358a35c420cc37a0ad01ea4f865d968f3b7fe10c9c3de"},{"version":"4d46dcb6027f62db92924103d77c199455ed38d1dc1c6c29bb65a707c25f847e","signature":"14084429a03e8974f38aaa1890d6a80ea62d5c8f0b627e0f824afb0ac621a65c"},{"version":"1d5a2531ab660f7a4f8b4572b7a19c23fc5a431299ecb8c1846cf8e279b97851","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"2d6a819db1ca73bc3e3b29597b18ca5c36e2dafa02b171e8bb92208b2d50b353","signature":"1571b1b7546d0267d42d0c0b3e1e4593b2ef990541b260a9652427dd82758bb7"},{"version":"a62a7e45347ca1dc80dd4df8d2094790870c03b1c890960cce9628934f695295","signature":"af0b9205baeb5b5d2e4470da33f26673b5c363db0ccfe761276f8af34cfe3e9b"},{"version":"4217680981bab6d62ee8fe0cbac591599bf18f30cf2be39170d344eca5f7885f","signature":"5d3ccf27d7ce9e5f390fa882da69e253103b64bcc4e1af716d4e385d1f7dea5f"},{"version":"0571fa29dd502778997d9453169040a83607ae311f6ab6a7ce90fdaa83f86a72","signature":"6abb8469a763dfe1299c79302eb5559ecc978df41c92c0444a30c1b55710860b"},{"version":"afaea598c95b1ad2bd0ed30bfb6ad867d78bf021b73a048b8fdaeb90cff22d88","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"8d06badc9283290aaeaa6ceca270d68b55942af80fba3bd8ba1f4e3803850c2c","signature":"77307295274cc402aca163afe863f0ae8a1d2e94588f2acd35ec24d77af97b75"},{"version":"d579bdba0db63d615c541195af19b783527c13bbcc870e83ea61d198e3be56c6","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"212e7d39d1e1f97bff90dfabf2fbc9c44dabb2842e10b3de5e28452ed1159f80","signature":"20b92c89a5fc9977f5ed309f2bda683212cc8de7c78a37032898d02ca68c579a"},{"version":"7aa764a1146707f1b9e18292969e24f394ef3c347d4f396cc6f90d39c3f3b6da","signature":"7c52c6c55104753b3519528829004136bfbe6e76535ec0a19430668fabd41269"},{"version":"688c5e58ff9137a2c5d6eb1a79475ec4c9d61c34bb10080e21d09babaa30ae1c","signature":"7a49a822cb790c72be6db966c7f0d69c641479732f211b020cbb08bc4f30a3d1"},{"version":"c51f1961b6b22a86183d4e8e166a4b08df4cf3537533f9249a79d3b460efe6ab","signature":"60f3fa0096effac152c038612c40d100ab675f4d07eaade19ab26291654c5322"},{"version":"13cc0e63b3212f43a760f9618ac9a5a26a3123954baa408ada44dd9744d060f4","signature":"6d2de774f7f1930f5a1a0061d45b779777be9dc7e6125661388a11a43f386636"},{"version":"693212d0a67ee305c09bfdd670455ad335e448c9fd52fb8c69ecbcda23eb2b93","signature":"225d95d4c8f9caffa003ab70fa3ac2d8b66e4bca291dc775b2d1ad4b676b660d"},{"version":"41a4b706f190423fb86f0fe568b685dc59c4a76760b506b02c10a3eb70ff880d","impliedFormat":1},{"version":"e26d25ac80157bf4dfaf1b15917520d7d5aa515389c7c0464911ab0129e58835","impliedFormat":1},{"version":"e305ba550c25a1807b5c432b31563f897c82111c8bce166e560029c94df204c3","impliedFormat":1},{"version":"a3e0936d6b795d2fc46850dc9c590152942ee297f3271dbd3d8588c3983592c6","impliedFormat":1},{"version":"2013af14579369e7822fb5f20f01268f3338141d4a382d5969144fe9c6a25ccb","impliedFormat":1},{"version":"6b7fcb23322518af97092aafb777aefa9196a1db215071fe8f96ae6f6101b498","impliedFormat":1},{"version":"a98d81cd9207ec9f1bd54d454809a60b267043dd56b165bdb6912bf9d63d4759","impliedFormat":1},{"version":"cd1aff7bdfa3af19aae3a21c958b932af6941ed89af069bd789f9ba5ad43377c","impliedFormat":1},{"version":"33e9caf10988726e5f7be53d2a4ebaad8db16e51b5f81e5ed4dbb0068f3a88fb","impliedFormat":1},{"version":"cc0d535d54cfec869fe4d28b9acda7e3427b25d8d84fdfe495021ad4cdee301e","impliedFormat":1},{"version":"f3e743e40c9a3b22de28624c8428e1df4cedc2fa3b3d99c546ebb95592ba1978","impliedFormat":1},{"version":"f8dab311b48db5e3b4361d76a629201098efdaa1b785120353f0ad221b263682","impliedFormat":1},{"version":"261b2daf69470a9e9d1ef26aa5e0c23f1611af380eb5e5f031c776ba57367741","impliedFormat":1},{"version":"e181f3ee5845726fa8077b39742a875d4fbaeb35f036765f95a77afcf982f989","impliedFormat":1},{"version":"9227c7d1182bc93c52d39d65472fef3f850a0d0145e1fac7388758d995878ccb","impliedFormat":1},{"version":"d90fecb86a618f308931b2efa45d7beeb73185db71ff184c1066b4e5f5900771","impliedFormat":1},{"version":"69af21e2252e417f1f26d2e6b1ded1f20dba11f066ce0690c53946f4369e00cf","impliedFormat":1},{"version":"fd4ae6100e700ea9e36ab622968f12ec03792f98f7da286cc44649395022453f","impliedFormat":1},{"version":"1adede2d971ad167525195ed811b8e0af2d17c728350689c470b6d5c5a3aa60c","impliedFormat":1},{"version":"4486b61dcb644ea4527e90b5bfbe7600b9ed50371d334a0c01e8fe661a99d952","impliedFormat":1},{"version":"dae0c9cc1c106f7b91a726813cfafe489dec4fb1e3f4f7c684d14e5f99f96b95","impliedFormat":1},{"version":"bf5fe5a9da7069bca0bb83fdc31ba9f624ac778c3ce25a06a3099d83a92a4858","impliedFormat":1},{"version":"7a0958a789740f9ddba6b7d80fbb1ae4d97da910970c1d59965ebc80304ad22c","impliedFormat":1},{"version":"54c9f10d962306a39448b924e73e631bba8221b5797ca4b2dcfb00dca78827b8","impliedFormat":1},{"version":"7125d9240eb556853fdaf7c892b60c630f6d01bd11580a32e9f299b0b91ca4f5","impliedFormat":1},{"version":"b339079a6ce4d7e86dc68ea8af379ee8700dfb205da5546ffdd3cdfe4be43df4","impliedFormat":1},{"version":"a97af3b565a5649c8cd983df40878da9a4bc080cf1a918199574f82a25fa727f","impliedFormat":1},{"version":"6e5996003f6555309d988ceae5b9952f3de47fc6e5110e5d64c612d4f37cb490","impliedFormat":1},{"version":"f07a1939b55120050d3fb95633ac6f8ebdb594e63eaf8f14c123480cc4bec03a","impliedFormat":1},{"version":"325e48e1f58a88830852e00f4fe7c515afef925a1254975a3ba9c54c9156f3fb","impliedFormat":1},{"version":"79caaa6f2db6cd3a1362f50b48ebae937a234b421c66516b8c98282b7d713d12","impliedFormat":1},{"version":"e7f0aa1f6c72a395ef5ac8749c03a31b00ea527abca2db5aea63804fef2dbb72","impliedFormat":1},{"version":"edca8fd9f3960acb4223f2a596d1f944320193afb076cb8b96afc19fb83144ec","impliedFormat":1},{"version":"511a250228acb3131a8c9eabaf45a53c3015c8a5abffc1c2e8b37942b779ef31","impliedFormat":1},{"version":"496927b9d1a6a7bea58453b9749b878ee1040ddc22de6db6e689db11ec111ebb","impliedFormat":1},{"version":"d17c142d0bbf9f20c696ed0224d1740fbbda0b0211225f2e48732809e15f2505","impliedFormat":1},{"version":"67e2a7d5facca25f1df14bc4fa4167337405fdc98b47df49b98aa2dcdaff5696","impliedFormat":1},{"version":"e16f1bf72fcbea703f1b9dba81e6faaf65e29d24128f9e09504c9a862f41c9d1","impliedFormat":1},{"version":"2e47b85f55b2c6606b137b4be24ea386c58bd9621370d2373e95b530c955102e","impliedFormat":1},{"version":"1f9fcdb7e24f1f9b391bb9200e32f6353781a1c604159a6257e9d8f1df7b9bee","impliedFormat":1},{"version":"3c788378c8c8d9525c168ce0578d536607896146b88bb5f6670ab19834be30b3","impliedFormat":1},{"version":"d16aba532f5391ccb1a61f90cf8e904ecabf3105641c398df0f4a79cac27d472","impliedFormat":1},{"version":"8d3a30c921fa2ea91d1bffc7fd9b8c42dc74bc819c503208122bd2e84cbffb5f","impliedFormat":1},{"version":"e4fb93fd2ec72ebaaa1e657435d607ed155da0005e6e30c440257d9fa877d834","impliedFormat":1},{"version":"ad103c0c76b809a8830ca4f9a8c8cb43b53d578bc63dc8c63b1342f1de90f8d8","impliedFormat":1},{"version":"7e15e2f23da806eabcf4bd0f1e48d7a5baeface210f05837171b50eed7d2b894","impliedFormat":1},{"version":"fb5e2afe7c4f988b615085166421f8d88464f6234abcc740ed861eccc0e17ba4","impliedFormat":1},{"version":"652af46b250ee5144ecb0eef7bcfa1647c88fd170cca974bdff9bb315f349f52","impliedFormat":1},{"version":"790daabde36636c46a264b1628f488ae49b2b378810383a1059ee722e82ceab8","impliedFormat":1},{"version":"89a58d0ab59eec78a6b6532e5d748f9942568891619633c890638a2912224ad5","impliedFormat":1},{"version":"9af24ffe92056dea7acff1dee779be364ad35e5f9861ca417d17bfb447a0a230","impliedFormat":1},{"version":"8fab0b106acb9de629cc3f7bf784187cd59d506d734917c4f140d02f0dcd167d","impliedFormat":1},{"version":"d0ba3b6aaef0c96be907938b6fb2a3a04a5db59de34a40f7e426bc7f10bb46d6","impliedFormat":1},{"version":"d91c919538e393ed3c649270a73f239ea7cd9f312dcee7dad037869a6eb0eee0","impliedFormat":1},{"version":"fcf5f4ff294643e6ea5100d09f40668a3a8744b73b8f1c397fac4b17ccecc72f","impliedFormat":1},{"version":"af3bebc2d30fe79abc9a505bc890d16af72f8ea21ec59009e9d57c2d8f6e0b01","impliedFormat":1},{"version":"784c657f85bebb1a7d94ef05e10f1cad4abdf32798203ef8631f7c3aca2390dd","impliedFormat":1},{"version":"e488fdf1efc9112b9ae08aaf2be027c3cc5603b916582c45d73bb3885728543f","impliedFormat":1},{"version":"a43b695758408470608b548841c97ad3827e453fe81ad835e29b9871129785f7","impliedFormat":1},{"version":"96dd9a7f52627f94b64da26c1ce05d2350941487861c8c27a0014c67273c8a40","impliedFormat":1},{"version":"0e754d4ed9a6cd6c131515ba94f3f1095fb10ac3cb0c20c2cbeef9e895f924c9","impliedFormat":1},{"version":"72cac4a4359c6a5e2e5c0ece767455797e46871350324dfe42ab14238f675729","impliedFormat":1},{"version":"cd091878f6b6994d9307156bda8a4419c7c41c524228d9e830f5fa618d70672e","impliedFormat":1},{"version":"bd3bbe444bc7cc28757c7669fb186a9ba326d4b65dbf99e18b2b5b9ca66edeb9","impliedFormat":1},{"version":"b10c73b3d7703d2d870d35631428cdec737d4bbc06706b6fcc6f6e058b8e1594","impliedFormat":1},{"version":"2543b46883befbefe10c2de9f3a0e7809de7baa09e192edda748443fd15d38d3","impliedFormat":1},{"version":"01cdf83ab596024078a6ce08ff990770326ceaf16f9081a8e369b9bc5110cadd","impliedFormat":1},{"version":"bbb9a17f2654caa1d34f49428c0e48ca0fd0d9550f5f82da6f544c924afa17b3","impliedFormat":1},{"version":"a9d8ba2c15cd99f51aa291034a1afff2f67f1f88259d2162eddaa25e3644032a","impliedFormat":1},{"version":"affa88c9484982a9aa35b30480059dadfe98c3bbd92f76513ae2d1d7e68096d2","impliedFormat":1},{"version":"3436c4b40e71c333e253578f6f3176870d4963d5f4ec14862ba5e40794bef8bc","impliedFormat":1},{"version":"a02f786598d002e2e42854d9bb4fc5a4ac03589538055a0eca03c9ec7ad35457","impliedFormat":1},{"version":"348863ce75f819f43557d134e5e7ff11a8ae582ac879349cdf9156bb696012f7","impliedFormat":1},{"version":"235ede03bdeeb87ca21b68fb1398ebc4749a924e2a7219977b71bfc9c51574a7","impliedFormat":1},{"version":"ec83a163716e8a8c2324e3f6b64c907ba7e5247b43df47f52edef954232c0211","impliedFormat":1},{"version":"15a76d1390ae38fe474023a51778887a6e39cc4204f65519a448ed7d1931275f","impliedFormat":1},{"version":"d7a9a81362adcd395f9db48531a89df84461595d189a234796e85ef983399042","impliedFormat":1},{"version":"7ac3584d37571a5ba61326f50860d843072ea95673e53d23b0b684635db9db00","impliedFormat":1},{"version":"96354248b7b7fe792c9545b7b153ef20763677692e9baa9aa6d1afbb17376ba7","impliedFormat":1},{"version":"5dce9f1eea7d40ad9f10295dff47b7de6fbb24b33858c0ff91aa75043e9899d3","impliedFormat":1},{"version":"d324bb068a3a98f3d7ff92eed388935a5ed4bd46b7678c5bf057b5a2ee9416d3","impliedFormat":1},{"version":"fe6e76ab5933ca777c6ce422c7023d44799d4832a8c5ce35e3592c8430867329","impliedFormat":1},{"version":"cc5beca247a7da7286a82c0f3b84686a922d0a402ead5d11b9ddd0dcdef5c762","impliedFormat":1},{"version":"24661a3d44d16268a8ac8260f35651526c54496ed5f29e559c066b7b7e6776c9","impliedFormat":1},{"version":"7c7ddd5cfbbab70612c216ab1d1f982468118fead1d57948ed31b41cd692c2fb","impliedFormat":1},{"version":"461ffe558e162cb3e451654eed59d0090a267818fde655088616be907007d654","impliedFormat":1},{"version":"829df07ac748fd372b8bcace5b46e6ce0420d2fd65c23f64b86e8a099b69a21b","impliedFormat":1},{"version":"162ff76724612621b2623b71139fae21981b276595c5e93a909b464c6eaf6310","impliedFormat":1},{"version":"4ec0abadee52b5287cba7929ce1c34e81a67a046c0299908158497ee85ff20b7","impliedFormat":1},{"version":"3b60b6d30d8be5b573e75d148abd155fb74cbce0795055965ad505afa4b181f9","impliedFormat":1},{"version":"5ea0f9746d216da9d45885462fdad43ed26dc4473ac6d289a94661c9a1e7bbbf","impliedFormat":1},{"version":"96198fa503333a1856039319ad4bc45c6e32afe2ede6a050e23fee2127139a40","impliedFormat":1},{"version":"e9dbaa3c845b96ebd98a7a3c59296fad4f5cbe4c2e471d0c54a248dab6d575f0","impliedFormat":1},{"version":"63c5fe7a04273a69125008737aa3c18212a1276b3a2f3892080c346cb589a716","impliedFormat":1},{"version":"adca096d8a06e8fe1f6f8a1d95dd176e0ec2216f5dce683c9c3656a9bb1e1f10","impliedFormat":1},{"version":"fe5cfccf2b757c44e7251d6ac822f4892d63f0dbbab920da4f24b893e655e836","impliedFormat":1},{"version":"e2a5e2a231048f1b0a8c6c123d524adeb3eda1464ac2413fd039cf5afa57bc54","impliedFormat":1},{"version":"8701130ab14da66b4e908e13c3ece584b420399cc543bafca971c414059ee5e8","impliedFormat":1},{"version":"811e9e98ddaacadbbcc92015fafd5f5ce0dbebc14f3536cbe225094b1d61f885","impliedFormat":1},{"version":"f7c8e5f19d7159bde8f8e9c6561c6e517953457faa86018a7f963b72863380fe","impliedFormat":1},{"version":"c0bc4b28c78bccbb158fb2e8b3e37a86fee5f26b6098a857befd864790da7cd8","impliedFormat":1},{"version":"e7b604762369c8fa5ffafb6e238a2c7af296e5a25bfa25cb33191b525f064cd0","impliedFormat":1},{"version":"dcabfb44bd25183c919819f87428fc589b20c3b9586825ec456f94cdb67bd316","impliedFormat":1},{"version":"41c39405eb8d94777d8b30d2bb295c258391ac4a45deef8d2f569b29bb82938c","impliedFormat":1},{"version":"f5786f9b0a39c790d245b33436e75576990e41e995e1fff1b0919833a57f4357","impliedFormat":1},{"version":"970025f12906d26ea3c1c381199eb6702b9c8cb0bec44edc02e86e004cf95eb1","impliedFormat":1},{"version":"8dafc03ad3ee7acabdb9254c702b80755bdafa7d7548cc6ffc21814e83055abd","impliedFormat":1},{"version":"e0dba6e973edfd7a5d8a7307ad1e6ec014b51fb7dac507ae132d1f9429016252","impliedFormat":1},{"version":"cc2f61e4781ad29f2aa93d4850de1b1d8313f242631f10ca17cc99411eb63022","impliedFormat":1},{"version":"6679676c1dc90d9c371f3de8430bf070ed36d2677d9ce3d2a336b54c5c40c2d7","impliedFormat":1},{"version":"cf2b168364792895c95f8f98f8fb662f07787e518e6d25b0f7c4aca9927a1bb5","impliedFormat":1},{"version":"db115e097d9ccc281414e7cedebfb0435d5bb14022f147331fb1bdad09404885","impliedFormat":1},{"version":"aa78c2b93bce87b73fccd6726cac3cac4f62927460ff3495f2a05553b4c04d3e","impliedFormat":1},{"version":"298104d50f65103c256ad79ff5128141000e4544a6afaa998d3099bee3975b84","impliedFormat":1},{"version":"a99f5ced5c95d7603c94c66a4619dfd0e737351bf20757de516b7f8ca193cce9","impliedFormat":1},{"version":"341b20f291eecbfefa6760a69f7f3f18b2094edcc794f4e78e903a5f0dd86fa6","impliedFormat":1},{"version":"238dd354909fc4a682e0cc4bd0d1eee8ba03197a4efa3cb284e502355eaec8de","impliedFormat":1},{"version":"8a3156a33e38b19f00d543a9f7a96054a0a4b051533449fb04267b4e533f55ef","impliedFormat":1},{"version":"bfd14082a4db87c2847135aab3d617ad7b488b3e65ac82f1620742548ed630f3","impliedFormat":1},{"version":"e2aa5b5cbc067b485de95616efb852886f4a1a43685ed7ea0ee8e08fec961cb2","impliedFormat":1},{"version":"3d6d27c275808a7e8540b1778a5d3808542518acda03f5c1ea4c9c5831058ea0","impliedFormat":1},{"version":"f534c1a02cd756679611ca2b36431b51715a0c59a070d413e292dfa23b9b5c6d","impliedFormat":1},{"version":"e26cccd0ef5654714877908c1674bee29a8e53d60c8c2d82bdffc12cac6b0fb5","impliedFormat":1},{"version":"ccf581fb8928f37fbd6509a7d8fa0d32156fc4eb414f434bf81cf7bd6849f7b8","impliedFormat":1},{"version":"69b227120a5245cddb0805eea82a0bea405872bcf595d2fce9fc03dd16133291","impliedFormat":1},{"version":"d6f495bfd0020102c67a6f80e411b00b913a001c468001b7cbe8c592c748f301","impliedFormat":1},{"version":"eb4463ba66be74eb04aeba3bded1f485a6ee90bed8c28a2c2573f0c983834790","impliedFormat":1},{"version":"a76187885d25a8aed20f71760c116bfb89ed1612d125bc190ab25a1a7a87ed91","impliedFormat":1},{"version":"76d36099aa1a0c7ea690ee1675ac4dd86cc62e2643cd40c097899268f8d2f7a8","impliedFormat":1},{"version":"815d7ee4cb5383f94b88688b8f2d70ce3e5df4de147d3669d225f8bfcffad673","impliedFormat":1},{"version":"afc6a3b94e405b3ae5d5038fe66f3b2412300c93ba1250805ee1a7ad19964ff6","impliedFormat":1},{"version":"b168bf198df3af94f54863a77ca14dcdb67af689d4cd876328f7c70bbb7b985f","impliedFormat":1},{"version":"54a40fe6e389146cb444299ef2d7d6e4ec83b05a9df2e7611fd1d1d862b2743a","impliedFormat":1},{"version":"65ec140c7cde7edee0f611bc84ce505cfa71916571e76f5cc197ba1dcde32f2f","impliedFormat":1},{"version":"969a96cb343d30bd8a28bad66c77049aeb0fabd9f608ad82caee751082685eeb","impliedFormat":1},{"version":"b30e161d3bbbe3f8d15b0bc5d9b47d1935ffffc7ced1099fcd84536c906af711","impliedFormat":1},{"version":"3eaea558e36977f924d85b3207406594568053d7a52950081b7603d112edefce","impliedFormat":1},{"version":"4918bfaa32bc0f63380d84b19bf5adff3188797b17b055417bbfdb09bd531d1d","impliedFormat":1},{"version":"5750305060905aff115cc0a6f295357099856fe72d76a1193204c23b4b9417f9","impliedFormat":1},{"version":"98195f663b1c09572bf794bf2fd7351b05d5895ed471589c0c79ae2e7c7d6b97","impliedFormat":1},{"version":"355e8226f1a83a02c2c5dc22781defbcf171df314f6f3205318851fd4550132f","impliedFormat":1},{"version":"8abeb772b7a7763686fd699980b74d9895863a758f2a6b824edb3d5e5c235078","impliedFormat":1},{"version":"dc1e2e53c9935f62739ca37d9acd484e83fd25bc051e5a330c9be0acbe774253","impliedFormat":1},{"version":"71a542cb540a3c0d4d954d311937a4df56157b0797489ea5cb8a9e57f449aefe","impliedFormat":1},{"version":"49fbd0ae0b53936499ca6293450230273cf299e017ac4a1cc8de936d50d8e696","impliedFormat":1},{"version":"d1a6aec1239a47bbcbbc55324d6ed293f79d4554f6bb0e411e206a9e22c50aa6","impliedFormat":1},{"version":"4e81f6b7048f1022bd8dd7dc18e43b4aca8967c4ffbfc8fe80bd4277936e5be3","impliedFormat":1},{"version":"5ff6328b404fb34d2828b501bd16f75bf17590d2b03a66a469a0359da07a06fa","impliedFormat":1},{"version":"149fbdfda86091cc37779a6eb3f01ac5c73d6e6d34a71e76bb3702a1ebdd8bf6","impliedFormat":1},{"version":"3c1e92d9a7a0c81d02f016c47de63a39706bb0e36231f2e6727a08cbbef6cfa2","impliedFormat":1},{"version":"ebec459a7d4933732cb453254997b9b9e7d17319dd40a29946f985719e297927","impliedFormat":1},{"version":"394dec85f81a33891c71f4e6a1b9a40afdbe93210d5dec749a2791deb57df5e4","impliedFormat":1},{"version":"19d2786de07b0dd973e5515d84182d2734f1c1ecf602929f75b30081fb20fcce","impliedFormat":1},{"version":"728d3db3ffdbd649c96fd64cb5766993cc8cb10b4ef207403fb98304eba04f57","impliedFormat":1},{"version":"8e4ae5371abcf89ca3059e621b666f1a340db0575f0c8635431417528f2d6367","impliedFormat":1},{"version":"de4f5917a7bf2c62cd3ab4c171620fd6e88a4a92902f02c0808ae67793e6baad","impliedFormat":1},{"version":"8f09f0abdd346cdbb1e545a44c85dcefeb047d07080628562a328d3e88160beb","impliedFormat":1},{"version":"4557c1259460570a893f9adb1547b5bdd19948497740c53fbaf654b20ded5855","impliedFormat":1},{"version":"ddf8a6692f74ae9ebdece687ec1cd9ff63811c5af27381b40c7996053a1b0504","impliedFormat":1},{"version":"de735626154dab7ceb24b208728b7461aaa5ad8848152ab0b39192e7bc0aa4be","impliedFormat":1},{"version":"c6296acd69aca14033c815aebc1b4c7fe72b92e44145dfe6432fe855c8c7b463","impliedFormat":1},{"version":"fe7df3fef3d25c0455e7cd4f36fdff7ad7b4d2163e7285a74d6a98a6cb48a282","impliedFormat":1},{"version":"7e9bf7c76b60c4402bd48996bfb0d1fa552a576991f9f73dbb856d15b0346793","impliedFormat":1},{"version":"29199bf01375b374d516e5c8d5d8ce1dac3c07cc52b00eebc0a7ba7b05baeb1c","impliedFormat":1},{"version":"7696d51d4ce2f2f21e9f73214396bfd823bee6c57f65d39e6a2264c40dd021f2","impliedFormat":1},{"version":"4b74f4072dacae8ba4f21abf5d042e5da499d027b0aac8e2d8f42f5f591453a8","impliedFormat":1},{"version":"d3b884fb07719c9457497fa9d5146f7977fed29df303347ff4175f630b903fcf","impliedFormat":1},{"version":"665320db7cce83346ce47ab3baa657b3115d796d28d8f778a98e7f23962b1247","impliedFormat":1},{"version":"3f471b5d1f378519b8276a869cb746d5cfc9b2bf4d7e5cbd0bdec3f9b5f81fe7","impliedFormat":1},{"version":"4afef388856e350489141ad7d90ab0767a02954d53d953f558237e04c89b5d0c","impliedFormat":1},{"version":"7b16f7f12771f8e25117321d1cb607e06be688ed8db002fe2cb13b716d0662b7","impliedFormat":1},{"version":"9412339ec64000a6dce5898fd848f025d31ec3b446872070cc041ade876c0c1f","impliedFormat":1},{"version":"726bc5d2505bf6051e80ede05a576e21d65118c077a8407ef4f9eca8d5445464","impliedFormat":1},{"version":"05f2af853ef135671b9482077d19a2935e3d924debbcf2f4803110bde114f113","impliedFormat":1},{"version":"134078b75b0105535f6164680bd73f88f9ddaa84b7e0126aeddd2af7ea27bcb0","impliedFormat":1},{"version":"264f0b10beaa4141a6bf228d2e22b19ff7baa76b39388da319bffcd1ced741e5","impliedFormat":1},{"version":"98682512d496bb618315de173d7a25ec363676da2457939f42b75a23c5acab87","impliedFormat":1},{"version":"1471ca4439a9dc9787976d1c9ca2b913908f4029465c87372d2efe2069c375f0","impliedFormat":1},{"version":"54b8abfc4713160ce97f91758ee1e8a547ba67c7328177d5e4c40613a3e87f79","impliedFormat":1},{"version":"60894b9993d7e1a7be37933c9bfe96b228ebc206cada93a44bca9d30e12d8d8f","impliedFormat":1},{"version":"236ec9d640fd6438a08dd2be3fb739352f147de529b4aa1953e4d4f74d6638b8","impliedFormat":1},{"version":"e75ea841bf22a156a7ae8f95eb7b1d4479da8c291019148d0a643027356b76c4","impliedFormat":1},{"version":"4111a7444998538da1f6f76378412547281e30cc5a7249b32e7402f66f83a492","impliedFormat":1},{"version":"4b9a4b3456012104409fde7f7631be98068daaafe1c49b627b8d92f033960b67","impliedFormat":1},{"version":"7f7840713032b2ad3bbc379ee2d401489b4e563294f7c87dbaf2424a6682beb2","impliedFormat":1},{"version":"b52b80732805d494ffee704b80f689772e1db9440c1728b907f7b25b3328d5ea","impliedFormat":1},{"version":"a805a58a4c72c7d513295fa7102284dd9cf76c1470e1845a6d7e9afa4bafa609","impliedFormat":1},{"version":"724e0ca25a06f553306e33a45951c368346cf1fc4b26b8bf4bf88b1479131659","impliedFormat":1},{"version":"b0880e598b7256855af6b9ea2aebdf47372444114264b56da9d25ea5f95d064e","impliedFormat":1},{"version":"3ff6607fc3c3a85814ec3d6e05e358d99773ee7c7b5e9deed5e086e39f5372a6","impliedFormat":1},{"version":"62247290540b91ed85258d7e8c67c7786e38bc1111429da9fa42b1b34e4ffdd2","impliedFormat":1},{"version":"656ee3f8184b5dfb87200f73350e57827dba056130d15064406487c0993f0e6b","impliedFormat":1},{"version":"b14c19907984b69ce25e011e6391ff6a150bb31f344d643f2a3d5af9aeb4ba73","impliedFormat":1},{"version":"2b77a0e88653109c708203a50fa23bb50406a9c8c7f61883c92e009f778387d6","impliedFormat":1},{"version":"2aa50966f709107108e7ad733c129c81f9e42731492948a9c23d4f8a0de5ae1e","impliedFormat":1},{"version":"080afc7aa193ecf03c78afe2e3d81cc3b18fa482f1bd955b4dca67bcbf220eb1","impliedFormat":1},{"version":"7282df0d72afd1c283644f5827159ffe0c899850fe121811e6e7e3eb77416868","impliedFormat":1},{"version":"07c70d4602003ffd9f23f8f6fc2693b7cf024a323a6d6146b11659105ae588fa","impliedFormat":1},{"version":"79eb7464a0215c82cf6fdc55b2378dc0a3aed416f03dc647fb6956975d446ec1","impliedFormat":1},{"version":"8cd341d72d1ce25d33dbe1681a9a5f27fecfcf65d426a0d0bb80ce97a1e37d50","impliedFormat":1},{"version":"4f750b488d0d1019bf8b6651e68689debd6106312ca7f4fca22627fc2d0acc04","impliedFormat":1},{"version":"4307994ad4d3a8d842a7d7da76f45f84e5eeaf1580e9b6071dd5fa6b8b21de19","impliedFormat":1},{"version":"87b54711b1c9791dd95b4ff88f814b489089f5b128f29e8a5fb7f6b8123f739e","impliedFormat":1},{"version":"4763437e8a65ec15310aa20a4ec288eae3de1b94b9426336ac423fddd482d70f","impliedFormat":1},{"version":"e2398ace0c73a5da036dbd6cab98008a251c709c56f1b665b6202e99ae3450dd","impliedFormat":1},{"version":"1a59a1ed95ac47cb6d1798a4dee9088b847f41491e57545e788ede35ed1204e5","impliedFormat":1},{"version":"c89ec75e2ebb2f5c2dce2d5f85ab59951cdd217748a49a6e0bd102fe69f5eb75","impliedFormat":1},{"version":"e653e5173f22f243892807fcd85800dfa4efe84be40e0ed1cccd15d62e1c9da4","impliedFormat":1},{"version":"973c290e94835130e51e934d078ab80e975a7bdf5b9563f5fa8de080a06c588c","impliedFormat":1},{"version":"5abc40134600b35d15fcc7305d5bc9e29942c64dbec6413137b55e77b689da1d","impliedFormat":1},{"version":"85c3303460c6339a77ec37ed9b7e06974f6d8e1351181b3f6f0c5180e0e7a76f","impliedFormat":1},{"version":"88d761b9b53ee5aa4ffe94d18e1c05c31ba8778beddcb8418f303c184f4f61f4","impliedFormat":1},{"version":"8ad1059fc2cf09ab5208fdc50a974a1a0c0f3737d81c2aa0718c583716b49f7b","impliedFormat":1},{"version":"ded7cab1c0c297958efedb1c4569674117693e0ebb6e8a1366cf7a629ba490c6","impliedFormat":1},{"version":"997c088bb8c6e1d869a689a3db0157d3efea26fa3fe49ece5f01044321949769","impliedFormat":1},{"version":"aa4d9968e228a15f4f93ba782c05f19de5aab2598ef8acd819ce72d6f4c9953e","impliedFormat":1},{"version":"1c4420d12393decf20734fff3f09f44daea5433869633ed11e9fed9b316523ec","impliedFormat":1},{"version":"25e74c23ca9d123ad4726803694ca249b958270fa3e98eb3de7f339f15241a45","impliedFormat":1},{"version":"87537c5c41597d3355cd28531f715bcfa77b73f0622d49b28b6064b3c0ba0ab3","impliedFormat":1},{"version":"56acbddbfb96d3e9502c73d87f216fd16b9954ce7fc345adaa51a054bbd548cd","impliedFormat":1},{"version":"ea5f8a7e470eec67d9b3a57a311393d9b8146d59e7d3965fc2a07745aabb50d1","impliedFormat":1},{"version":"d75a15490d5dc9b8bdd209200429a4cd31c139b1503e22e1ef743e6d4fd160f2","impliedFormat":1},{"version":"fb238a904625a2a0942f8f0aad2c96d5ba7b684b59890599a10d73c1bfd3f771","impliedFormat":1},{"version":"35c91fef4484772dedb9c253a07ad91912a8e349838bef1e7c85b93b6acd39c8","impliedFormat":1},{"version":"b92d1f42b729031910871b073bbf05b8d68994a91dc43a7fc64f88abff16db54","impliedFormat":1},{"version":"beaeb7cae58c1b074e1e5c4c0cc4e205b1763f0e9f413d7062951e1cf539b450","impliedFormat":1},{"version":"2059b7deab3beb764a2368200ead025358b48fe470bd6850500785d94c8fb5cf","impliedFormat":1},{"version":"da08b48bf74446b6f988e95f501693844d59d445487d89d2364b8bf431c8a21e","impliedFormat":1},{"version":"17c4db14970964450f5bdcd1349e6f3035419db7f7f9f88ee966b3b34cbaa8b3","impliedFormat":1},{"version":"a9e6f34151c8629364892059c1689e2f99775b3642a24854d0330112d6892cff","impliedFormat":1},{"version":"bf5fb8cea51021d395c45a092c1e97534d498c91812b99fdb07c658cf5990585","impliedFormat":1},{"version":"6bc9832d675edd15ca0c8e096cc4008e2791d822cddbe218e7fe65d33de8fa2e","signature":"78f739f5b91e1135aadb4752b0fbd6b6bad0fa86b3f0e889900982b12176fc2e"},{"version":"baad5518e27c0ff3bc6192606a3c70d64e52338ecf1a1492a3582c9e8827a7bf","signature":"9d01797abc1ce5d2b2ca095bee592fa4887661c3cb1603e9f126b767d68bb57a"},{"version":"a418d3e5729d2bc1f21789a3926a6e5db364e9f80410207f4eb28b55a5c70cff","signature":"afdce15dde5537aa0c81dab15a2367924eac28ab8f25ba3e403f7338da845b92"},{"version":"9c191c1cdb897d4612add14c9173ffd05888a3dae797eec48975b9a43572d3d3","signature":"b3a61d1bb2c4eff882c25e5284189e1934aeb4af535fdb36694fc461cf4b7068"},{"version":"0b791c213954a91e7d80daceb4b7d7b53600a731e2227d3541d88a09fcea1621","signature":"b6e882b417c55fc40bb0b42ad061d8f97bd0b2fdbd2aec5aa2aa257420c7c2ec"},{"version":"d87d409038571fb3067d46293d2c5349c6fafa708e07badd55a5b9d8a013cbb1","signature":"63b2f936da9faea8c52723d6b78ca09ee0bb769833160bbcb000be8b7cb456ac"},{"version":"9d0c46e2b8776a71972db76904d933f54d190601cbd57b82438254c275808ccf","signature":"95bee50322d4d787b4a886030c691a2317aca49f557c115e52f95938343f65cc"},{"version":"df804257d254a2e00d640a55eefb2ae628da95dba0085ca824a04ea3ff69ac99","signature":"2302a6d37e153539b259b1f3bda1c10d344984b15efa30ea39ff5c83b5825977"},{"version":"74226e280a2991fdeba3808665dcce17f87736137ca79404c5d8d7c668eec8df","signature":"b4e98fe21b2b7cca7ccabb5169df346479a0e3bb6bf46c25946174977917d316"},{"version":"bb520dd5abb511ac234e88f420dfbfba03a6ef74a9c783850bddd833b8235b23","signature":"80923ea73f37baf4c06eb870a02060c68149fc8a8e47daddf6b55af1047d2b0c"},{"version":"372db055c8310930dcb90ffa00df06b44ac8e725c75e0c172786676ea6a11794","signature":"6179a86622a28cdafe5d99fb99e1ab06b1a06011bb9a8ae9d65d4697e61d5316"},{"version":"7afdb15ecde2660b27441b4ccc09065e88c4946527e2b8b00c864de0374ce459","signature":"37a718acb4d240ce0d45b7082a821b9bc8d9c523df47980aed0547887beafcb0"},{"version":"b858c7849e256828563264a2345354ac829be7d7afc77e2c04f7683b81ccc79d","signature":"e724140889de1a68b6fac45652942a37dbe94d0951da3249196817e9004181c8"},{"version":"8baeb3b59b89189784e884f673a22f1b228c27e7c863f1e6a5afa86982d04230","signature":"4fa89a082213215027fc85892fd3a42bf898e652eded33469c2c31a75cc7db12"},{"version":"dbcd3bdc16cce3a7ee42434daebcf0428578cb69bd3c27533db9a065331443dc","signature":"f50138c9b21bb7d4b52c5bcb99ff08cab9112b3fa3eb67ba583c1c033f5658fc"},{"version":"baa1b838cd0e200f302fa49ee523d8f74fdf7a16c6d14a121621aec564cc92a1","signature":"fe0fcdbbfc40a17d638651589c6fdae7c4d56ed10a0bf9e04dc47fa42b94ead4"},{"version":"ea99af3c9a22cee8ea6b5754cb9d29c7076588361543519e0a95675747e2c17b","signature":"c77e23e46e99ad3082a3636b3fc4955831a6c50cc6be267983ed20d86c42279c"},{"version":"9bd02ddf990e7c7a97c5b70d4357ed3d8ca8f7bc5061615ea7b6d36f2e469ab4","signature":"59955746d15769af662a431f4bea5f2887de185eaadcf0f8e0df9766d138cff8"},{"version":"a7f738f0f8975276eafd3dfa1a404f2e7d544586740e316e82f6ccf5282403e1","signature":"841a14e5dece7ada133bc3861bb86c781ef768e92f4389fd4efe50699f9e215a"},{"version":"0bdaf3b9ac7dea3986c57c39de9ded3d5d4508776b840dc0764ae0dae7fec9cf","signature":"9d9ebf5599c466264eba72e589edf73b952da7b96b3e2ea53cfc963dcbbf8b12"},{"version":"36817a296ae92afafd90b250316bb568a39791e1fbcc47b0ceda39b7c19cf358","signature":"c4cbbb9a9199762fcbb84959c728d247a6fb4035fdea2992a36c8dd770758824"},{"version":"eb3f998132c1ee368d9196be6771f374f6b809b6693f1f6a75be7118cca56145","signature":"f6a21896af14802ff331fa38713f7c2649cc5e19bbe7c90707dadcc592236ad1"},{"version":"e8968e9574dee3230d6c37283617897b78d20e9560a4a0fa3d06927df62d2e91","signature":"887a929e952df6c08de135d3c73360dd80e833b99706ce3aef0c8b64b26ce68b"},{"version":"026db4b707cab07093a0120be171d34d7d2bfbf8e79f9879733208da48656fa1","signature":"d9c084f1531bfd5ac9f3f1722b36da475319a87df2a7c95cc5a1d2819bb0f8c5"},{"version":"6d9e1b7a1fa967fb8505a5fa33073efb38aec5e7b75f2dc6383c9f84f3b5c0ba","impliedFormat":1},{"version":"0462956c97fcc2f9a0f7a498600008751aae2b004f8ab4da34af41eb2fb5317d","signature":"8c23d09073975011bf5b8adde26ee58c4c5c27b5c4cc656a32313963f3388846"},{"version":"986fa92338addef967aad9d8d3850be7f8344719964c126fe184e05ecd1872b6","signature":"d546106877ee81adbcf30a6867700a253c87d52a5cacf673d034666e2837a8d0"},{"version":"21f25ed6117049dc8612faebd2369d0a243ed5a7585937271895d623ca500993","signature":"26ab3593d88f84d8250fde332b61ef8e6c9331bf4da6e89698ed83e95c57f7ee"},{"version":"3e6bc8dc938c6a77bb9bc053c3e6ddd79e8f9d0e383a02fdd72f9aa1b4e7dcd8","signature":"2f55fd6804783792ef44c4afb78fd8a5d6a2810a4c02007e53ded6f01e24b521"},{"version":"819a9152da954b548e16204dfbcd75208938e5e1a21464998d2d155c14f08f64","signature":"b6ea2388d7e17effc8c7a702bd5e736213f77468d04bda4d8871a07ff6b191a0"},{"version":"7d57f62963f7f76d3e4604f86fa9e7fd005e3e11bc81490b32193dd9b3f019e4","signature":"f12acaa6f04cc3698628891d95a523a4bf0c03d03fb103edc7e4929709f1baf9"},{"version":"d6f4b9a418add129da3898008b6036a68dab54ec3997b04dd0bee2534d59a2fc","signature":"2bde30c5f8e10d5820a401c68e63e2b81a23077352c01977a10cc10a15f266f9"},{"version":"fc381b272ffe38fb6844f6885fb858ac719c2ef6e7bdd79f0b18d6fa4b708850","signature":"4b3f4c9228ab5427308c651bd192f9f627d6e7465d7e3eaf63422d09e1a2e187"},{"version":"5e68dc453f25b656307d476bb12fac213ae5c29ec1d5983c2fedcdc7b198746d","signature":"37c0b6b7e7724598b96189a0153a958a908b1b73546dbebb7fceef0986e3ed3a"},{"version":"dbfc3b3e2e49ffb41704dfc2873012cb83400ab5bc3f7ee94e9147f380eaec2f","signature":"419996c73365008124de6ed63224ae81323de45079174bcac6b0dbdfc0108b44"},{"version":"2076d2cf1cdaeaeb896e27ec77082c91b5e485d297935597e76c8fec1c08e39b","signature":"dc1097eff258d192d1b76e71f09eb7a5a8c9b4776c6e8ce8af855e41ce73a274"},{"version":"16045bc7aad517e4fbb19b4dae0a9913adeed573f7f35fc7169b5dd1f402f0d9","signature":"6a0bb33780c82178cc3b57deb0752a131d54b126afdba9d4917f9a6268f625b1"},{"version":"92dc4e8b3d0e8dea1f5abbe30adfd3910a7be441c12ed6fadc738adb59f9bb2c","signature":"322baceb1c9f45aedb9e5100ebbbedd07a164fc03ab9e98c462e32b41cbdc90a"},{"version":"ffffa78542c8075f38012d776ff944fe1251ebb046de14d9c5f0afa1db83b8a8","signature":"fe0cea76d1c6a718447bcd594059ac0a4c7f60b9452227e9bd6af7d564519f45"},{"version":"e1d677e92f0fe8d2c4ab9d7d7ee58487eb9a6f48559930aaafe1ca8d9c96433c","signature":"2a19b3b4d3185bf1f4436a1b8e98727005b207da50322e24f3cde25162e2ad2b"},{"version":"e887edcdc18e2be02c4d2c86d3d33fbe4d1d2940d28b7e1a4f06556ea527e7b9","signature":"93799ea217ffac697e3222caa0d5c60771c1cfea1136666c2963797f10d09ce4"},{"version":"7cc0ca04ac330f9f0808e33e4595a1f1961b10fe6b3c8beb0ac0c45967598564","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"6d870a6ebc4af392ccd2875f99d1dd4c90db167636e4b267de2e1d3ff14a6104","signature":"d02c70b928a2b77ba435d387595ed3b27e4466e3115d7b71a79c36c592238798"},{"version":"2f79a63626adba271a461cbaa34c976c26be8e474095b1bc8a80ce6e4fc68536","signature":"019c10e3a4d1413779d87a055ffea70d5dfd127b4b65a51cb2e20fca9e8f1f66"},{"version":"ef68d70baf9635137535142e9df63e515a9b8bdcf9906d6edaaf0e93313ac3aa","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"d1d17705658519c7d57ce6c5cf95f0c894c2dd754ad1fcaeb1e2c4207d54e6e5","signature":"0bdd8b0d06cc0910bf6a36f2bdf87794634ab7014e178c7a7eb928437c6e5b76"},{"version":"688842a137a6cf51df9153af0452d1099fa559ac47504178827954a0957f4d1b","signature":"b4617ba82469c6492e4a6309e2cfad3c4a4b8b9feeeabe26293e7b3559362ba3"},{"version":"bc23a9eba2c69e497917dca9118a1a1169c27b9c527693802899955e9874789c","signature":"077309ec211d24c291b6f2483550990121454d5ee75109b3802b3c82d966557f"},{"version":"3fd930ef5d29ec40a3b52a43571be8356a95cdc215ea8da402feb0e67daf57c3","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"697256913297b09bb0b83b40de56ad875baa198a0d1c03b8bd9a8f8f77c2e500","signature":"bce98e573080ea97bd3c360011d50db0affee86bc74443866897c0061708072b"},{"version":"3b455aef3a8f1084aec20cf655ea99e1f68620df4c3f6071e8eed404a1c379f7","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"54dc720078a1e4b9dee72d9535dfc939609e8bd23bc5d58201980f5a302cd7e6","signature":"76964f1fd067c7ecd79d2dc18affd81fb2f0148dce268546b64bb6cb0cad859b"},{"version":"2c17c6e842123c5c921ba98cee5bd3886f3eeffd42eb3011819cf99cb5b02ebb","signature":"fad4e252103942053bbd84c183603d06e19da7332de7d295294f368a69af0752"},{"version":"47762a84ce21afc46f46c000e87fbf6b3035b5944da16ca8ac62de576d877fdb","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"7a12e41e4490d8645757e9513eed8dd2e9d6378f2557417e89570fc96129816b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"a3858cf95d68efd835700eb41b1fdf881906eaebd35b07596bbd5b7c1c6fec6c","signature":"3491297dc9eb13ef44f8529f92031e1a437de24c9166b9d7517f8970dffcf112"},{"version":"339fbca5cf5752f3fa77eeef5ec37c42010f1549655b3796eff5f4747e419488","signature":"62fe02bacba35050e65ee17fa4bab71e61914182c3dc9339cb6d40ae242efb41"},{"version":"357afcfd45b1bbdf4029dc5107fbf70fbfb519eb1f7cce5c9d9e5dfceed98efb","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c9d2066069488cecf420d111d0201193958022a2905ac6c66689f50ccecda6b3","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"5452448d44362f60de4ad50c0c5eff76066ef5b1b9f2b4921e83fb50a0c568d3","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"e1082b96225353d37a8936e351b792d00d2c8a0b917e648d330daf55eda781dc","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"a5a7b42900c17657e4fecb9034c6bbd87a02fc402ee49415ae9cafdbe6f9d1dc","signature":"12ee1ad5a651c4484cbbdc6ea7d594fe1f8adc9684006988275bd671f510f581"},{"version":"7afc8ef7ade1f7cb4e4ec2b5d8890649511bb0b684d870da6f25fbeed4cc4e19","signature":"a249fbe38c60a2a707d8381a5cc4246312d803f096870a9d77876f2629601662"},{"version":"f51d0b8cfa092a592caf543d772238f191037278e2004d58e7354447d830863f","signature":"986bf1e9bc3d1b0b157927aafcfbf9e94478b28eda319c209ed8e9e613e14827"},{"version":"81d6eaa818d26af8b982035b05e357761d2e71b3eaa00aedb34cb6a8701e7a4f","signature":"67636fea79b8e324bdaf8fce1f82141709d0740fb4f02ae195c208dcc78f5897"},{"version":"812fbe241e51f1fb745bfdb0cf447cff8a9802beeac16df1980f14499990900f","signature":"a4c0f47a1176dc8ca692834c31a2f1c95994955eb191e76cbf3e58dbd16ec08c"},{"version":"c871c193395edb4f0bc64f8dedd55c8d15a51a9519046dec95c4904242d7b2c6","signature":"3b5031a79ad3b873f4979dd714732927534e3a6d3ae7a9ec689c5725ca791ea6"},{"version":"3cdbef5d6bb0c6201d2edacc2f930322c36b9798b90131787398324b67bd2130","signature":"b84e31232011f6ac9ded7e727871f7c1ece606d8179950f791bcc03ac3c03b6e"},{"version":"d6c2a85159f32ddee646895592b5c53e04b18cfb5346de79c2d003b814b601e4","signature":"2bc381b2105d5a05c2724fa4ae393e83f0adefda1e390db743e55a0cb949c099"},{"version":"9fda6fefc6a936e326113a3d3dcb56da7dc7c2a7a064bf451429b51e7b645d8f","signature":"f668ac39f924b2946f0e323d23da14308c0d996f579dce2b5fe5c9f2085c9ad2"},{"version":"4e44af9a27051b8e06a5c6130c587952d20bebb6c644b96f4f9194fd3af18a33","signature":"00ec18666782d50d3be062bceb46231a3e2c4abae3128f6638529e9fdabefab0"},{"version":"f15a9a1a4717b12f1d0d969ed12e51bae4348259282125ac68572ad4c42f452d","signature":"0b482267029d52a5a2ed300385e2fa5accbe0f69d22bcc5c5f541536e169ad5e"},{"version":"41d344efc8e2dcfc00c0cd0d7bc8f5dabcc6bb0062766fd17aaf85deb4d60ecf","signature":"83df5dd9f98fa4184cd1227ae312c09558f5a00b35243e263069a3a545e7f6b9"},{"version":"fa0e148361ce1f5aa022f53a4641be18ec685a4a34396c2e7ce79113df9cf433","signature":"b9288778951e14a9a541d06ead6a2b1abf3b7541a1680af62e4769e632ff1263"},{"version":"c830d950ce6cb033cbb20cd8a8b935a13f6912ec6f5d9648b448c8f7d8987e05","signature":"c5b5d15b1d1ffd42b97d02288dcebd33c4fdbc062b395d01ced9b0c88e417211"},{"version":"e1f90140453b0fd52c46cc6ebfec2ebe754483c05e50dc74caae321d41e7a9ac","signature":"da215cd8311e3d53ac952d9a12e0fcebedf7d76b9f5692525046d7bb0ecb1cc5"},{"version":"5563052849dd3f93ba63a20568ac06acf6b8e15c0b57aee1bd452e7e4b1d5d95","signature":"91db33413af7e79f8f5639385fa3fa68c2595993f3f5bd6d7efaa4fe19dc94bd"},{"version":"bb2cef14d223750bf32f070eea09b2b2e176e10811d5c34f7a824628bad9dbc6","signature":"cc4068562a009b8285b75a2c53ea7b7323cc91785c59635e98b38256e80a2514"},{"version":"c5e286949fb1b24d3395196df616ec5f9090c2569534e48d1aa86e14308f6f2f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"908b7b3f2c71140accb3333fa49485ce1ad10ac4e14faab10ed51c0c28c68782","signature":"d19e4f9294c2efb124088d0e5dc71b2faceaed9cb614ef974ab0c3b925374891"},{"version":"637c70ab565be71168064142fdc7fde5a58ab95425066d3c8a6c3c592ca7167d","signature":"5baac7ee5e50c4c52bf4905d5cf4f735c939053555b99a56d1b743630788f665"},{"version":"2178789bd22566bcaa973006fa541e2c70d5698b5c099831828c9a1ec141802d","signature":"b905f364397e04bc6a90718495a5af33bf9720262dfdf619a090e7164d4f5408"},{"version":"6fa0ea6916329d3aa5c6056e13512e1757edecbce26dae1e8e5a3334e81fbf93","signature":"98d26fed15c1969891bc73c9dedc7278cdbd15f3afe3e34efe01c27dde514ba5"},{"version":"dae66bf6a17992ce4aaa4a16b8d8c590e84c396a341cb70ddf61ac2fe710e089","signature":"173c629dcaca1da42db9c0a508d079657fcc0cc56db24103f8a8171294902ff1"},{"version":"e7a672c4cf7f2314673b2fded201b122b6b4eda779709e2cb235531e8fac004f","signature":"db1016666977bab29ab1854fb90c9ed76f0632bdf412c73c6fa81412a02bc5b6"},{"version":"fa8dbed00530fb4114906cd93f7fb55512c8eb9551d2f2e9796c69a4da4b594f","impliedFormat":1},{"version":"3871ce03ddb2e068e59178c70a88d8830c1cf28ac243d585e267aee1fb5f0bc7","signature":"8f04114d05b5db969453536c2b5f0b92cb28745a7a03fd47f425146e4b9ad8c9"},{"version":"ad5ea69c890012a5b61d4cad41a2d1c2bf581a023eb58290c5ea86554184bae3","signature":"d73e7d9f551a968dcbd471ca03440ca263efb053defa3a163b94c429ac47729c"},{"version":"da11ab55563abce966b549bc9121f74f71d0aa0f0ad86f74c93d7304634c7007","signature":"2367a890be9d6752275d2ec6b9afd812c0b856d943b32e51ec662d6aaf6968be"},"6958e241f880588015372a690454d0f7c0727b78e0a9882f493e2ac0fada857e",{"version":"fceca4d896e6fd11de25ba760ff482c087c3a2150da1d841b8092bf8e1dd812c","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"7a732b03d5a0bd9c071d5887794887796b8a5cc30decef607a565735d8cdfc0d","signature":"f1983b8ef21692b453a2ef5ee21b5f8e5c32fea1e87bc833c55c781c109e45bf"},{"version":"c2d4dfa9bb5bbafa31b4423a78c2df02ccb51ad3f4abe7dcbbfaeb8dcf2cb82f","signature":"90b39c231c33d05240cbaabcfc21d94f68e05b5d9d2e972b644363be2133bebe"},{"version":"94adbb305113a8e6572989713200d1eba425e7a01443f1d02f4bd9a66f7f4fa3","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"3f8860ee39a7c1ca7824f29d948eb3f2160caa4cf4b1df9380a9b9b0c1ea184f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"2b2f73d0eb4ba5acb6776f8a03f01aa6638a6b783e8edb0f1c0043b724cb26e9","signature":"2017e532f2d63932c3d12d80ce16370a44a56ade4720f7c63436b5f15d45c3c6"},{"version":"cbcd7e3639eae69860983466b671c160570ff8bef3295eb9d9cf3a918f7c3924","signature":"22039e2144d09a04262d19b5f0e4237ee40bec8322b5c9574403a9103af52044"},{"version":"2b7bd4c530f8df99a7c513289d15cc3d919182a3e47a509f7dd66f7c0c618c64","signature":"72347dfb5a68565183de9758ca357bb879acff2d8dd025002d023281dbc9b755"},{"version":"700a699bc316498b27b98820c837965a737debebb4fee5d0a027e95d3c4a1925","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"b61da04f747568084ac75ba893c009197a7a0bb511ce6e8ea11ec3727b1e0bff","signature":"659c6cddd4e661edcbf460b40c7b690f346714057fd0faf27d1400d95cb6a398"},{"version":"5e92985539c56d5b665b392fd3883c103e0a83b63a79955d940547f494a87f27","signature":"d273813f1a71341c5f482788561acb719f12c65fcafb4f36423a6d409856d472"},{"version":"1e36aa6fd246d7240a3598e917647e1d2ca0380a1b7bb3b8e3945cb26941b031","signature":"9e2bb88f173d3209e25d8856088cd88006b416949bf633f766578ae5b18f8488"},{"version":"205f7ac530c6e5712a640fe3b0dd9f29296ace25043f7179ec1adb56882a1c37","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"5e9142cb5f88305d5b5db601df9fe78244144630b03316f24b123c2bdaec5cd8","signature":"72a4b4bcd25bb33acac0c8d83f0d4d198714a06e03c49046690f380b9736998f"},{"version":"34817c134a9a64cb3564c424f056a13554d6c40d31af05be7ea6b28cd9d0ac53","signature":"cb7b15b1e17883bae1ff4a7a2edc4e33d311a2addd22d3799520aca9c35809f8"},{"version":"90453ef456c9284945d132c4d1c29753bcc06b0b7b1df7910768f748d4630160","signature":"d4d3b854dee0def611af8377422b5caef70f3b8c2c2d10ee3bb9ffb97d51cd45"},{"version":"404d9825e0fe3cc10db20060d068fd4f33c85c245ec9d2f99a20d05b02291b20","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"354afe485d131f817329e133ea768376707f9e4041d68975ba6f8b6eb2deca05","signature":"6fa430bbcceaa6953e336c4592420298d31fe66327f7ca06e6763ec70c20240e"},{"version":"0d0fb8169becb3c35ffb1069d105e59d36e1152bfac10d47d122129c8b6ac89a","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ecec60af07aba9a1ffd0fbc002a49d5dd62d29aed9e6035555b7addf52e7c37f","signature":"826a44f9fe5ced96f0730ac145b055200c439bc20f99241ae1cf34024f7e5541"},{"version":"ccfd91bb159f1c8c7c97803179e81eac290335412005d84954bc258da52fabc8","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"9438e72f1f4f9b026a547bc65a50ab0e57b9312757f3a9047c427294b20fb246","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"dc4ffeecc189d198af9ce492abed824b47bff7e7e6f8ec739a0eccc849836e4b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"a8d7e89573c9740ff8524b840a80cea8ad5e3fb3fa8521b4194d324d45588b9f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"9b05dbef22d051726098dcbc6490886790bf7bdb93aa9f8a46403fabd59128cd","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"2d0006e2c2a094ea0fabc4465b2cab0d7e8f5e785b3dda2961c2242257908b6e","signature":"a82c92852eb3872216a45757430fb88588440285e6f17c1bb864abe9f209fcd9"},{"version":"2f1a45e754761c4c17af1ecbd707a35ef9421ddb2daf244d1237aa929f919ba1","signature":"a76cde90a90b5582bffaa8aecdbdef0ee7d82667c57cad2c076404a3bcb741b8"},{"version":"5ebf1bcfa735477bf05c2a72f05efa171db37d28e39a690cc57d28447e09b070","signature":"ff96e4d1e720fdea29de66b9f495391d4c8c6b20fa4db88964df688d5a8538d4"},{"version":"73a0ee6395819b063df4b148211985f2e1442945c1a057204cf4cf6281760dc3","affectsGlobalScope":true,"impliedFormat":1},{"version":"d05d8c67116dceafc62e691c47ac89f8f10cf7313cd1b2fb4fe801c2bf1bb1a7","impliedFormat":1},{"version":"3c5bb5207df7095882400323d692957e90ec17323ccff5fd5f29a1ecf3b165d0","impliedFormat":1},{"version":"344c8bcb0db4ebfc98177a482885125c894f0312f61c9bd2ffd3864e47622fb4","signature":"46713144a8e07e24962b43c73b40a4f4b16e696eb52b8b519876fcd1f5e6eaf3"},{"version":"31152f7b9d390e7fc7d92db8ac3934a2f189432dd8cefa237ceb51667511535a","signature":"3e2364dba15210b59a74593c721b4946e89b6cabf1c4852738003ee79509f4a7"},{"version":"26a7fc2c9efa90591c196a780ebb5940a3cfd7a74245698b2c0e648986755e76","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ef20d9124a12e824c20d04362452ecbbdc6c9f3de2c3c4b231222870b9586e27","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"9d658ec7dd3400d48dc1a9956390e53236d8b5e1aa519dcda76ade2e78b5e02e","signature":"6f875425fee6cc226f2efa82b94f8db9c6d5a717523e8fa82c4ea9b203fec49e"},{"version":"425d1ba0639220d775f7ab76698471901037657446721779d737e086fef101e9","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"27cefa9a8df763b7c4e3abc76cb9867d1ddad908ac8c8d1e2bb32c3838616d4a","signature":"ea71b9399fcc1d3c46ec554ae15f397c40bf146ca2d9a58374cfb7116c343ab1"},{"version":"d1520fdce7489a3ad57359fab13c79ddc0a2a6d743940358a4dd3ad8d959fb38","signature":"45b074b67e77cbd4509dbcb1d78e40925cca1a0e67ff79fed1021bc48c262eda"},{"version":"c65bec5967ebb52be456a4fb70ac4cd92ffd671aaae4661cde2062fe3117fb7f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"d3cfde44f8089768ebb08098c96d01ca260b88bccf238d55eee93f1c620ff5a5","impliedFormat":1},{"version":"293eadad9dead44c6fd1db6de552663c33f215c55a1bfa2802a1bceed88ff0ec","impliedFormat":1},{"version":"08b2fae7b0f553ad9f79faec864b179fc58bc172e295a70943e8585dd85f600c","impliedFormat":1},{"version":"f12edf1672a94c578eca32216839604f1e1c16b40a1896198deabf99c882b340","impliedFormat":1},{"version":"e3498cf5e428e6c6b9e97bd88736f26d6cf147dedbfa5a8ad3ed8e05e059af8a","impliedFormat":1},{"version":"dba3f34531fd9b1b6e072928b6f885aa4d28dd6789cbd0e93563d43f4b62da53","impliedFormat":1},{"version":"f672c876c1a04a223cf2023b3d91e8a52bb1544c576b81bf64a8fec82be9969c","impliedFormat":1},{"version":"e4b03ddcf8563b1c0aee782a185286ed85a255ce8a30df8453aade2188bbc904","impliedFormat":1},{"version":"2329d90062487e1eaca87b5e06abcbbeeecf80a82f65f949fd332cfcf824b87b","impliedFormat":1},{"version":"25b3f581e12ede11e5739f57a86e8668fbc0124f6649506def306cad2c59d262","impliedFormat":1},{"version":"4fdb529707247a1a917a4626bfb6a293d52cd8ee57ccf03830ec91d39d606d6d","impliedFormat":1},{"version":"a9ebb67d6bbead6044b43714b50dcb77b8f7541ffe803046fdec1714c1eba206","impliedFormat":1},{"version":"833e92c058d033cde3f29a6c7603f517001d1ddd8020bc94d2067a3bc69b2a8e","impliedFormat":1},{"version":"8e6427dd1a4321b0857499739c641b98657ea6dc7cc9a02c9b2c25a845c3c8e6","impliedFormat":1},{"version":"58da08d1fe876c79c47dcf88be37c5c3fab55d97b34c8c09a666599a2191208d","impliedFormat":1},{"version":"e770447d49d5c7ee25f80ccfff0f95003e08bf1147d039f0e8320d95d882c76b","signature":"399eb8b682bd93241cc96cb483306f8634ba94bc17ddb123e9106088240e9c7c"},{"version":"15ba1669f8cb8433a7a7b40422f81fed4f7e037e3cd4ca65b7b4af0434a43560","signature":"4f83f97fe204009c8bbad58d06e956970062930bd694b7ecd88d13a6f85f7e3a"},{"version":"a18970969188e47a48af09738dde83579f9c85bfd731675b671c1f32c5bdc134","signature":"f6c3f2c52494a1c44f58bc28dc1f8f89c7e3b0d005a5c3bb8789f82131996dd5"},{"version":"68ec8a37a3f7ce830a6be8e0ed448f8907f638e02a22a12a0f76a900d9f7b258","signature":"37f7acbfb476967d35f33541ea813afd46bee4432026b3d709b41a0fa1b0168c"},{"version":"f283fbf47f87f71a6c4bc7cf84d32143f911c446ee2cc0692af8444e58b20fef","signature":"99fe61680e4ff2fb24faafb515075101cf62c7cea6e7828a5a939111b964e800"},{"version":"df823183fe38e4141ba9ae88646c95b83a8a1de52f8692d8292c0e1fdce8e755","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"d9380c6a61635f8a7019cd889f3c9edbb47a2664847d029f935e632f35fa7b09","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"e70993be79de2ffc2132f91126903db8573e68b0f5318ec48eec97a5e09c5f8c","signature":"c4c000f5db2334ea4e2bc0b9bc437d27c292ba078ea53202378b878846840865"},"9eed204f26aed45ba513a001aaa78dffd4bf0194ed42fb59fa4a5b48dc382767",{"version":"8289d00aef316131b835c6fef2227e2b247641f3ecb434a3c93bb5692c7809e5","signature":"9ab6693aeebded592e13762f5108b1964d6edaaf634cb9a189df79643f88f7ad"},{"version":"954e64b65c8632c8e6c602f86ddb7a855b541f719153c52586da47df81740592","signature":"5747318e625d94d50968119db96e4e9b57f386c0fce3b015e26a5e06819ded72"},{"version":"8e67d08427faa2cd614ffde8279aca632928a75610fab7f0e80eea0481c3ffa0","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"eaf4a58ef586c168ad73bf0bf2e4fc7b50b0207046cb03e70f064e23cc7410a2","signature":"dab2cd6f392f32d0e94793582857c06a2d1fc79ebafc631e2b80e4b0c40778c9"},{"version":"08e69d30c063db86ea2221adf2282b1c118723cec16131cbd40024f3f43e5a90","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"1d57813ffd927563821c58c16a5a7c35d350415b2b8de5978b370c78b8a750ff","signature":"d5d64072f36683f1af5cdbc66e7ac58d839b6b2d99cee1b0e96df9f4413640a2"},{"version":"70fe6d07a4bad7a73b493a4bfbe2c5b501167449f0e95e3a896261e08d647b67","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"7d2792a15bf4bcd948e330c3cb747a075d137db57ac53adc6900f69009dd8978","signature":"fb6fdfe7ee4e1c16d6bc8b3c8da0d22ebd365981b6c4dfe881b391328d68f220"},{"version":"75e64a7fcef4db0c9ff13acc31c53cce109194012351733ce9833347e0a8e518","signature":"a97e6b4712135857efbdd73004c551d3a71d65d6b8a9d8f661f608a47b607cf3"},{"version":"a24154a3954030448c58433c23ca4f6d78e763a3af035de3d9633cc9158d7038","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"72fc4be3f73ed954fa04a52ebc5975c56b5f13c4265392191c95028ec27daab5","signature":"13a8b4fdf45f95814460c5001fc04194f85ca7055d460a9f852eed3fbd5c2293"},{"version":"f56134ed1c08d4f469e3465c6f6ea6022b9e282db01237c326d0f8b2b5460310","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"773df341514640879d77b0b24b636e6a8ccae2e88bbb09cee7383274046eab2e","signature":"3f3e3ab94baceade05836e0805fd32550fc1cad12d3d31a2fcae6d56882ac2f8"},{"version":"2d96663076cc7fea06c11a0165be63c11b533672c6d02ef361bd86f8394ecdb2","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"95f053ad6f9e8f22fb9a0309e14a768302ff5f8072b9bc24b8decdcbdaaad0ff","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"bc4cc5cacfa347d15035093ecc8a2c650968fd9208de260c8c141749d1797d23","signature":"8efda6ec7129eb4762df1d2b2a593fe59c69f1a2d5696d6d7bddeff50c24b17d"},{"version":"de7f6eb89010bc7d22b76bfd8d01ebdf803df6bdf7e7b7528d2705f74c401e58","signature":"524d6c27b0e7b81e021da931ddfc29e60f33e2573ff117ed95e8cbeb32f5c8ad"},{"version":"745615f591324c1ce4fd8a905b5af838474e781548807dff21154e64b51e945d","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"a1a2e508046cbc9709255c938bf9935cbffa6cfe006cb5bb7f36b9f4c5a3a2db","signature":"ecaff6497b5a358a301ee7363dfd9c78325e9cb23d95bcc873322faedca7d3a7"},{"version":"d09eaa9c4d651a351d0ed84a88a22b35bd41f307ff7aa0fc356a2b7ac41ccf25","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"005ce56f0d10ed61656324f72713a4e920f12a8656def94bb1735e9cd8392ad5","signature":"484482bbf35c97458c170dd84777adcd87d6e9fcbeac3ed86ba79eaeb8cc7968"},{"version":"265c9ae2b7a62781e57de439be00ccb1b8693156cfb98a0618ba6c5c54596e42","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"34330c5f52442c69dd7c50d7a95912d87b85cc01be135026a5d7ac060b184464","signature":"720e771373458011bd56c0c6bbeea34302eea42ccf08c8a6b5840a338e7e93b9"},{"version":"e7f0547a22cdcb3e5d9b0fd91191cc2dba8f75a2694eeb4d45a9ddf2a8352960","signature":"c1f5f74ae95ba44d64781ed79486fe7192478040d82d787876f44bc7e77418b2"},{"version":"56208c500dcb5f42be7e18e8cb578f257a1a89b94b3280c506818fed06391805","impliedFormat":1},{"version":"0c94c2e497e1b9bcfda66aea239d5d36cd980d12a6d9d59e66f4be1fa3da5d5a","impliedFormat":1},{"version":"eb9271b3c585ea9dc7b19b906a921bf93f30f22330408ffec6df6a22057f3296","impliedFormat":1},{"version":"aa4a927d0c7239dff845a64e676c71aeed2bbda89a7fb486baab22eb7688ba1d","impliedFormat":1},{"version":"340a990742a00862049b378aaa482b5bb8323d443c799dded51ce711f4f8eb51","impliedFormat":1},{"version":"89eeeebbc612a079c6e7ebe0bde08e06fbc46cfeaebf6157ea3051ed55967b10","impliedFormat":1},{"version":"4c72f66622e266b542fb097f4d1fe88eb858b88b98414a13ef3dd901109e03a1","impliedFormat":1},{"version":"15d8dcd70d6cc6c75476a75ea83c53df1115bdd551c73ef2168a9b4a4bd55a51","impliedFormat":1},{"version":"2acad3ae616a9fb5a8c3d4d7bb5edb11d1d0102372ee939e7fc64359fec4046e","impliedFormat":1},{"version":"c812eabb7d2e13c8e72e216208448f92341a4094dd107cbb0bdb2cb23d1a83e7","impliedFormat":1},{"version":"f734b58ea162765ff4d4a36f671ee06da898921e985a2064510f4925ec1ed062","affectsGlobalScope":true,"impliedFormat":1},{"version":"9619b4a3db123eee6912ce9cbeae535739a1b1736dbbc224a697a2a98fee560c","affectsGlobalScope":true,"impliedFormat":1},{"version":"9c5c84c449a3d74e417343410ba9f1bd8bfeb32abd16945a1b3d0592ded31bc8","impliedFormat":1},{"version":"a7f09d2aaf994dbfd872eda4f2411d619217b04dbe0916202304e7a3d4b0f5f8","impliedFormat":1},{"version":"86ac756569f83cf0571646c916b546634652e92a775e964304912ecafa81dc42","impliedFormat":99},{"version":"a7f23fecdccf1504dae27c359db676d0a1fbaaeb400b55959078924e4c3a4992","impliedFormat":1},{"version":"bee66a62aa1da254412bb2c3c8c1a0dd12efea0722d35cc6ea7b5fdaa6778fd1","impliedFormat":1},{"version":"05d80364872e31465f8a1eaf2697e4fc418f78aa336f4cea68620a23f1379f6f","impliedFormat":1},{"version":"7345ba3b9eb2182d8cdc4c961b62847c3c9918985179ddefd5ca58a80d8b9e6a","impliedFormat":1},{"version":"81c4a0e6de3d5674ec3a721e04b3eb3244180bda86a22c4185ecac0e3f051cd8","impliedFormat":1},{"version":"39975a01d837394bcac2559639e88ecdc4cfd22433327b46ea6f78eb2c584813","impliedFormat":1},{"version":"7261cabedede09ebfd50e135af40be34f76fb9dbc617e129eaec21b00161ae86","impliedFormat":1},{"version":"ea554794a0d4136c5c6ea8f59ae894c3c0848b17848468a63ed5d3a307e148ae","impliedFormat":1},{"version":"2c378d9368abcd2eba8c29b294d40909845f68557bc0b38117e4f04fc56e5f9c","impliedFormat":1},{"version":"9b048390bcffe88c023a4cd742a720b41d4cd7df83bc9270e6f2339bf38de278","affectsGlobalScope":true,"impliedFormat":1},{"version":"c60b14c297cc569c648ddaea70bc1540903b7f4da416edd46687e88a543515a1","impliedFormat":1},{"version":"efcdea26e9115d5c05b3f4c5827fe3b32b4fef1b59dbd67f529c6cb685c7d9c4","impliedFormat":1},{"version":"bb0c361fd2b4bdabbf1307f1a61fd14c953f2692fa642391f93276f2df41de50","impliedFormat":1},{"version":"90588fb5ef85f4a8a4234e8062eb97bd3c8114dfb86a0c67f62685969222da8b","impliedFormat":1},{"version":"6ce50ada4bc9d2ad69927dce35cead36da337a618de0a2daaaeeafe38c692597","impliedFormat":1},{"version":"5fbc333346d28f290d42ac81cf16e454fd3947c6e524384dfd3ce59d4ac3af04","impliedFormat":1},{"version":"072163fdea42ece03bd323b907f5d6acf575a34a9dac4620e517e4378d773d0d","impliedFormat":1},{"version":"df6251bd4b5fad52759bfe96e8ab8f2ce625d0b6739b825209b263729a9c321e","impliedFormat":1},{"version":"846068dbe466864be6e2cae9993a4e3ac492a5cb05a36d5ce36e98690fde41f4","impliedFormat":1},{"version":"94c8c60f751015c8f38923e0d1ae32dd4780b572660123fa087b0cf9884a68a8","impliedFormat":1},{"version":"db8747c785df161ef65237bac36a7716168e5ebf18976ab16fd2fff69cf9c6ce","impliedFormat":1},{"version":"3085abdf921a6d225ad037c89eb2ba26a4c3b2c262f842dd3061949d1969b784","impliedFormat":1},{"version":"8e8f7b36675be31c4e9538529c30a552538c42ff866ba59fe70f23ba18479c5a","impliedFormat":1},{"version":"1fe8b45c1564eca8b1bd27d427d193ea8c1a5d64f7144a5a64665d5d0f27a9e4","impliedFormat":1},{"version":"a03c6f93651e458531f223d52eac1a12f2aee8adc2cbc4b4154a3fe515984e5c","impliedFormat":1},{"version":"8d05dbd747569cb1b0cc2ec1018a3378c47d803de0e7d34f7e12909ff48bb437","impliedFormat":1},{"version":"1afb31819f4b7d04f4089d575acd30854a4cc614baea960066f7cc5755e9efcd","impliedFormat":1},{"version":"35cc30df63b9fa7c9d3637ef315eb5f21f5b0dc0f982c736cad20d39e29b579c","impliedFormat":1},{"version":"c5b47653a15ec7c0bde956e77e5ca103ddc180d40eb4b311e4a024ef7c668fb0","impliedFormat":1},{"version":"0528a80462b04f2f2ad8bee604fe9db235db6a359d1208f370a236e23fc0b1e0","impliedFormat":1},{"version":"94153ca0b430f575f45a5e07d66771dc5ab331af7791691855ba3499958c4e49","impliedFormat":1},{"version":"dd361fe00d3033451e4a43c9eaeafcd1b9b6777adfbc8b8f91d63ea56818c31c","impliedFormat":1},{"version":"b86720947f763bbb869c2b183f8e58bca9fa089ed8f9c5a1574b2bea18cfbc02","impliedFormat":1},{"version":"fb7e20b94d23d989fa7c7d20fccebef31c1ef2d3d9ca179cadba6516e4e918ad","impliedFormat":1},{"version":"8326f735a1f0d2b4ad20539cda4e0d2e7c5fc0b534e3c0d503d5ed20a5711009","impliedFormat":1},{"version":"8d720cd4ee809af1d81f4ce88f02168568d5fded574d89875afd8fe7afd9549e","impliedFormat":1},{"version":"df87c2628c5567fd71dc0b765c845b0cbfef61e7c2e56961ac527bfb615ea639","impliedFormat":1},{"version":"659a83f1dd901de4198c9c2aa70e4a46a9bd0c41ce8a42ee26f2dbff5e86b1f3","impliedFormat":1},{"version":"1db5c2491eebd894eb9be03408601cddfe1b08357d021aeb86c3fb6c329a7843","impliedFormat":1},{"version":"224f85b48786de61fb0b018fbea89620ebec6289179daa78ed33c0f83014fc75","impliedFormat":1},{"version":"05fbfcb5c5c247a8b8a1d97dd8557c78ead2fff524f0b6380b4ac9d3e35249fb","impliedFormat":1},{"version":"322f70408b4e1f550ecc411869707764d8b28da3608e4422587630b366daf9de","impliedFormat":1},{"version":"c4ef9e9e0fcb14b52c97ce847fb26a446b7d668d9db98a7de915a22c46f44c37","impliedFormat":1},{"version":"0e447b14e81b5b3e5d83cbea58b734850f78fb883f810e46d3dedba1a5124658","impliedFormat":1},{"version":"b16a6680ef4108fb2982b1d47e7ce36a8b2c382cf76b3e1b500de70f0a62fdff","impliedFormat":1},{"version":"929939785efdef0b6781b7d3a7098238ea3af41be010f18d6627fd061b6c9edf","impliedFormat":1},{"version":"fca68ac3b92725dbf3dac3f9fbc80775b66d2a9c642e75595a4a11a2095b3c9a","impliedFormat":1},{"version":"245d13141d7f9ec6edd36b14844b247e0680950c1c3289774d431cbbd47e714e","impliedFormat":1},{"version":"4326dc453ff5bf36ad778e93b7021cdd9abcfc4efe75a5c04032324f404af558","impliedFormat":1},{"version":"27b47fbd2f2d0d3cd44b8c7231c800f8528949cc56f421093e2b829d6976f173","impliedFormat":1},{"version":"d5426c0e36296daf07cf2f38227907469c33a53473d9c2721d21dc515c5724df","impliedFormat":1},{"version":"cc03a3e284393b02fdb646931e8576f6dbe839a249d172eb3397adec80559450","impliedFormat":1},{"version":"3d94a259051acf8acd2108cee57ad58fee7f7b278de76a7a5746f0656eecbff6","impliedFormat":1},{"version":"fc745bebefc96e2a518a2d559af6850626cada22a75f794fd40a17aae11e2d54","impliedFormat":1},{"version":"199d42a358b3b73312d499dd04d9f855bf8ad492452765de4ef80b8cb6871cd3","impliedFormat":1},{"version":"eafa048ffaf72cdb64fa1d0dae49aa91280a7bb94e0b034883ae48cec27a04d7","impliedFormat":1},{"version":"593bcf66433eff881c9abb75d2e55a7403c57905aa61d818a616bb3c7f076b49","impliedFormat":1},{"version":"3f3526aea8d29f0c53f8fb99201c770c87c357b5e87349aca8494bfd0c145c26","impliedFormat":1},{"version":"6ee92d844e5a1c0eb562d110676a3a17f00d2cd2ea2aaaff0a98d7881b9a4041","impliedFormat":1},{"version":"b9dc36d1f7c5c2350feafb55c090127104e59b7d2a20729b286dab00d70e283d","impliedFormat":1},{"version":"45d3f1d53fa99783a5e3c29debb065d6060d0db650a6a1055308a8619bd6b263","impliedFormat":1},{"version":"a14febaf38fd75a88620a0808732cf9841afc403da2dc3de7a6fc9a49d36bdbc","impliedFormat":1},{"version":"6052522a593f094cfee0e99c76312a229cf2d49ac2e75095af83813ec9f4b109","impliedFormat":1},{"version":"a0ceb6ce93981581494bae078b971b17e36b67502a36a056966940377517091d","impliedFormat":1},{"version":"a63ce903dd08c662702e33700a3d28ca66ed21ac0591e1dbf4a0b309ae80e690","impliedFormat":1},{"version":"2b63d2725550866e0f2b56b2394ce001ebf1145cb4b04dc9daa29d73867b878c","impliedFormat":1},{"version":"e885933b92f26fa3204403999eddc61651cd3109faf8bffa4f6b6e558b0ab2fa","impliedFormat":1},{"version":"22338cc18afb909a95a6c55417f1a67db99badecbac1710a963f0bf63c952124","impliedFormat":1},{"version":"e61b31fd5fd627c73da6041d201c0bbd721170288381f09055cad4fcb2ad327b","impliedFormat":1},{"version":"6e2d2b63c278fd1c8dd54da2328622c964f50afa62978ed1a73ccd85e99a4fc7","impliedFormat":1},{"version":"e151e41c82004cf09b7ea863f591348c9035e0f7a69d4189cbac89cc9611b89d","impliedFormat":1},{"version":"dedf4655c327e9c5294a63d75764946308700825e8d8c1d4318a10602581cd6c","impliedFormat":1},{"version":"b83ffe71adbac91c5596133251e5ec0c9e6664017ee5b776841effe93de8f466","impliedFormat":1},{"version":"61ecf051972c69e7c992bab9cf74c511ecba51b273c4e1590574d97a542bd4ea","impliedFormat":1},{"version":"068f5afbae92a20a5fcd9cfce76f7b90de2c59a952396b5da225b61f95a1d60a","impliedFormat":1},{"version":"18d97e6b17d1196d88d4deb0e37d8edb7fbdd102ae8a5681f03e15030b6b2fd4","impliedFormat":1},{"version":"d7ded5d2060ac6a4404e6001a46d5a704e3f325f95e2cb0dc055ea05404c9cf6","impliedFormat":1},{"version":"99c88ea4f93e883d10c04961dbf37c403c4f3c8444948b86effec0bf52176d0e","impliedFormat":1},{"version":"e88f3729fcc3d38d2a1b3cdcbd773d13d72ea3bdf4d0c0c784818e3bfbe7998d","impliedFormat":1},{"version":"f25b1264b694a647593b0a9a044a267098aaf249d646981a7f0503b8bb185352","impliedFormat":1},{"version":"964d0862660f8e46675c83793f42ab2af336f3d6106dee966a4053d5dc433063","impliedFormat":1},{"version":"292ad4203c181f33beb9eb8fe7c6aaae29f62163793278a7ffc2fcc0d0dbed19","impliedFormat":1},{"version":"aa8e5ac3f73eede931d5da74ef1797c174b00854ac701ead5c4a7d6ce4a49029","impliedFormat":1},{"version":"f1a4ca3688d951daa2d7740da5a0827fa34d4a7709eed7b8225215986ee87108","impliedFormat":1},{"version":"08e159b5ef9d14bdd329457c5cbe181e84f13c4ff2546a24b9eb9129b0c71c46","impliedFormat":1},{"version":"f8453a3fe0fe49ab718357120bec2b8205e15eb91ff62eada60a4780458fa91e","impliedFormat":1},{"version":"06f186bb9a6408ef8563dbf17d53cbe23e68422518b49b96afac732844ddbaa1","impliedFormat":1},{"version":"525f9c06245b5b43b1237cfd757396fd7fd8090e5d6a4ded758c7ce17a04bf42","impliedFormat":1},{"version":"e46b752c48b3aec77516d23b5cbc0b85df78c740c058a822b43a32c958e468f0","impliedFormat":1},{"version":"f693b1fce39951823f128590c6c837b70f844b6d3746ef778b7fae7f1340338a","impliedFormat":1},{"version":"bc264419318f0b174b5dabdd465e1eddb82f872e899b6c696c67217b346e958c","impliedFormat":1},{"version":"6046bffaa17bbb55ffd62926a966a7badce21b27d6239ba0b569b8266bedaf19","impliedFormat":1},{"version":"9376cce4d849f1d6ad2cb0048807c77cfeb78cee6e29b61dcfe74c7ab2980e18","impliedFormat":1},{"version":"2e0dc55ea1ade444d285576a4ed7915834d4a87f71b147c38afdb877ebb0ad2d","impliedFormat":1},{"version":"4edfc4848068bf58016856dfeb27341c15679884575e1a501e2389a1fea5c579","impliedFormat":1},{"version":"0c3d7a094ef401b3c36c8e3d88382a7e7a8b1e4f702769eba861d03db559876b","impliedFormat":1},{"version":"1a3b915d24b2a26df000ef55ed356028dec11ff54f7e93a5c095c313d7016e1c","impliedFormat":1},{"version":"7e3a4800683a39375bc99f0d53b21328b0a0377ab7cbb732c564ca7ca04d9b37","impliedFormat":1},{"version":"b1b5e35575486918e155ef02d995598be2b5d8e729f857f8309ba0b76e14d833","impliedFormat":1},{"version":"8d87de8b839a017541ec1baec68292ddbcdfad0f2f3b5f2ae8abd61f06105cbd","impliedFormat":1},{"version":"7cb0d946957daea11f78a31b85de435e00bcd8964eba66d3e8056ba9d14b9c55","impliedFormat":1},{"version":"b3e441cdb9d9e55e6e120052fe8bf2a8b5e5a46287f21d5bc39561594574e1a9","impliedFormat":1},{"version":"0870e8eb0527c044e844a1d83127f020aa7f79048218a62b2875e818355f8cb2","impliedFormat":1},{"version":"38400b70ac70600c632ad498df2d956ed8ca6c6774dfb0ef69a2d35a9450df7a","impliedFormat":1},{"version":"abab86c01d001d0cc410c7aee59168eb09bdb7d6d9d39d3c0081b36235e2824f","impliedFormat":1},{"version":"7ae39872b4f4d38b9df079cce4223e999754eb3b3f90e4e46b978b29e72c419e","impliedFormat":1},{"version":"dc0f3099379383bf14f2263c7987584e81b6d9b60259c9e31390455ca0619dba","impliedFormat":1},{"version":"6dd704b0ba0131eb9e707aeedc39be6a224b4669544e518217a75eb7f5dd65c2","impliedFormat":1},{"version":"6effa89f483e5c83c0e0063df5f1d8b006d9d0f1de7eed2233886642424dc8fb","impliedFormat":1},{"version":"5c6dc17513298b4daac99bf8e88ad4e4a504310cf69a0cf3cffefa5912b85234","impliedFormat":1},{"version":"d43130c35762a80da2299f8b59a4321b6e64acfb0b11a36183379b4c7b83314b","impliedFormat":1},{"version":"6bf44b890824799af8e20c0387ffa987e890fac5c5954a3a7352351eefe55d5d","impliedFormat":1},{"version":"e61999c06ae79ec587c2e7db514a024d85732b32ee2c997bf4a1ceb2b561c611","impliedFormat":1},{"version":"aecd29a5bc49b1de6b933344e9c96384cd098162c46873673ffa1408e6195c52","impliedFormat":1},{"version":"f83afa274e0f11860c6609198ecca220f5df60690923b990ca06cae21771016e","impliedFormat":1},{"version":"af31f37264ea5d5349eec50786ceca75c572ed3be91bdd7cb428fdd8cd14b17c","impliedFormat":1},{"version":"86d01647c3c215e53729aa2cb15d7bcc2b049088bc76bdb5e04a0bf25f97c386","impliedFormat":1},{"version":"9d3173cf740b742d1048d8ab20469060a2b5e2d426f8ff7df36042e6829c4aa8","impliedFormat":1},{"version":"f1063f0e6ca22a9fae0c0338768b03911c954b8e6ad4fff5381cc6a964b34324","impliedFormat":1},{"version":"4f85d12a28937e950b123e5385448a3bce0f04dccbca7ceb8aef351ffeccb228","impliedFormat":1},{"version":"85e4673ec8507aef18afd4a9acfae0294bdfaac29458ede0b8b56f5a63738486","impliedFormat":1},{"version":"40683566071340b03c74d0a4ffa84d49fedb181a691ce04c97e11b231a7deee4","impliedFormat":1},{"version":"81c8ab81daa2286241ad27468d6fc7ad3ecc62da04b18b77ce9b9b437f6b0863","impliedFormat":1},{"version":"268755fe3b7dd5ca84fc043de1502c56c5cf8ef70271c017964a9dff8af94a7f","impliedFormat":1},{"version":"8e56db8febfe127a9142435940c9a5a1ad17ddb2b2a6d8e9e8984785a76db1fd","impliedFormat":1},{"version":"f1efa458a3f630de51e30c823a8e1109eadf8562b8b90c764ef1fd989329bcaf","impliedFormat":1},{"version":"1ea64554b23db011171f7e0dd59d006b239fd4ec2e7e8b31ecf995528de79423","impliedFormat":1},{"version":"46788ee6b4670d904a54d56fe9e3bb308ab4c4ba01a435d39d8beaebf85f1a54","impliedFormat":1},{"version":"f4f6e61f620861b576f466e8af34e6064a997aa93ad62593c0c3f51489784e5c","impliedFormat":1},{"version":"f92fe945f94fee5c2811d6ee81b1751a1f1970b29063907d48067f1c2389bc3b","signature":"5b82e29d7fbc8350e62a2191c43b7f10fa15dabd316c2dca267b87aeb7a4fe2f"},{"version":"3974befffa7647e5d975081c15016cda5f16062c8957af8d5b93b85bd6b57b21","signature":"8364a4867aade4b7b8e12b3116edc4c0cc374833476df15a0cbbe7b147bb1387"},{"version":"da094bbe2ba0c875d680fa8957a0b4056d806ed8093c4eb84f1d1319bc148924","signature":"2ecfec679572556d5739697241ee12faf6d1c088a64eb646f358d6b908201893"},{"version":"884b3c4b6de733bea0363994edfdbc08f23168c3819ee92eacf9ee2ff38b9e31","signature":"8b18201daa2caa4d6dad664291f923d8607cf8211ebd0dec3986e400f02376b4"},{"version":"d61b3b8b5d54ffbc1159015019c05472841f9b12287ad1eb0febb9d50b3fcf2b","signature":"7bd1aae3ca5e15b45dc603fad958b8d228f09e8c43ad9a4efdc70c7b3f96fc35"},{"version":"4b9b77c14bfa8102fcb57b14ffe92dbff3b513a8c4ba62893ab009fbd4c73647","signature":"9d2c9cbb279702e44a3ea7fe24bfe19cf27352d4cbe4882bbe5d521d27c9741e"},{"version":"aee88de82317641d6391f0686ca4acceedfaae5ade43d00dfdbb2e32e83870b1","signature":"979a61915ecd6734d45f9ab06a423a5b75cac28c23c512c838c10e333ff88a02"},{"version":"9a889402f27da6ba13bcaf7e0731fa06758e971c0d4ed730d6b46f08d9a05f34","signature":"f9d6f6e5c3e8a1dbf9499c426fb4d97386c7aa5b205662a4777f9289ef9152ab"},{"version":"cf0aa1082f514283f8b5f83dd044b78ee44f78ea6cf2df4fa349b36a1151a17b","signature":"9c2f866be60bdff85a59bf2cd9b85041d63bfc369560cf59b88d7a95c6072f28"},{"version":"01cf139503f8a3813bf0897e9e52273b16cd899148d631af20c108f6d8b8d19b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"bb040b86775b25fc0848d43e3cc03e1b5cf4f00c40cbd350dbce010c06404df1","signature":"6d46cfeb3c048590784e9c099f0dfb8de954141c9fbf25f6d9ec87981ebc6fe7"},{"version":"d20eaead87726a364899203678c3e81614bfc368630e7a38ed0008acf7f7c1f4","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"e892e40c4a0fc631c78d3480f7edc5c1cd469ea0b8edd5e21951ba39c996b889","signature":"703090444b11f1b3ff7c9d90d1f20f336bdd927ab54747e57150d42e86e1f62a"},{"version":"5a2958fdf63b7d83f8d734d08ab6975b2a66defa7d7ee4988c0abfec0881b3a3","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"7859b822b52969cf5421d8d07df464fabd68c67579733fd51cc994c6f3b9452e","signature":"91d869ffb8dc40ecfa1ed7675197ed893ea5501d5eab07a48f22dbe192cbd9b0"},{"version":"05a0701aab09b3b50154c4469670a6af40d716c1bd84258ab88c4486efccc2de","signature":"cd7eee6f9641bca037731468d9b1012d11858efb65ccb7a23e35377d824b2a4b"},{"version":"cef9a872724202d022975121422e03878a38b6c4a78977b7e277733a2ed5151f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"2776443e3c5ce498f62ac5661d0e35884afea55b0d3f6f9306f8ffb97b35e9fc","signature":"c049b08ee071ee35f8623f69360d9b11a4e78f6f903a9601e9f76346ff07ffc4"},{"version":"18981392c502332d353be793e0eee6b4b71b92c4cc159879c76c0e412b50166f","signature":"85a5f8ec84196d475ea68d0239a7ee678d96c40274f16d0e940937166e2f9fa7"},{"version":"091c011d67fce1f188bb8c7474775ffe3275ddbc9837bd5fb5ffa26fd70a1cd8","signature":"3fb22e183af7ac8adf5ac16236bdbc75bcf15bbc24120895f7ca0d0fefe2f2b4"},{"version":"ede33324139612cc144cb9ab0658d31f633fbbf6e5654b4867ad17964e494463","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"90bdcbca0e0bf6c2b0bbb00673a340a12647ee9e9c0b7ffa08c1cbee51683f6a","signature":"081dc84b2cfc91d910771f621446c86f99ef16cba361a195bc5b6415671e3940"},{"version":"c3a6e46122a15e372681357101c151aefc21040e65611ab4edb7366b6694b2ea","signature":"84a5f8d870d0e3a83ea81b7fdd41940ea8af6ad244f7b5a41347a696ce8ee863"},{"version":"5c6fad27889b29555ec4270fa34f6d318520fc36e3c368efef6988c2240f943d","signature":"e569b4fa591b1a8f2e8bc65df628ea7b8314ea9e9fc4de877bae1db7073f82d3"},{"version":"75d850624f64a90b0709ea1dc2742d4b189c106098f94125af7cdfcbc9db0852","signature":"2bb5816f801dc67b86549dcb0c662be56b248c5dd1662c1042691c7329148f98"},{"version":"4ecad7680faf9f6da12ba4db55dbc6df9eaae54bd199f145686ef897dc7d2ef1","signature":"de8287721228df0725bb5775da05878176c0b7788985dd9784efabbf520e15ed"},{"version":"2fc9963541991db69ae93c38f5170a229671b0f0e7170734e4428b4a8a2abd38","signature":"1f957907589ccd8879d7a77c1d5b0d478a64d866f3cca8de4ae23c1fe26940d1"},{"version":"f527325efcfb6f6a0d9253f1af0e0a32ada4f9c5cac06ca5689927515225c440","signature":"4105893a2351efe282a947f23f959ba55f8f46aa72d55829d362261b1429b42f"},{"version":"753dc412c871f3fdc65bfea46ee79b435fabb41509238f866f6249d44f7c1dcd","signature":"c286b503f750f73cbf22d1031c189fb27e7d8a93ef017dc18d17bbe37fd5dd9b"},{"version":"4051f6311deb0ce6052329eeb1cd4b1b104378fe52f882f483130bea75f92197","impliedFormat":1},{"version":"9c95e20c2558ad91468b2bbcf815cf7e7a2903cadbfe821376c62122d0be9326","signature":"e02396c035032d0a4073bc2b9b1fb7c14aa28ebdf4e8fa5d5e7cb6ea8dabdb9f"},{"version":"d6ad5279f8d296ebb50264aabcbd50a5296edfef7f23ae4c159579028935d119","signature":"48cf5a32fd77ba27774c29824c8d1bf27cfe16081169b1a013e0874292c3709b"},{"version":"6f2d007923eb835494e65dcc1034da47cf8e60aef0554d323273a59b8b8c2f86","signature":"bcb9686b97930d312e851d879aa0ceb39656e4e49b07b8aef72ec0eae03cb376"},{"version":"406af28178f025030a57332cb2a36516048ecab7acf102b84f1c1a84f09d77fa","signature":"aaeb521b6f9317f1358efeed044f7b8c9da2de643c9c444c86efa4b5974707ac"},{"version":"3d4b0d86dc4b587e06fa80da759b0fcbb9b6eb455d163b25d4242d98e11de5f6","signature":"7edc93fe90f8fabb25092054cd2ba3454b5665dc1470229cd49300d2787f9256"},{"version":"0c3ae07df2e7de4fa6bbb6daf668627960296ecf7d0c19508ead42908080c5a4","signature":"183bf79e34031bed56de0ce086fc6dc4a920cf82de16d04361ec84539ca5e43d"},{"version":"fa8896708f7c899af3f718f77f46489b8d3efd15204184f74b878992dd516270","signature":"e89614e458edec1676ac424f0a893a6e87bf5bf38d34a8758b3e4823f0d2b48f"},{"version":"85b1d0061b1268cbaa7efeba177d96bac002d38d7acdffd7a023decbaab2ef7f","signature":"0fafd7d6cde3e37c7c4045f298b00355745dcb2147c0e8d0f1240fba867274de"},{"version":"bb5660a80ad6edc1e4a7831bdc38cb4f70adbf718846aa3bb936a27b62d742d6","signature":"e017494fbef6d93da248b22d25416f95d8412cb4a4e8cb12c7e64495f16de3ec"},{"version":"91d4ebbf20c7ce05ce56b901d34ac84f18c5de49cdcc8b4e2e79416bf5863a52","signature":"00aed0049902c591b92c49af96b5a8d1b3e202604017f34241bf72cf89f80756"},{"version":"f7cde16e51986d5a1361c4d7e36cb8f8089acd60e7b43b7c0cb7ec9d3c58bbb8","signature":"fbfd3cb405fce3aab2cc8b6c68371f03f340b5bedfb22d1a0b46408ca184aa4b"},{"version":"0f55704e7fce1025a74958ce04d7d099a3605ab1ba105c63b7fde02139a17eef","signature":"69652f240dac09436bdaa4cedabd63700a279aaa035b43ade48742fbe5b37d08"},{"version":"4d8d7e049c7a369a07b41963903b7041bd8c88560b55af2b4b6c4fd7be645cd5","impliedFormat":1},{"version":"83f6b233e11c9f2855f7f318f608570e9a45db007ae924278e7a581d7ef99b35","impliedFormat":1},{"version":"7296b6e2f2accbd8ed583ac9fa90c88d7d50ca2ff95a04ce2959d46e6cf7696c","signature":"1fc7a196b7cb9628c96283d1c55177082524e81f5e607404a5ca9a1ff53e45e4"},{"version":"231a843f95abff5b70bf76ded015c4d7c0ff006544d27c9747471a495743c2ed","signature":"1507e471793e1215912dd1ab92c0797ae9259ebf7fd0f3146e2bcee42b776bc8"},{"version":"deb4df42f640706245617d22c38500d0d24e34689f405224004477c47b30a287","signature":"84225d531b0d673c7dee0a7abb7592e937c207fb0393e85d8e9808505e415642"},{"version":"05196723f295c088f92bd93f9edf2f9d72a0e6fb7a468f55aa270214519857a5","signature":"1c7c3f06b140f7f31f69c3f2a6f87659c1a487c552bc733f9de6ed963779a17a"},{"version":"0684c0f5805f8c75a0613dbf6e8d386e93721218828baed8a419dad06db0266d","signature":"a0b2ed7ed78ffb63bdb8c45c49596bf2792676cc3c527c599be027c2d772c840"},{"version":"60baecf2ee0b36e0b6f81536d77774d964bde3e3975c00328874e3b564a97e9e","signature":"9813abe08f8dc60f627701e1576bfbbe8498fa01840b3500ef120ffbe3ece69b"},{"version":"babf8f17c539cd8e5309393275eb17fa2a6790a848f9b6736e3e75b69ca12ae6","signature":"ee79b4e030d4b005413044e47295b78001ccb4849995c4dc59e42e65c509f21a"},{"version":"fea6e19848834ac2c8fa97416625b380176f0fda1396eef00f84d136af989050","signature":"d703ffb3cf86f2e1cf7460554b6fc0a3a0eada0040fc48aafeacca14bffb7ebc"},{"version":"cb262ae73b7b864a9cc5e62142dc12600f5afddafa458e6c26218259d5ff67d7","signature":"433e57f0df48dbb4612309330aee7b075651c0ba5d29c483b17bd92e81cad910"},{"version":"f060e1946eb32ff62b101bbac21a6cd02835440c0892554566d0dde5d4838cec","signature":"036240f98ae8d5e07ad6f648996ff0630d6112eaee5b53fc3b309a1acd7c0721"},{"version":"a8f8ddbbd5a595a3a45b89108072fd7c11afcc5df839f3b2d234ce93bf5ba511","signature":"621d7479105eaf0b7002459dd4a7746134df8f621a6d9e62ac5c69f4b73902af"},{"version":"0b650fd55569c030cd652270792642eee3f4b9198be54d96d072a518cfad7462","signature":"0a82088daf1f69f93a6f03b7ba430d6605a8b48febb578e7ecd2c3564b8d235a"},{"version":"9b015283fd545bc487ff27b205f5f87ad9257e30df4e0137deb8260228fd97c6","signature":"6e0962e848047bf57be651109d9ee3d4e499277d114392e6efdbf60a3863fec6"},{"version":"b92e316d7caef01a7d96aae2fc81bac3411d81aa08c08369fdd79b79052d0804","signature":"a15f6b3477115f885bb24033267a6e06e889bbc393c5ae977513f0ef2c29efdc"},{"version":"883e6a16350e6a237822deb193859ba6f80f68b5bc63d37932eb5a222afabcfb","signature":"4e4f390cf28f71013350ead1ba25290872b936b31244feb495c7da040c655c54"},{"version":"20eeac8a87d7e85f13f2ce118073cec7275054be646bd47823f1e9cc8951ed4d","signature":"9f2d02e65e22f5bc32f727fb091f17315fe58a8792d8280ec59ab072272e3376"},{"version":"88f2985b43e7af3d4dbcba54e609861fcd28cef3ee74ca4d54e82917a9165b30","signature":"2e54daabbe58c730286e014d2bfe4a80b6d533a2bc9c5ab6fb1e3e654d3a4872"},{"version":"64f34c73cf3f325021c95d431b2c26a6159c9e88027d4a2db3ff375e32b75498","signature":"2a39da52aed89ee43bf5dcadf72fc7ab5d16b8dee17ff890bf0ad3b72a0320c0"},{"version":"15e9ece6b9f5f2ce89f2ec8a96bc9303b35f07374b94005eb2443efaa0c6a49a","signature":"46676fa7ca6a5b6552a61d40d41f41eebc81cf838c14933cddd35203d298b874"},{"version":"01a89afe9eee9b7588d59c442a2eb2b12595aaa9222bd46028c1c5d22b73acc6","signature":"1f8e872ea16e6ef3029e47f25725a22c286734fcb4a88ea2e13c437e905f0c21"},{"version":"735af8f14d6e3866b5863742bec289903bdde848ba8754fb628afb54af74d5bf","signature":"6058d5942879388147f8aa5e9c2713af05d0f1680d7ba91d1999b97dc6b5ca01"},{"version":"1c83c59a36d0768e846c2a106cd58735485867c006eb8f9c0a733620b23b19d7","signature":"29df4852e710dfc4ccf300cbbe4f3ed1e109cc09bc55d540eb40bf2ef0906d0e"},{"version":"87521c7d3e47aacb4713b705f417d9d6d1ced8c7f8806bc63bb7e3e83996c0e1","signature":"aa5b770dd1b4e7ce9fea3c83330240ac673f9913a0535d02994bc0511eb85cf9"},"98ebfeb0805807ae08415404af1b664e76353e70e5e71e6f086c7ba264b76fba",{"version":"fd79331caf4d1c981f82d179a8f8ee1f5f9db5485b5960d2ac5252ff91ba195f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ec213e4001fcd5e8446fea02e4a123873df592e8205987405c0e6664886104fd","signature":"f5ff573f4a6451fc2e8c7e1e6ceb8537cd0f25338065baae8a5735c24f22d431"},{"version":"c38e3b9be1619f15bec612db3c9867c9e3435bcc9798dd0d8f6342ab0d8ae946","signature":"e8f50d40694344b6b22ef6d4c3d5fe9347601c7a435fb7e60f820bf37d881d0a"},{"version":"1d25e7af5af3830d0cbc77493b047838dc152a775920710be72c3c8472b980a6","signature":"3560dc1bdf53f078348f0e499ab1e3339be7659310d92861fba7a9277024ffa7"},{"version":"cb83a4611b876ddcf649c18d80609654bb2c80fc160da1e7539cd3be15811a60","signature":"4220ee655e09296874f3ae3d3145efdd76398677bfa27fbef8e133c1b09cf50d"},{"version":"51a8c66060d8e08fa1607e33758afebaa47c542b40cf7091a791218255e7f769","signature":"475b03ccd54597a3115e13c07c1fe8ac417f6f6857d485114a00039d5d1ea179"},{"version":"817f663192fcc81412090c3e7167fa81c63eab9ea977e6a6ae8eeafb8742001e","signature":"77ce1243fed91f1a9f7be9c18192af18f4ea1603611a3dac2ba4f726c298de4c"},{"version":"4c31fd07fd4e530b6da7febec131d259907d5e179ef3bdac0a4a43cfa56b6935","signature":"b1eb5e11871638368fc4cab710e40fe4b23e0f7e9d4a6e22052edfa50d185fa9"},{"version":"9c5d15efba9e25be56ae6fe11057225c74316fb0c90e7d34b81ec8f633a9810e","signature":"a68280c12af5525ec8003356652c9ce50a24a6b3b6fc83bf793fafe60909fdbb"},{"version":"b02c8a9ebc617e95159a1d928fce2fbc345f3e9ccc9f7f6684195d8f8d9bab5e","signature":"45e169847975d5baedaaa5fbe3da4bc92db0b90a305f2536491b7a4a2d262341"},{"version":"963c32aa76aee7050bf4b5749bec7c775046f03bcd791d54992b3345f7b80e2e","signature":"66be142f9806a1a6a875064f7a0416e1ccedcdcf6a9a209b1c633e475b975dd2"},{"version":"9e473cec8b5dbb77baf8db593da0a943701f1edca3b3b1ac81af9ce178dac9cd","signature":"219dfcb98664c09e2a901a0bebd0a1990dece13622fa81b99a4fd16e6352c936"},{"version":"10ea972b401fc77b7e35429345f02bb02dde34fc9d7d1fc3232a187f5b52facf","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"69279cbd59ae9184fa85b749a8140a32e399619c54b7287d110cad186b43fe94","signature":"6b7a488ea9736285031d11639f58c3e080fbf7cae75a39ee3dbe7cff51bbd89e"},{"version":"fda7c470d52c9902876db4ce473a6764f82caac8a1d7070e007a05225482d102","signature":"b0622840ee494d5ea03104b190fc294a83cb7e0c31645fb359189c4d89834dc6"},{"version":"deedf74299f7bcb54fa7b1bfe8591ae072fc4cf1f750ae9801e44f114620cfe2","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"0d29ff571f05d9f1c9ecabd53c10cb9bfcaa313b3b64612593bec64745c4d224","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"cd5944f91eaf3e04d8c66d1c7c44508f932ae86fc033403193a81a0e3a95e53b","signature":"2630a9fc3e9a2205f1df08e9d39ac89290da5a35ab782d1504364baa70c67104"},{"version":"3ab2b6455439badb3d984aef6d2519029dd8595f19f614654072798269598876","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"a8f3b78fbcee37a708acd2a86f1c22645cf34b444cfd7459be341415228f4b63","signature":"14fe776ea9f72086fe119d5df096c39513d6bdd3ba1615b8d9f5cbce35933f54"},{"version":"f14799e6e43275054eb876159fdcb6c55b4e76808911ffdc9f81a2e3e5baa564","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"aeabfd5da8290656189b20d20600d0df6381dc3881c381b815807e9fb745f5d7","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"3dc95ec98d2db484ccbaa31a47c2633bd619a4d86fd655739ed248f081f49f07","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"6b32764a0410770ea2d05907024bd8ef5044fcc5ee257ddaac24e5a09de8ac91","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"9ac8c2249f0a97698a155031023e87eaa74c871229e36b51c3c83fd1a0bc92d8","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"35d7cacd428e674f89a928ed99f34ddc7c36958b395627a9196a8ba22618a29a","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"69a81ee2b65949687067f23e7d5ca0fec2110620ff93ca8b92bc56740340b760","signature":"bc160a1badf1d1e0e9b92666b4848dfdc428b553d00ac5d2304b7ad80ac4cbea"},{"version":"5f44765c75000e8fea925fba6c2ba696386103cab9d813e72070cdcf45e1f804","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"b11dcc6b3a1e92851fa7626c01c543833b96a9f37a29d80de6f11b320b626c9a","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"63e34e9210807a4d1af057003031a6689dd3295f8f2524ae7597ab27f326335c","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ad7e4e17c67808e01a84f46591f2d4b763173ecc84a4863a727b7058b5786945","signature":"b7902bfba5bc8b901152f1ed5f8d9c2cbf2ba2790d351e5e5d61e00bdebbc624"},{"version":"3e5b494cda4d0ac2bce024928f0eacc77f8d9e4ac3d51eadde967ce542efc27e","signature":"b94b0bc72e5a26387c9314dc4f72106bddc0e5056469dcf4a43a351c1523c49c"},{"version":"1c230948c8120cd778cb258a0b70eec899b458db58229de16a2951a7ebdc57b8","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"0fef5a24cad5c4948eb776b00fa114e2560ce3dded3abc27db2e2b2b66832331","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"2cef84bf00cbdb452fdc5d8ecfe7b8c0aa3fa788bdc4ad8961e2e636530dbb60","impliedFormat":99},{"version":"9e2f5dc3da9d83bf4a0a9e5d39d8c9918482d586e0c403a44021e4ae7662697e","impliedFormat":99},{"version":"799003c0ab928582fca04977f47b8d85b43a8de610f4eef0ad2d069fbb9f9399","impliedFormat":99},{"version":"a62e448d3f09fee63ec1230acb23fb54f8f6ccf8d6f0001c7b94fd51594b7c9b","impliedFormat":99},{"version":"5366549884acc57185eeeb64561c2060af008230a8ea645f048f747cfac6549c","impliedFormat":99},{"version":"cd3229a2e4ca10207178e22f215c8e196c837254dd34ee440612a2a14993ffc2","impliedFormat":99},{"version":"73b7e3d5300ad64f9231f5bb145fca4892574d85e2d1a015ce095628f16915ca","impliedFormat":99},{"version":"42944c2dd3115e25cb0aa77aa05fe9e3d0f8a3b4ac251896cc680b7be41ad60c","impliedFormat":99},{"version":"7ed8ed496092801dd5f25f39af223ebeddc97bd64a7d9a5621f790dbc836eebe","impliedFormat":99},{"version":"abc549dfea982be25e0379cdcb6ef2aa6716b0013c11d8d6b14c814cc955d7c8","impliedFormat":99},{"version":"0e6ba4003cfaa90748b69ed0dcc9f99299d1af70f4bd835a872e52705b0c850c","impliedFormat":99},{"version":"3decd4c8e355126e76c9a43cc7ae08017fbcf1d766b204d696ccdfa5128de1ac","impliedFormat":99},{"version":"40410f51558d0b3d635584333fbba6b58b4b7f74037f59a08c0577828539637e","impliedFormat":99},{"version":"096350f9446ef08832b935d4a97c66f74a9133faebd90a40a12abd5f8bc7eab2","impliedFormat":99},{"version":"26baad6aa356ef75b2e1ee150ef6325988be9700bba14249f9e8d0f66bb36087","impliedFormat":99},{"version":"237dd4f246265a3efb18c3d40f54f98336ba2c329a9f9e30b4bb0f1a27baf324","impliedFormat":99},{"version":"3fa62b954262157916a65b3dd57faf6cfec7544579e673204da30eba00852543","impliedFormat":99},{"version":"8ab0b13972c8018bd18d49236b8c08448a38c823e28f5620b3ef0b43ff521589","impliedFormat":99},{"version":"065dff95b2b9cd6f5f7404222ecdbd371f15c22b844b731eb32286540f499d2a","impliedFormat":99},{"version":"d1c03f0339b8514b7d5420e075684e6b1dfb9d6c27a7fc6fbb09bc3f25fc7764","impliedFormat":99},{"version":"f8900ddf4a4944cad4a81de965c4761094758ee39bfe24198668c397caf5db3a","impliedFormat":99},{"version":"b2b8376bb1ac24155cde89574c32edfdefdb926845d9426ab52815421b3d19a1","impliedFormat":99},{"version":"4e805f78a8acff48feea70836df232a6db887b2e376492666f6b70985fb706fd","impliedFormat":99},{"version":"cfc5a66408fb9a7dd136ec2afd50a3eced54baa3321c473ee4d29046e761a3a2","impliedFormat":99},{"version":"594201c616c318b7f3149a912abd8d6bdf338d765b7bcbde86bca2e66b144606","impliedFormat":99},{"version":"35c190fc184fc2fdca132bb8aad00ac84819f135428b0e906c3e599c74125d24","impliedFormat":99},{"version":"8f567d63ab28f074ab2be3ddc2da27107de8022488f4a3bd91609752045bb612","impliedFormat":99},{"version":"f6c7ae690e2d224a310c8f967cdb415d8c7c55791a30c00da30e0c19ef4def49","impliedFormat":99},{"version":"f0ee7287284a844f4d04b80ae7a955b12cb50f85fb0021a78cc7f20a90459823","impliedFormat":99},{"version":"956e7dae5b888d02ec65dfe4113b541042cd2c70f96f6b9de0a5465bdf9565fe","impliedFormat":99},{"version":"75722639ade81b4d9a9a7f67f9cee2abbb68c52367322fe4fcd51949dbf60706","impliedFormat":99},{"version":"f90d3104f554535c4bfcf9d429e41318563c40b3b7e0827c0975624722546514","impliedFormat":99},{"version":"c61b9b3f161eb34fe5ed7fd3bb84f0774d74445928a06e9089ddc0a152f2a016","impliedFormat":99},{"version":"17268b7c5aed233ecafd22ac3e751c3aafc101b7ff982de8617bf19fafb7058e","impliedFormat":99},{"version":"bf6060c0585e76d2670629cc4c592e1dd938ac356e974916ced7f46587ba8181","impliedFormat":99},{"version":"dfe68566e870382e203fbf082e3e094b3d3d6712a3b6bf56fe66f69271d27cce","impliedFormat":99},{"version":"f230e4b9b3a7c27975a8af6131b08f6b17505e829073a3faa6ebff4a163090aa","impliedFormat":99},{"version":"e89ae5ee53771a98d89105723fc4dc73205bd96bfd2a784597b5ec6c2ed35abb","impliedFormat":99},{"version":"7f79b823d4b2a1fdee3a799a6a46792a21e4400ed0c2f45f1e1a9bb8de21d18c","impliedFormat":99},{"version":"42b828f21d7b672495a1f538ac49e93ea12da980d07d28999c7eb8dc55f297e5","impliedFormat":99},{"version":"35e7486045f8a29b25ec8adad02823bb82e0876fcce76228bc683e0da0726e98","impliedFormat":99},{"version":"a43f4964d97d0feeb6b33944f750707dbdb539e1c9c3a0496c40789a90d7e0d9","impliedFormat":99},{"version":"8dc6b9b1f772053689d3b298f089ffedf29ee93be2eead0d9c07d77e68aad9e4","impliedFormat":99},{"version":"b44e0ca6cba9c3f98a1b277e93dedcc31990c57c08f0fb37c29eb929afae3a49","impliedFormat":99},{"version":"e236485fde7c092508a177ccfef03ba15ec72ac697b50e241802d68dd99c5f73","impliedFormat":99},{"version":"b7ea66bd111288844e2d0cfb12abc02242af0786a83ddde14abc156a7f80d500","impliedFormat":99},{"version":"83fd9ba9e82b881f410b69b30d4fa9e41b1b6e445e4d7c7eaec836d4cc5a5712","impliedFormat":99},{"version":"ba2733b454a9756b8207e110896e4889859d4a23581e54fdd659f09267a63ecd","impliedFormat":99},{"version":"d94b9c4da700bf7e011fbd442c54b5c88a52db58bc71bb69db67f46a1c525320","impliedFormat":99},{"version":"bb19a13fddc505d633b9d08340c851a16638a3a2c6ba4971d538908b0cce8671","impliedFormat":99},{"version":"da588a0328ea4fa648563415d1ee4cad0587e3d1e1d29cf54d761fbe83ed9670","impliedFormat":99},{"version":"673f71885a78cdf431dd29b801ef2f811a2c793b415c44e64a55489ad010f6e2","impliedFormat":99},{"version":"4c0c16f5d60671e0654e560a94cc549a858a5fb9397a072d3f9935b3068be740","impliedFormat":99},{"version":"2cb58371baa22dbaa02e2abfc40b5640f00e7ed203e70e97fa20226a776b2e16","impliedFormat":99},{"version":"29db777661a60ea3a85cd21ce29b0bd877bb44f52cd583f9f3f7580ee08d4fd1","impliedFormat":99},{"version":"cdf79d50d5ca102a6ccd1ead392b0f5ebcb9b6c8b230e4f4931f0fab8b6ff3c4","impliedFormat":99},{"version":"6e21729eb1f94c93f99d1c13492b6e835e5c2d2ba552693c1c699f0e34d1fa1d","impliedFormat":99},{"version":"8267fbe09febe68384466808d3feaf055ebb7b15903728d23e7fb4c01949148b","impliedFormat":99},{"version":"54e45f5f4f7684c5c49d3e6367ba73c55c69f82973ecf7aca793a86bea5a99af","impliedFormat":99},{"version":"55a9664e49c8e8db27d8eb413749957eb222485b91b1148840a73e065ef6c028","impliedFormat":99},{"version":"af7945629e88f161817436aeab27906b947cea60102066575eb31071b4f84168","impliedFormat":99},{"version":"847b7eec4ffc81b7eaa1bcb473fd5da4aa73ab7e56944df3caf7d284317e95f3","impliedFormat":99},{"version":"5dd262cbb746c2a4d0a26f09369b3ede4a1a36e15c272adfd0289c47cef81ad7","impliedFormat":99},{"version":"677e4d55a1353f1b83ad68faffbdd91ffa7dbc34d67b1e91e88d3ac71b88be0b","impliedFormat":99},{"version":"21ba9b6a4c6dfc6dc403884d34dec961eeb965a4e0c99521ba2b3f9929e26b75","impliedFormat":99},{"version":"452a373c93cae3a20fb8f8309ac48b40cb2a33f05c3d54b090582ce3b8ae96c1","impliedFormat":99},{"version":"112f147e1f4b44b4a4f186cefcae4e58c49d6a0a61faacf7a12f55694b9f2232","impliedFormat":99},{"version":"c293793b601177e19a4230a9ecdaa167e6a44c93147da549941eb8e154510f4f","impliedFormat":99},{"version":"82ece43251947dd304e6f5dbfaf8b97588e5676ddf0bc0fc1a6a861aaa3eaf7c","impliedFormat":99},{"version":"f67c58823afbf2590f2c239d09a46aba9d3456327eee05b593c48ee248758ce0","impliedFormat":99},{"version":"e2647503f56e5c6d41b256af0b17ad3b98455cd8b852ba7336221af5fe99d805","impliedFormat":99},{"version":"c2d12e71e905f9ae80895201ae4b52b0082716d3177d794799f0140c3bbdb65c","impliedFormat":99},{"version":"668eaa98e8d54dc5a22d7a66d659a47f0b152e7b109f798cb295a3c3dd817dbb","impliedFormat":99},{"version":"81d447a1f248a2345a89673774ca673e79da5df8e25c6fd6bffb495d3b704362","impliedFormat":99},{"version":"900f1f5341752c6c2824ea871ae941d60be1359793a0284e56abcf277955a511","impliedFormat":99},{"version":"00c8b548f04329a012af189dfd8e3f3ddd8d4fb187f4fd22fdeba5e1eb740d92","impliedFormat":99},{"version":"919ea552c5b52ac5c8303a96dd7357986a2597de5760416468550b659113bad6","impliedFormat":99},{"version":"8255114fec0d6189524bf52d90580a2fce40bdac621215e562aa5f5b058fea33","impliedFormat":99},{"version":"6020d3e324725ee474aa4637005d2449eb8bce66e8aaf85163d683df86384dd0","impliedFormat":99},{"version":"d95e4069a535a118c22ac66a8b018818f9f74ca7000c8eac977dceaf752d0f95","impliedFormat":99},{"version":"5d8097f4e2588d7912d82772ac6f05ee6def5b738f5e4605f2e9bb24d26b4e86","impliedFormat":99},{"version":"6703ee0cb2405fc9e98a8835e4266ed4131fd25c31bcc0c302e66e9b05271eee","impliedFormat":99},{"version":"4b83d4ffdcb29aa6562749ca797b76a3b914d80f54819c6a08f1014fb6841623","impliedFormat":99},{"version":"41ecfbc96066dc0d03f1a8139e28b4b3297bc231257d27a7c5796d017962a438","impliedFormat":99},{"version":"46e060979c9bb359578744342c37b843529c284e20ebc219bd71d5fbc04b3704","impliedFormat":99},{"version":"720b258293ffe0939688db7b4729d24f64809718157b14ae50fb9e2397c69fbc","impliedFormat":99},{"version":"1273795a90591a538b11c91a7840b1facbb5b6d500146cc055324a16f58c0346","impliedFormat":99},{"version":"a06814aa3f18bf501a7bbd1cf3ad9b1fb090cb89b19375debf6ac3b906ad9090","impliedFormat":99},{"version":"785afd3f604c75ef24a65c0f2ce4b3ce2137f941773c201842abaa7385b12e3b","impliedFormat":99},{"version":"ee3bfff84df83f9e3cf0ec85aff97df52fc57e740e41fd4780de1cb3f9e73780","impliedFormat":99},{"version":"2025d7779d9356a37ed4142da93898d39f811d9c5937f8c107f44ab2344e87b7","impliedFormat":99},{"version":"471b3d02d1af08c6b58a9a2ff5c85da205910f782a7783d7a1f59dcb681ee8ea","impliedFormat":99},{"version":"e1902decb3f07a58e9be70b5136e3d715997025e0f0f20cf7e2610363f38ee04","impliedFormat":99},{"version":"323156c80e3ac6175f4b75952ed871ead30b58b9ec463131e368e572d89777be","impliedFormat":99},{"version":"7c54717447fdfa134e43c6f1a71f8ae4e955538f9e59a8bbd60eb65f5bb965e6","impliedFormat":99},{"version":"0d153b01d0b1e33ad2b8c778765c3f3539a3ffaa595dc3e9d53d91cfe5615f11","impliedFormat":99},{"version":"0ef8dbf7f717c2d8912df768687073cda1d7ec73ce2861fa8ee30ea8c15455e7","impliedFormat":99},{"version":"355ae3751ad1378804c850b212bbfed1bb68af9e4cde0cde857b86c6cbbe2140","impliedFormat":99},{"version":"06b02b230ad18789680a5d286d55d566451973456fa33b63ddff6c9b2c2ab41c","impliedFormat":99},{"version":"971f0be2884711cdbd2dc522224ba68db24abea620e9089b5432a9ed73dd406c","impliedFormat":99},{"version":"1e45c92c3241e189027db53310d5b3b8d713fad08ca6ec5f8e0734b275b6dd76","impliedFormat":99},{"version":"a374180a9dc60b15b4fea69423ae9d8e3cdfdf604e8cb314325db23a2a8e3cf9","impliedFormat":99},{"version":"acc82e49137ccc0be7e523164613032cd0a35a08b38721138a228926539a33f8","impliedFormat":99},{"version":"990951a94433c2efe6e42266ebd096f63154115a37c1f4e5bd37bee57bbd3563","impliedFormat":99},{"version":"b65b675fe2b1ad0d621ce5ad94e9fbdbd16b17e8afebe2863361e0d028dc73fc","impliedFormat":99},{"version":"1bc87b80ef30a78d0cec6f6c56ad41b68a8f03d30a7052d1a0f1e946f5eb5150","impliedFormat":99},{"version":"79ace3491ac2d2585e2e3748827466f99d0fe06acfb8cfd7bb5ac6e272d9b742","impliedFormat":99},{"version":"f51bf6581de40babf85946efb37bf4bab0a5357b46b4a0cf904278f3b8234350","impliedFormat":99},{"version":"c728002a759d8ec6bccb10eed56184e86aeff0a762c1555b62b5d0fa9d1f7d64","impliedFormat":99},{"version":"586f94e07a295f3d02f847f9e0e47dbf14c16e04ccc172b011b3f4774a28aaea","impliedFormat":99},{"version":"cfe1a0f4ed2df36a2c65ea6bc235dbb8cf6e6c25feb6629989f1fa51210b32e7","impliedFormat":99},{"version":"d94d06e50f58be0a417ebc0336be0c51e5aeb06cbb59ae7d5d4cba95e4948418","impliedFormat":99},{"version":"02246d22f0fc51c76534d953f606aab7c012d1acdb182f822c8ac8a37926a72c","impliedFormat":99},{"version":"0166e0f095473027f6f8744378f5ac5cb6557e788540fdad76e0abca9eef2567","impliedFormat":99},{"version":"f950a4cec73ccf53ee3c56f117e5c585872bd13328c487cdf7a614246feb075e","impliedFormat":99},{"version":"f325583644b63525d1c4d22825633c220e478411d813f134d5930207cdf8aab3","impliedFormat":99},{"version":"e25a05c0fd866cf73c00a281ea11bb51fa8d2a9955f2edf8a7b8f3081b37c165","impliedFormat":99},{"version":"2c86f279d7db3c024de0f21cd9c8c2c972972f842357016bfbbd86955723b223","impliedFormat":99},{"version":"df6ccc0d7f7324035b05a6294404b310a23b2f07fbbebe1cd298f88647ab8b6d","impliedFormat":99},{"version":"8cfc293b33082003cacbf7856b8b5e2d6dd3bde46abbd575b0c935dc83af4844","impliedFormat":99},{"version":"62391e62217e8a22a4d5f3ff123912bb4d182598e051f31b287096d187cbaea9","impliedFormat":99},{"version":"81895ab68da9cb1656eca90934f01924181d57439e980aa3df8c788488363272","impliedFormat":99},{"version":"cb1ee5692cfe21d8865ab74cc64aeb2f3319f2c2ea2f63cf2662b6319160beee","impliedFormat":99},{"version":"ef6ed27ceed062efa353f3c108dd31d3e4e83e222ed9e18566fa85ed4600e366","impliedFormat":99},{"version":"faa076baad26c7c20856aa86a22c8afd9113f0bc47feeacc680a9e6d4493ea5e","impliedFormat":99},{"version":"782d76ae47ae31c1169c04d93f11e6e13b50c704833517ffeb933516abc4dc12","impliedFormat":99},{"version":"9036dd2d0b09989692fb0eb69b5142647a709aae1f2bfea464701df33758345f","impliedFormat":99},{"version":"14eeb7d5737bc074d1020b7648358ad0488dfb576aa82937e8447586c1b02bd8","impliedFormat":99},{"version":"73b252fae9083ac46b9f2fa376c3a4f5d2c98f5fc0d31922e6d74e7a416f1034","impliedFormat":99},{"version":"0c35ff99747044453c64a4fe3e0e813adc45e67c16d6c47a39cda7d5b2c45764","impliedFormat":99},{"version":"a127363b7f50b5ce89ee98b2faa52a3e7247af32785f937e827e9ee32578d803","impliedFormat":99},{"version":"ae9e8befa5a81361fda14b5c44953b69a6b32abed1e9c62c533230796ba2b39f","impliedFormat":99},{"version":"f3eeac608cb47badfaf2218914776864558c08a392fa626d3a0ad678b0fbfe38","impliedFormat":99},{"version":"2c05477216d0da559ce805e5b5cb8f3c72e1897110886a0fe22808ac37a2f5f6","impliedFormat":99},{"version":"6307d21b4a02a9de0ec25ad7c8a36bfb3a25d38adb1dbe877f7e73595a4a924c","impliedFormat":99},{"version":"cc78721e9ec12b7b62352b8bfa1e37abe055c17965d5fc956d4edccb1bf4f673","impliedFormat":99},{"version":"53565e07ff42ff137d862dd402cd1799785904a50cbd75fbf8402d7ae76fb6b8","impliedFormat":99},{"version":"c8c4e8de61ce90831b7342b6e4800a3e70f4c06eadb17dd743e652ece3562ebd","impliedFormat":99},{"version":"37ed869a9de36bb1ddf343286b5cd0e0afaddd892ba28e82fd652b7ee2c46dec","impliedFormat":99},{"version":"5dccac21bdd7a3a3f399f2a0110bb1bb22a7bb002e3c4a3403f781299faf3f53","impliedFormat":99},{"version":"976ff2cb836f3b64382f2090462966b6b82a059b8d90c4eba54ffa2021e5c150","impliedFormat":99},{"version":"9432e9ba2ed3ef0169d133a2fdb113002be901691ec78ec9d2329c12c16d5065","impliedFormat":99},{"version":"f7e369493bd11921421f51025608f6450675e5d5fba73a1f5617c96072449ab9","impliedFormat":99},{"version":"0919c74e404e0f876c1687425547263ceffe5cc184404492ed2f8deb8a13cbcd","impliedFormat":99},{"version":"7df13a374704470d39a931dd1fa3602a3bd1cadf064115784e4acc3b25e6c24f","impliedFormat":99},{"version":"36944fe70fea641703d40efab3585844c0ed20ce7e783fdcde90bad50bf77f5d","impliedFormat":99},{"version":"cde65d40e64bf0aedba644d8841fba8fecc6f4793d7e4a4364be954bf273ec0c","impliedFormat":99},{"version":"ab9a48af27d31f50da02f40b83b2e8695c4ac28bd446f37d34d5ded0443aed3e","impliedFormat":99},{"version":"0b1a50c36805a5f3be773ea73339750c3619a7ac53c0f441f5e9f1cdfbddc695","impliedFormat":99},{"version":"b85424e3eeb4843556cc1838289e1d3aafc8907b44fad864f228e2abf1af55d4","impliedFormat":99},{"version":"0bdeb9f8d6472b196355591ea4a4313cef5434d24bc79c6e5e733132380b87ea","impliedFormat":99},{"version":"91fe1b91f77a6080c156f0f6af3f6b12524f04604b6e0925432c48f7ef58cfd9","impliedFormat":99},{"version":"9866369eb72b6e77be2a92589c9df9be1232a1a66e96736170819e8a1297b61f","impliedFormat":99},{"version":"e84281e45703810be96251405f8051317362e453f39f26e078cde8967fd2945f","impliedFormat":99},{"version":"0bcb04a160a2a2a934480e3b899b1d2255970b25ffc7408a5d07aaa07baf2878","impliedFormat":99},{"version":"8e3a9c17439b657424fc7e311943dcf9444fbcac73f3b9b72aec2f449a11e203","impliedFormat":99},{"version":"a6c3df80c7c5e8a15e302df97c8a35b1deec48f6a8639110663d6c85ea562fff","impliedFormat":99},{"version":"4c69a93a4645185c445f0050939645592d49f2b8dbc999ff63176c607f3dc319","impliedFormat":99},{"version":"0e2d2919246a4491005fba1612d101a68dad27a5592a77baab1523b2de335cc2","impliedFormat":99},{"version":"c32be5821ff157b2845dacfb257531e932a1161b933e6cd1cd0a4de9e057bdea","impliedFormat":99},{"version":"eb14bc57e220517c752f74ab7c810b72a80632c26eccbd7af690ed9ea7b5ee03","impliedFormat":99},{"version":"ee0de1f85e4fcafe9019c89085cedbde41a22d4492bab87623eed5afb91065ec","impliedFormat":99},{"version":"588b99d933490c59f0ac74e43491ec1b71348b049b1a391f24318b84bdc17b97","impliedFormat":99},{"version":"d78f57a7b922e855a90900275fc93805e07f8cfc7689039840118eb6bf6f0057","impliedFormat":99},{"version":"3c20a3bb0c50c819419f44aa55acc58476dad4754a16884cef06012d02b0722f","impliedFormat":99},{"version":"82c69793fa09d8b58a3589f08c7d16163c566cca5657dcc45deaf5160f2c0e95","impliedFormat":99},{"version":"b89268c927a997e32030d8d8daeb0ee65a7c7db40b167a39296459e114ba7511","impliedFormat":99},{"version":"fb8bc4e79a3b9442dd3e8b1bea89b3e0ad93dd154f94fcb7ca81f511c7c06b65","impliedFormat":99},{"version":"b6c9a2deefb6a57ff68d2a38d33c34407b9939487fc9ee9f32ba3ecf2987a88a","impliedFormat":99},{"version":"f6b371377bab3018dac2bca63e27502ecbd5d06f708ad7e312658d3b5315d948","impliedFormat":99},{"version":"31947dd8f1c8eeb7841e1f139a493a73bd520f90e59a6415375d0d8e6a031f01","impliedFormat":99},{"version":"3a4b1b3e62543a3955e1ad5cddfcc59b25074f722d5dbf7aee1971a43de8acd2","impliedFormat":99},{"version":"19287d6b76288c2814f1633bdd68d2b76748757ffd355e73e41151644e4773d6","impliedFormat":99},{"version":"fc4e6ec7dade5f9d422b153c5d8f6ad074bd9cc4e280415b7dc58fb5c52b5df1","impliedFormat":99},{"version":"3aea973106e1184db82d8880f0ca134388b6cbc420f7309d1c8947b842886349","impliedFormat":99},{"version":"765e278c464923da94dda7c2b281ece92f58981642421ae097862effe2bd30fa","impliedFormat":99},{"version":"de260bed7f7d25593f59e859bd7c7f8c6e6bb87e8686a0fcafa3774cb5ca02d8","impliedFormat":99},{"version":"f9d8848e3c6d82c1e348a9e5cc531e433be58c4ba233a6683a4e9bf6d923a462","impliedFormat":99},{"version":"48a3ae8b6325c87135a210f6d6a7ce15d58417870a2ad78d70858313c47eee99","impliedFormat":99},{"version":"9822da8046d00ef9b8a230345cc163599e58629112081ba55cf4f8d88ba5bd93","impliedFormat":99},{"version":"260a0f4a8a6dc69a2dec8ea672d702629ff7624d5684b29be55cca02a3e42e7e","impliedFormat":99},{"version":"9789d7263d261044cf33f0bb5fd31a2f4ae3a4cc2a010aa45db6f7d01fb019fa","impliedFormat":99},{"version":"d81f0485800e8813d917c2edf184ca3a7fdeada1472cad6dc41e43c37e240800","impliedFormat":99},{"version":"f59c2a64fc652509e0cc56fffb59d7b81f4c7950c7dcfc2da44b681637604797","impliedFormat":99},{"version":"ac0d6f9d09ee9ec076ec3045d20f0d6f5b32300d5a2fa05b5c5a9b6492c0de1f","impliedFormat":99},{"version":"1d8a6497f663251332519c392c6053d5b5e93e5a2189e2669620851b93fbab65","impliedFormat":99},{"version":"52f2d4cea9e3b8e4821b6ca71077ec5f41316d1b3c7d599ef10fd7c8c839ee09","impliedFormat":99},{"version":"013d7f1c5798ac843bcf24e6f3d97efa42c79f038da9cae4fc95ec686b3087ce","impliedFormat":99},{"version":"83b28136beeebb45a635f0179b828e0d0ec9c59330db43060c5958d796e35ddd","impliedFormat":99},{"version":"81c1ea7f9b00460828ef1c92fbbcfa9ff0a7bfcfb2dbfe2510bf7916c914fa75","impliedFormat":99},{"version":"6cf0bf08cc2ffa6d25c7a9852e58f7de9b26122a42380a89105c201e8bde13c8","impliedFormat":99},{"version":"07350c1be768f0446138cf700b47a8aae8e2f6d828310e519bc500200d519a92","impliedFormat":99},{"version":"4253e0bc9530f4c0eec62d1c566350dffef04ab26d0f72befd2ddc08ccb61925","impliedFormat":99},{"version":"9237ce9c67ba997f8cdbc795be7628c1eafefc3317260c38c1e2df4ebd63a62b","impliedFormat":99},{"version":"1ae2b7f6a1352e73754401f16a7894c1335f3fd199acf4c473274243f89c3230","impliedFormat":99},{"version":"ecfe3af749f3c44ab0fa260d7027b067332f0841bcdca1c8db75eb9b1890bbb5","impliedFormat":99},{"version":"94899ca690be8b491a49004460b79426162b218ef26948625fc025cb40a092e9","impliedFormat":99},{"version":"7fd2e48e2ebd92a381e745c7cfe58003969296f7d0cb0109808e6e867bef6a4d","impliedFormat":99},{"version":"98d7fcdd7c0c682528a70f6781f7a00cc0f314b720d1b15996f223c74dc0cf69","impliedFormat":99},{"version":"155e18326afb2fb26a380b480e0c892cc85cc9449537b3346fcf5aaceeb953a8","impliedFormat":99},{"version":"523d1775135260f53f672264937ee0f3dc42a92a39de8bee6c48c7ea60b50b5a","impliedFormat":99},{"version":"e441b9eebbc1284e5d995d99b53ed520b76a87cab512286651c4612d86cd408e","impliedFormat":99},{"version":"f67db9e9b24275680e88888b618e0d6514a40cef9aec2b6ea8eb1de899f97933","impliedFormat":99},{"version":"0968374af7bf8bf67301b89a4fd4bc8594dcb90b16b4be06ee57d26a708bb776","impliedFormat":99},{"version":"f57e6707d035ab89a03797d34faef37deefd3dd90aa17d90de2f33dce46a2c56","impliedFormat":99},{"version":"cc8b559b2cf9380ca72922c64576a43f000275c72042b2af2415ce0fb88d7077","impliedFormat":99},{"version":"1a337ca294c428ba8f2eb01e887b28d080ee4a4307ae87e02e468b1d26af4a74","impliedFormat":99},{"version":"98a667d4585d5b040af90fb5062e31da7c215abcb47521ff57e33f62755fdc17","impliedFormat":99},{"version":"c29e02568f8b68e62b83db2243e4bbacb5ced2d6c8d120e322b56a018d1070b8","impliedFormat":99},{"version":"53c8e58bcea418aa22f5ee013774c08dfe15f0df9625868b7ce5a7201de29785","impliedFormat":99},{"version":"d56ca5a8aa5dd4937a82df98dd930ef154f340d259bcb2980d36c28a47ff2901","impliedFormat":99},{"version":"3d421ded6ae2260cfd45b230eabe38b6c8498a1a35db809384c85ff2bc3ba822","impliedFormat":99},{"version":"ead83f43dcb956f13b924b9e43e7a64380f830efc67439a9e9e479bc985df8f8","impliedFormat":99},{"version":"d04ba54e15442a067fd28679bf18d11ca2162d64f3b0695b9ddfba2b8e1c3b59","impliedFormat":99},{"version":"6b6cced9b26444d621bb62a1b8cb65911c22505fd559411b5a57e699c7aa519e","impliedFormat":99},{"version":"dafc53212e800bc9bbfed7f3a7732ba8f401516b2bc0c71b2f601ae2583a007f","impliedFormat":99},{"version":"940e51654c3c1967f34160a9674e3bf1dc436a5d36c5d7833718aea235e52fda","impliedFormat":99},{"version":"16f2023402fd0a4eeac99edb5d75d3dd8cb4b2f25f46e9bcdaf0c0bd9670e77b","impliedFormat":99},{"version":"9d7765384806b08a522ff85c20184667eec635fdb809736184da23e89533dabd","impliedFormat":99},{"version":"d53593a008e289638eac5b0a0dfbd4296233e395205831367992a87e81eda13b","impliedFormat":99},{"version":"aa0981acabb92a87323aa1579664c293a968138d9377310fde29429e92febbc6","impliedFormat":99},{"version":"796d8fd55590f854e79d3f4181b54f28108e90118314c858726163bb9961e7ae","impliedFormat":99},{"version":"b37e4e4f8f34745d839c334991d9cf227c34c2ed7fb3b297011ddfddf3ac7d68","impliedFormat":99},{"version":"ef55aaa329259ffcb1694dc5d0d688f05e5a37eec2ae34510ef751e9d608b90d","impliedFormat":99},{"version":"264b53b60d27b252258cca58f80b81e143b6299a866402819d5524fd20febd0c","impliedFormat":99},{"version":"714456dfe665ce8b398af312b56b68a927a8a182f8e78dd7c1ef5cfb596ade25","impliedFormat":99},{"version":"27c9ce7c539db9b37ec0d7476b4e9d9ba7439dc41549e466aeadde43746e8390","impliedFormat":99},{"version":"903e813fb2d906d278ab54626f4ade4f43f96f4e636dc66f5aced69d1afb871b","impliedFormat":99},{"version":"c80bc9ee4fa024302308d14084c0f6c3026301db9abbf6789e6b1caf686ce35c","impliedFormat":99},{"version":"8cd470e7936934cb17c70c18a2e03282980d8d047ec08467925a31bf99ec1bf1","impliedFormat":99},{"version":"c09f5d7d8cdee279972790105f90d6adbfb18efb905cf04815ac59d033f7bb7f","impliedFormat":99},{"version":"e92673d9d3c39fff66b14270f144fd32d2ec6fe92e8b2c51e65bd7b4a0e5f355","impliedFormat":99},{"version":"d465455e9f29288b7c879ecd390256571ba306f8b947698f03b1429d6300ff67","impliedFormat":99},{"version":"108b9e022f7dddd5e5ed8165170d65b752fa7b21ced5dd1005ffad3c36242c57","impliedFormat":99},{"version":"1890b77d7c36efdd18174e345b295ece38e66179dae192fad21e8c3642b993a1","impliedFormat":99},{"version":"636f9c9b34b3f33b2258704da1187e271fbf36081a8e22da97be5b53488a9863","impliedFormat":99},{"version":"fa6693c8ad74ce099f2a93ca8d1b0a643dd7f6026f41ba4b244d440d8dd07f03","impliedFormat":99},{"version":"fd76be177303d35dbd29c11de5f935f5d21ad605d34aa4aad9e309ec494b51a2","impliedFormat":99},{"version":"f31af014cf064d7cea0392f02595f09d8cd4b9d06c7794397cf3ddce13111d81","impliedFormat":99},{"version":"d15de8944d6dfb1c8fab88ed1d56947c4ae438b9fcbd9be18f7840b78c9c3bbd","impliedFormat":99},{"version":"040fd90833b34b59436ca6545a00a3b5988f5a95e6cce0a378ddd66bd2cf44f2","impliedFormat":99},{"version":"f332d07979b46f12410417a97153271e1bf5ea11677423718c59010df71a3f2d","impliedFormat":99},{"version":"06911ddbb7160760c75015d2d6fa0f1c0f94d9f0d61265b2d211238b571a3ff2","impliedFormat":99},{"version":"af0612a0e9b7efc543168628fe60a8d3f4d7ae8d97fe257788cb60bdac2459c3","impliedFormat":99},{"version":"9dd05d844e6b99e0a3c8ab8e37bac8f6297d531a844af0738f9b1eaf4aead087","impliedFormat":99},{"version":"5f7be41a9ceed0632c19b7cdb5ad9e07ac19093cbe23a738fe0f1c8c2f27b036","impliedFormat":99},{"version":"b33e84f2148cc81a9afa6d4177a27a1d246fabea3c0cf391aebd3e62eec04f4f","impliedFormat":99},{"version":"5dd273430ddfd576316532f118feafc41f18d5128d7d84e674d98f4a57107384","impliedFormat":99},{"version":"a9c40d74fab8e810c62cfea99a21d09f529fe6a0e60c39353510974c33df980d","impliedFormat":99},{"version":"2665ad2e88b3633b417e176af058b1c20bf5645327a8c4fd4f08e35636b72f9d","impliedFormat":99},{"version":"2321ad799e7ff9c6c6a886dea5ab208d08072a8d33da312f1b9a10ebc888765d","impliedFormat":99},{"version":"8e2f56264cfd71093034fadc1c788d6f46d58036a57e7189e8eda9a7f87eb9d9","impliedFormat":99},{"version":"06deb0a45f5a6dd23244cae8f1ebfa2400ec7de804980f044316d2d9d35a6ce5","impliedFormat":99},{"version":"b27242dd3af2a5548d0c7231db7da63d6373636d6c4e72d9b616adaa2acef7e1","impliedFormat":99},{"version":"e0ee7ba0571b83c53a3d6ec761cf391e7128d8f8f590f8832c28661b73c21b68","impliedFormat":99},{"version":"072bfd97fc61c894ef260723f43a416d49ebd8b703696f647c8322671c598873","impliedFormat":99},{"version":"e70875232f5d5528f1650dd6f5c94a5bed344ecf04bdbb998f7f78a3c1317d02","impliedFormat":99},{"version":"09b103d94e6bf3723cc3642b164dcae50bea1d1f0ab1f5cccc38dfed3fb2beda","impliedFormat":99},{"version":"e3c2cc25f470bea78afb3af5ca6f30759cfd44e4b1212e84657fb36e45a3a1d3","signature":"6e0fa1db91df6484a033340dfafa435f2e98844b66e876a01f963ff84a878646"},{"version":"16bed64f9c23abdf4e18425ab522343d5c8f180214832e5b6d40135d838f7841","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"5e6e6f01cb776da72cb3ca11adf3fa20c16d0f68841c2f550e485376491fe584","signature":"981a1e9bb280cbad4485d10bfb76e890079fcc75cdf11f502bd995e1065d2616"},{"version":"2e0902468e1a220489a3f33dc82d5eff8f70521cc4ad8eb35abee7a792a14a6f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ca55e9c482d5da0295fc69d21ed6822af32439b9fc3b1fc55ab593deb4a83880","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"a0395b4c83044d52eb3954c29d53ccba5aab9acf9765dbe663f8f95783629609","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"abb13a376d731db2984464da46235b3dd198602a97e200bf687c9a9a2bb43593","signature":"909a9f6b4a08c0af15d0c0e3cb1f290ccda985ee205dadc0c735d3bd1467d5bf"},{"version":"1652f9e9c84699da6c0050e0818ffbd6093fb9dc67e082bfb5d3df1fc92012b2","signature":"e7ed13b72a29fe7f0c628bb06ed80ba591e327268a8acf0cb66fa1725ce5e930"},{"version":"ccb92614f79729906fc8a9f5c9c18f163c1352d2e549cc49b42c4302fa591f30","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ec90498fea3cfaefc1dc5badcfa5d2c8f05a73f96abb856d63707c0cd25351eb","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"eedbc489481913977cc00e055bd0f493c8ed3115928ca006929d1b353411e722","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"9344e6e424dfd647c27be85b5ea478753830f7fb31a74747ce6a373b479d51b2","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ba98ffac19abe3f9aa945abea3b81b3ecb435ab243502108b61d6af1a31c00b1","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"73a98325658b7d7509ec766ae0f0b34b9a4d9819b388d4e5b3c74ef8af5af185","signature":"211206a1cc64d3623a54c919fe8e7e8cb70032936ce7dd2625ba2f185580334a"},{"version":"8072581b3b7e9ce43d9553465431ebc422579042d0a644394d018c6803c45918","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"938165e53c76725415bd8152fc8363d628ac4a95e04d4c2884f75349e3d337a9","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c868f50837eedd81fa9f61bd42de6665f74e7eb7a459135c6a14ac33ddc86798","impliedFormat":1},{"version":"42cf6b642a67b27545981d06932f7e5ef948a68dadf5779cdfa9e052e3a13d76","signature":"41302973852bac2a0d545eb886ea0b819803722d9d6344a011477d235854894a"},{"version":"cb61a5aafcdee23a7ccf20343670924ee6cf6ec6f631b65a3ab249e27d9db542","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"d2e1e7f9ea69da6734503f8b7077edde2e9fc91596141725e2beffba76ea2ec3","signature":"0f87709207a3c70d4c4dd8ca7a866e5114b412c6629abcd9f4bac4a7b91495e1"},{"version":"1e3bd35220cea102b5a84d579f9bb1adf4dc20dea714829473bb3aa87499a64d","signature":"230d47db97c6f501ec507c267dbecfcf25a3a8c8c13854734008f4294a0da41e"},{"version":"ad3e839b384c5231de4906ea0d62e778d95f1e46937d9c005487b0897ffc48f2","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ebe9b7b5b1909551f7fe8a5aedab9f4c713b928f5ffeb7b83c9ac876861a74fc","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"dae983fc2e940a628dd197d10e67ca9cdaa071d87d7018ceb8fa5c8a690eccf0","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"17049713661e5d59bfc1e6e1f8f52fc88c0c20f4e84132c3e3fb72ad37fe6365","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"29e02239f94241d9f26f19f570a5eb688c86873d1e77e43868fd69f6a38e771d","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"681ab80103a45e835b91035d733228aa210d75cb0cd45355dbe6e72fcbe1806a","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"cfc4d1e3e0f3fa0a4a3de8483598fe4ca1f9677de760b092b4919748ca383fff","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","impliedFormat":1},{"version":"ac450542cbfd50a4d7bf0f3ec8aeedb9e95791ecc6f2b2b19367696bd303e8c6","impliedFormat":1},{"version":"8a190298d0ff502ad1c7294ba6b0abb3a290fc905b3a00603016a97c363a4c7a","impliedFormat":1},{"version":"5ba4a4a1f9fae0550de86889fb06cd997c8406795d85647cbcd992245625680c","impliedFormat":1},{"version":"57c98d540df72bdc219a9d4e23e7c1f844459414e4e62eda3439067fadf743ba","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"723d1d05be7e263d358580c9bba607944fdf6e5093e7bf62a2f578754b779390","impliedFormat":99},{"version":"7a59476a46fd4b3e1522e9c6ec6cf436b6d5ab8ac97a17ae867aeb9cdf0371ff","signature":"57f1ad6cd433ecc0e78e4616e780d4db68642604162b65747c70a6142d28e49b"},{"version":"ff3e228e751934dd42a9f05cfd75bccfedfb529eda504ee0c4f0d184da345050","signature":"4a1201a691800bf407a2703017b769c5ce1a53418279b7682e4cde1afc7dc6d9","impliedFormat":99},{"version":"ee70ae40394baf9312c35363c42fa429ba3e037ab10cf767a184ec38d24b5427","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"b5b7c87e72f384980ca1d92c4f54d6c30b2f099556e3843588073cfe0a0a893f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"f329dfad7970297cbf07ddc8fce2ad4a24e2a3855917c661922ef86eb24dd1f1","impliedFormat":1},{"version":"841784cfa9046a2b3e453d638ea5c3e53680eb8225a45db1c13813f6ea4095e5","affectsGlobalScope":true,"impliedFormat":1},{"version":"646ef1cff0ec3cf8e96adb1848357788f244b217345944c2be2942a62764b771","impliedFormat":1},{"version":"c864801e02e8547ed49024b3a469d6fbf600ee240be6bf413bd6149f26241348","signature":"90ec9100c29e008c3d9194acd818e2cfa6dc6e177154bc8e10c5959aa35619ed"},{"version":"6c8c958cc35f90494284a36edeedf503f3a56a93960016a618a1e587d19d86c4","signature":"2b02e2635e94d92d8a4c1fb05177aa1f9bee04c362dc8600559080aafe963e14","impliedFormat":99},{"version":"9c947051913ac9feed2de4ec57656a9f38ef4bccd22518b765f5877c69894082","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"15128feed70d09b1e4f994cee399f093af7c7c42e224db77f3ace502a457a2f2","signature":"c7108b0b3c30b5aa5fe1fb0c2399dbe7da3e7730cfdd42e7403a0402394bf466","impliedFormat":99},{"version":"3bbf19210a7e08f50ce1518710ba0ffa8e13a0d55d78fdf3cb62cbad44d30e1b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ca273ec7d7789662ab7ae9e00a4556a0e42416d6f8a13702a5746b5ea6862061","signature":"dc89f83d1e61d147d010a811cad4539c273b3ed227aabfa8a9a130b4180d2cd0","impliedFormat":99},{"version":"2e71945b350a81ff50fd4e21a3660e7e6055a5cd5691d6d8d867d0e6f10cf313","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"5d0e499d96f070dc2607f23d55fe54ac074d1a840b6505e1978f70f57232cf7b","signature":"9e4d212471d83031de81b7c76834be81b4d32b5eb573cda6c61023d1cd5f326f","impliedFormat":99},{"version":"f20e59aa1f8ad6e7dbfb10f7c7147773dab8b5d8e4d59eeeca34944b51e4dd14","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"e62fecd6655ce82858142ac7225caded25ac9b7da81632bec4c7c054983bfc68","signature":"2bcc2d03633b291af104b7774e1f7da0ba4dd09809fceb39db956b6a7e127ae7"},{"version":"fe93c474ab38ac02e30e3af073412b4f92b740152cf3a751fdaee8cbea982341","impliedFormat":1},{"version":"3255b97f3f24af29c79cc1aa88004efb13b6285ebdde0a567bf32e19bb65250d","impliedFormat":1},{"version":"1e00b8bf9e3766c958218cd6144ffe08418286f89ff44ba5a2cc830c03dd22c7","impliedFormat":1},{"version":"8589487932fd916840218fdedbb143741d22216ddf630c70d401ee674c448e1e","impliedFormat":99},{"version":"c0fc68a185e7479c68bb3304bf208d87e9d8bbe9a684302d06c40245670cabf1","signature":"42288bb7189ed22d6ecbacd5477ddce0e5ae1fbc1dfe48b1038c58af794199dc"},{"version":"31caf28f1dc08edfe3cb8e7c4011ced09f4bf3f5f725c50e5dc0b5ae573b498a","signature":"04a996928d0f8d5efd87a2990c4f4ce70e00fd0c975971fcbc570df7961daee5"},{"version":"f42e4c5f7478ac6453fa85224cfd46bf62fe1e3435b6ca049e437b2454c4a902","signature":"1a734856e43cee0599e8a537f131cbaa1e9290b47f2b496fb504f95e252b8495"},{"version":"e7d5deaf5e91401cba20b99706c1baaa41aa771e6a1a18f1180b23cae0f45a3c","signature":"01a977ade994fe0de990222140f158a0dc3b03529994c449aa39333d0facac02"},{"version":"348b8169a6c19556863ffe85bf1fe1ddb0006affc951bee6eeb7dcb3a2d6eb30","signature":"f12359b22cbaca86f938ddee38c0c33924e768a93042ad939fc2288f2471e5e9"},{"version":"43ee1831235987ca593e76b22b4116009f1ff6fb0e7a3fa6bf1e5df1420fd6dc","signature":"a05af3719b211bbf59b553f0760633dc3095778bb0171502d7bb7342a54d3b15"},{"version":"dc4085267e01a46acdc4e014d59e60d40d6acfe0806a041e857ed5b91c688c5f","signature":"138cf0cf601045c4741faaf79f2d7024eca30e59e3b533a4d60e01a99209ad68"},{"version":"d223b9cd5a657195b91223f95950ceaeb4954da149886b310cff83380d756d21","signature":"47b78319752ad15032473431dfde07d5ce14a0af497e18bebbc1f89ccd2c4b13"},{"version":"093616375ac2af574eac9fdfcd18193c3f9394e1b1d4d8c79d2e6068790ac100","signature":"335f66607c072668fef3e0563ad5619a7632e75eef9f85740e84e35523d1ee82"},{"version":"383fc1e3823bc2d2cccdbf51be644b7f2297d6d04190008c1ef7ccf82eed9b76","signature":"77658513755ac8d8ad639e6f969539b6d98cdc9ea85a2eabeb33fc94a839f395"},{"version":"eb2ca2e825628da3e61a98cbf8338f9af1da351244346ee4955b09972d60e7c3","signature":"0a759888cb435532132e0066d5bac2f2786bc7160a24f07e7b60ee958d45b88d"},{"version":"63d36b8af9723f5416b3c0c7270f4094ea417909c8196a01775da5ecab082c9c","signature":"0f2ab2d398a5484d267cfbae7f4512671debe1dfc0056d474a6d6add63a148b6"},{"version":"6b43dfa5e9c9d89bcaca0ffe7da88f34e20d760ca158398a3276cef61f738c4c","signature":"410aae1dab008177682aafcfbeeb27bb71cf90e2644309d0473a9f4840d460b3"},{"version":"88a553598021b6783d1d867255d51d141117d338cfd6574cea6003179d938b8b","signature":"eb7b3044b45633015e2479d99bd7235a1f0a0eb20729049735674c473e197971"},{"version":"590bcd96c3ed00050d417d3a0229318b5225a4698b507e3264a1e59a8b81bb26","signature":"859b36849fa1a6871f9dc68605252132a625792e315c5e58d893b28aff84c7c5"},{"version":"37d9d129fae68f9646f7978d6fde5460e9f422f9c4cfb7c425ed7592e2384af7","signature":"0cc24adad526e7c075f3223582ca642a555751bddc0088d47a1fe62ac19ebe31"},{"version":"bc7bc237e289f8d435d34601a22322d303d64d497e25d80d555f06f7acc34e4b","signature":"7da246bb1c2b2ce4879114715c5bd7714bef80824031c70e814efa143acfdd51"},{"version":"ea148617618060b428a28a47935b7d220bd76a20c909c3f55b15dcc94fee0b89","signature":"f4687c2184d06940dbc04b6e903d2935739121ddf9889b75f1aae3698097a9ef"},{"version":"9a7b469bc32fae75951dc069e760b7945d91829873247f00a5ede47eddfc5d2d","signature":"acaee283946e562a6a4f999558a47c3d5110e5e2ae0581f90b5d2d4e35dd74cf"},{"version":"5b8eb6e16859a5d0b869e2607f6510cbdb93ff3b24942edfb5098f2e6b07e773","signature":"03b23eb17ac097b361cad4f90128b223cfc584893f86a350ad9337aff15890bb"},{"version":"983793b81b9d3f63b32a2b4aed4cbecdd215d0c00487729c5ee788f9d8a77c13","signature":"afd02efecb9f6288c3098659c94182a2d6fcde4620ebda7c2aa229cc5d2c54b1"},{"version":"89121c1bf2990f5219bfd802a3e7fc557de447c62058d6af68d6b6348d64499a","impliedFormat":1},{"version":"79b4369233a12c6fa4a07301ecb7085802c98f3a77cf9ab97eee27e1656f82e6","impliedFormat":1},{"version":"2b37ba54ec067598bf912d56fcb81f6d8ad86a045c757e79440bdef97b52fe1b","impliedFormat":99},{"version":"1bc9dd465634109668661f998485a32da369755d9f32b5a55ed64a525566c94b","impliedFormat":99},{"version":"5702b3c2f5d248290ed99419d77ca1cc3e6c29db5847172377659c50e6303768","impliedFormat":99},{"version":"9764b2eb5b4fc0b8951468fb3dbd6cd922d7752343ef5fbf1a7cd3dfcd54a75e","impliedFormat":99},{"version":"1fc2d3fe8f31c52c802c4dee6c0157c5a1d1f6be44ece83c49174e316cf931ad","impliedFormat":99},{"version":"dc4aae103a0c812121d9db1f7a5ea98231801ed405bf577d1c9c46a893177e36","impliedFormat":99},{"version":"106d3f40907ba68d2ad8ce143a68358bad476e1cc4a5c710c11c7dbaac878308","impliedFormat":99},{"version":"42ad582d92b058b88570d5be95393cf0a6c09a29ba9aa44609465b41d39d2534","impliedFormat":99},{"version":"36e051a1e0d2f2a808dbb164d846be09b5d98e8b782b37922a3b75f57ee66698","impliedFormat":99},{"version":"d4a22007b481fe2a2e6bfd3a42c00cd62d41edb36d30fc4697df2692e9891fc8","impliedFormat":1},{"version":"9d62e577adb05f5aafed137e747b3a1b26f8dce7b20f350d22f6fb3255a3c0ed","impliedFormat":99},{"version":"7ed92bcef308af6e3925b3b61c83ad6157a03ff15c7412cf325f24042fe5d363","impliedFormat":99},{"version":"3da9062d0c762c002b7ab88187d72e1978c0224db61832221edc8f4eb0b54414","impliedFormat":99},{"version":"84dbf6af43b0b5ad42c01e332fddf4c690038248140d7c4ccb74a424e9226d4d","impliedFormat":99},{"version":"00884fc0ea3731a9ffecffcde8b32e181b20e1039977a8ae93ae5bce3ab3d245","impliedFormat":99},{"version":"0bd8b6493d9bf244afe133ccb52d32d293de8d08d15437cca2089beed5f5a6b5","impliedFormat":99},{"version":"7fc3099c95752c6e7b0ea215915464c7203e835fcd6878210f2ce4f0dcbbfe67","impliedFormat":99},{"version":"83b5499dbc74ee1add93aef162f7d44b769dcef3a74afb5f80c70f9a5ce77cc0","impliedFormat":99},{"version":"8bf8b772b38fc4da471248320f49a2219c363a9669938c720e0e0a5a2531eabf","impliedFormat":99},{"version":"7da6e8c98eacf084c961e039255f7ebb9d97a43377e7eee2695cb77fec640c66","impliedFormat":99},{"version":"0b5b064c5145a48cd3e2a5d9528c63f49bac55aa4bc5f5b4e68a160066401375","impliedFormat":99},{"version":"702ff40d28906c05d9d60b23e646c2577ad1cc7cd177d5c0791255a2eab13c07","impliedFormat":99},{"version":"49ff0f30d6e757d865ae0b422103f42737234e624815eee2b7f523240aa0c8f8","impliedFormat":99},{"version":"0389aacf0ffd49a877a46814a21a4770f33fc33e99951a1584de866c8e971993","impliedFormat":99},{"version":"5cb7a51cf151c1056b61f078cf80b811e19787d1f29a33a2a6e4bf00334bbc10","impliedFormat":99},{"version":"215aa8915d707f97ad511b7abbf7eda51d3a7048e9a656955cf0dda767ae7db0","impliedFormat":99},{"version":"0d689a717fbef83da07ab4de33f83db5cbcec9bc4e3b04edb106c538a50a0210","impliedFormat":99},{"version":"d00bc73e8d1f4137f2f6238bb3aa2bbdad8573658cc95920e2cdfa7ad491a8d8","impliedFormat":99},{"version":"e3667aa9f5245d1a99fb4a2a1ac48daf1429040c29cc0d262e3843f9ae3b9d65","impliedFormat":99},{"version":"08c0f3222b50ec2b534be1a59392660102549129246425d33ec43f35aa051dc6","impliedFormat":99},{"version":"612fb780f312e6bb3c40f3cb2b827ea7455b922198f651c799d844fdd44cf2e9","impliedFormat":99},{"version":"bcd98e8f44bc76e4fcb41e4b1a8bab648161a942653a3d1f261775a891d258de","impliedFormat":99},{"version":"5abaa19aa91bb4f63ea58154ada5d021e33b1f39aa026ca56eb95f13b12c497a","impliedFormat":99},{"version":"356a18b0c50f297fee148f4a2c64b0affd352cbd6f21c7b6bfa569d30622c693","impliedFormat":99},{"version":"5876027679fd5257b92eb55d62efee634358012b9f25c5711ad02b918e52c837","impliedFormat":99},{"version":"f5622423ee5642dcf2b92d71b37967b458e8df3cf90b468675ff9fddaa532a0f","impliedFormat":99},{"version":"70265bc75baf24ec0d61f12517b91ea711732b9c349fceef71a446c4ff4a247a","impliedFormat":99},{"version":"41a4b2454b2d3a13b4fc4ec57d6a0a639127369f87da8f28037943019705d619","impliedFormat":99},{"version":"e9b82ac7186490d18dffaafda695f5d975dfee549096c0bf883387a8b6c3ab5a","impliedFormat":99},{"version":"eed9b5f5a6998abe0b408db4b8847a46eb401c9924ddc5b24b1cede3ebf4ee8c","impliedFormat":99},{"version":"dc61004e63576b5e75a20c5511be2cdbddfdbcdff51412a4e7ffe03f04d17319","impliedFormat":99},{"version":"323b34e5a8d37116883230d26bc7bc09d42417038fc35244660d3b008292577b","impliedFormat":99},{"version":"a5dbd4c9941b614526619bad31047ddd5f504ec4cdad88d6117b549faef34dd3","impliedFormat":99},{"version":"e87873f06fa094e76ac439c7756b264f3c76a41deb8bc7d39c1d30e0f03ef547","impliedFormat":99},{"version":"488861dc4f870c77c2f2f72c1f27a63fa2e81106f308e3fc345581938928f925","impliedFormat":99},{"version":"eff73acfacda1d3e62bb3cb5bc7200bb0257ea0c8857ce45b3fee5bfec38ad12","impliedFormat":99},{"version":"aff4ac6e11917a051b91edbb9a18735fe56bcfd8b1802ea9dbfb394ad8f6ce8e","impliedFormat":99},{"version":"1f68aed2648740ac69c6634c112fcaae4252fbae11379d6eabee09c0fbf00286","impliedFormat":99},{"version":"5e7c2eff249b4a86fb31e6b15e4353c3ddd5c8aefc253f4c3e4d9caeb4a739d4","impliedFormat":99},{"version":"14c8d1819e24a0ccb0aa64f85c61a6436c403eaf44c0e733cdaf1780fed5ec9f","impliedFormat":99},{"version":"d36518bd617ff673c7d9f372706f241932a43f27673187f2a8472e93c40041c6","impliedFormat":99},{"version":"f8eb2909590ec619643841ead2fc4b4b183fbd859848ef051295d35fef9d8469","impliedFormat":99},{"version":"fe784567dd721417e2c4c7c1d7306f4b8611a4f232f5b7ce734382cf34b417d2","impliedFormat":99},{"version":"45d1e8fb4fd3e265b15f5a77866a8e21870eae4c69c473c33289a4b971e93704","impliedFormat":99},{"version":"cd40919f70c875ca07ecc5431cc740e366c008bcbe08ba14b8c78353fb4680df","impliedFormat":99},{"version":"ddfd9196f1f83997873bbe958ce99123f11b062f8309fc09d9c9667b2c284391","impliedFormat":99},{"version":"2999ba314a310f6a333199848166d008d088c6e36d090cbdcc69db67d8ae3154","impliedFormat":99},{"version":"62c1e573cd595d3204dfc02b96eba623020b181d2aa3ce6a33e030bc83bebb41","impliedFormat":99},{"version":"ca1616999d6ded0160fea978088a57df492b6c3f8c457a5879837a7e68d69033","impliedFormat":99},{"version":"835e3d95251bbc48918bb874768c13b8986b87ea60471ad8eceb6e38ddd8845e","impliedFormat":99},{"version":"de54e18f04dbcc892a4b4241b9e4c233cfce9be02ac5f43a631bbc25f479cd84","impliedFormat":99},{"version":"453fb9934e71eb8b52347e581b36c01d7751121a75a5cd1a96e3237e3fd9fc7e","impliedFormat":99},{"version":"bc1a1d0eba489e3eb5c2a4aa8cd986c700692b07a76a60b73a3c31e52c7ef983","impliedFormat":99},{"version":"4098e612efd242b5e203c5c0b9afbf7473209905ab2830598be5c7b3942643d0","impliedFormat":99},{"version":"28410cfb9a798bd7d0327fbf0afd4c4038799b1d6a3f86116dc972e31156b6d2","impliedFormat":99},{"version":"514ae9be6724e2164eb38f2a903ef56cf1d0e6ddb62d0d40f155f32d1317c116","impliedFormat":99},{"version":"970e5e94a9071fd5b5c41e2710c0ef7d73e7f7732911681592669e3f7bd06308","impliedFormat":99},{"version":"491fb8b0e0aef777cec1339cb8f5a1a599ed4973ee22a2f02812dd0f48bd78c1","impliedFormat":99},{"version":"6acf0b3018881977d2cfe4382ac3e3db7e103904c4b634be908f1ade06eb302d","impliedFormat":99},{"version":"2dbb2e03b4b7f6524ad5683e7b5aa2e6aef9c83cab1678afd8467fde6d5a3a92","impliedFormat":99},{"version":"135b12824cd5e495ea0a8f7e29aba52e1adb4581bb1e279fb179304ba60c0a44","impliedFormat":99},{"version":"e4c784392051f4bbb80304d3a909da18c98bc58b093456a09b3e3a1b7b10937f","impliedFormat":99},{"version":"2e87c3480512f057f2e7f44f6498b7e3677196e84e0884618fc9e8b6d6228bed","impliedFormat":99},{"version":"66984309d771b6b085e3369227077da237b40e798570f0a2ddbfea383db39812","impliedFormat":99},{"version":"e41be8943835ad083a4f8a558bd2a89b7fe39619ed99f1880187c75e231d033e","impliedFormat":99},{"version":"260558fff7344e4985cfc78472ae58cbc2487e406d23c1ddaf4d484618ce4cfd","impliedFormat":99},{"version":"413d50bc66826f899c842524e5f50f42d45c8cb3b26fd478a62f26ac8da3d90e","impliedFormat":99},{"version":"d9083e10a491b6f8291c7265555ba0e9d599d1f76282812c399ab7639019f365","impliedFormat":99},{"version":"09de774ebab62974edad71cb3c7c6fa786a3fda2644e6473392bd4b600a9c79c","impliedFormat":99},{"version":"e8bcc823792be321f581fcdd8d0f2639d417894e67604d884c38b699284a1a2a","impliedFormat":99},{"version":"7c99839c518dcf5ab8a741a97c190f0703c0a71e30c6d44f0b7921b0deec9f67","impliedFormat":99},{"version":"44c14e4da99cd71f9fe4e415756585cec74b9e7dc47478a837d5bedfb7db1e04","impliedFormat":99},{"version":"1f46ee2b76d9ae1159deb43d14279d04bcebcb9b75de4012b14b1f7486e36f82","impliedFormat":99},{"version":"2838028b54b421306639f4419606306b940a5c5fcc5bc485954cbb0ab84d90f4","impliedFormat":99},{"version":"7116e0399952e03afe9749a77ceaca29b0e1950989375066a9ddc9cb0b7dd252","impliedFormat":99},{"version":"3654ba818fbf4ac2c49aa3dbb050b912277acc71b6d5e4f434720c27a1a68f3d","signature":"02d33dd7ec31c9ac3c91582f2d0a3f665d587d5f98aa667ad74d4b543e626610"},{"version":"82783f40f1fb9a547a1c74622a4cf4c671fb927c57165ebcece5cb133a68f4fb","signature":"1f71e9c9d089eec515e086adb2e10e09414ae876ef4744115edfcd57c6684f7f"},{"version":"2a7a18a2cc9b4656d9eb1d5f4fd0e3f3466f600c32ea8148643dd8c909bb3476","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"d9cb0facf05859f0f35707063253d8b55d8fbb565afb642c0edbd72ce77817e1","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c0d0f32efeb6b747b535605fbc150723df43935937ad768694508546bb05cfd1","signature":"ac55b99427e8f93d864f62023f10171b091089b07e9b94cb244b45bc926ac00a"},{"version":"690893e49efc04d078b51c10f2917fc3d56e2c94fcde134af51bd853decc473e","signature":"54a9c436909dc3af8f4a74b34b6c75b79426b0bca8d3e3c1392d412f1375b8d6"},{"version":"0702499aa6384244a89e13df162163ed41949de76518a8580c8044e783876dea","signature":"401f1208590180b74cc9007c8a894d499d48b469bb110c769cb004aff4819b3c"},{"version":"32a1e5246f4c78329c734033d3c179c9130cbabd3e64d4ca4831f8bb6b0f2ae1","signature":"6b211c08718dabbbcb8d48382a8416b20d9c90e3a7a3a9f8dbb192baa29018dc"},{"version":"b16a9573271f151e37a10543a8faffe67811ac8570d87054108ba01799b73ba9","signature":"c274af3f97f26f9143c42701bf431c06ff0af56cd5b14e86c661a294f335d8db"},{"version":"48f96604f28e1d321ea8c94e7e5cc889f4ab3720d92ed9f412ac7dbc2931a1d9","signature":"0d095606a67e17da85041e7a56c4d15c377ff643b56ca69eef8b42d670748bb2"},{"version":"ec8837c10043105017c36277b70d2ed39fcfb7cf42d1550a65a4324200ce2028","signature":"57bf2ffbbff6d58bb1422d725989e22ba10b14159c98d2e3185361f5d609d9f7"},{"version":"a4b24a4198b7dfffb80f5d0e4abc9c342352beed5c317ed37c1382443db6897c","signature":"b8df9c14d085533e16aaa58dfa061788e5dea6b8d7e3a17ace1562e6d904cd85"},{"version":"955ae27fdc755f32aabee0f82c2db6b3d8505f99551cc8376df389eb90e7c84b","signature":"4675797b0de56fe3c5a6e468df193709c7f066a244e2da0d02690f193eed5345"},{"version":"e112d5f3dfef59f2affe696bdb14e08eadcab96e48ed03216942721e9682df74","signature":"ac2b3808b01524a4b3ecc52121b04eb3b74c6d267ad7db0c4082c2934c8da0cf"},{"version":"d74079d630d2a3829c1bb9913bd877f0fb7e0d185b243a2fb29ea751c2228015","signature":"1a574fe33afec63182b358ca9e29944cbdd13c69413c53fcbb8e924018e33b8c"},{"version":"226fde0db85fe36a59cd908404e8a979f4486ef3258eacfb9c1690d0dffe849c","signature":"0112553dbd79407a27c58713ea3d744d72a100f4d89bc8c817d0a4d027bd8d34"},{"version":"b649ec0ab4939bce6797308637585e115870c994c3008948c73a15dba8e34557","signature":"e0c8108d684a2f56bcd591fd0170f2a8c9904706a268915ced087ba4081bc27c"},{"version":"ca72b6337d9cde0ad63c5cf55465e9ae62d858f45bd7ca6bcaa8a6004640cfd8","signature":"0abc38ad1b516db5d7b2e16e1261b5a4b2d2cafd869db12cdf39cdf8abd56ea8"},{"version":"c9835b14ddc4e4115f493b814c646b64cc592bd18a8168c0b94fad83406aefd5","signature":"e2fe797153301be85158774902146f3fea3ca256e9fe15109c6efd4b9e355897"},{"version":"ea8414b5ce4fa126d28099f81574a83b911c9fdee9f4809d41607473339be0c9","signature":"bccd3d911c3cb5fb8442848a10723e7ac2fba4a94c37c8fb2700ee31645b28e4"},{"version":"88cdbc3bcb4689a70130597de7c941b2450bb2760674a02ae816e0667a1958f6","signature":"6dbaf13dab6dc2db0cb7312fba7996ca7f548c7929bb627315cc89b43bf93ada"},{"version":"93fdaea06f53eda94b236d54909091dbd7046bc96315b59d224962d4a95299da","signature":"71e0ae0ab79469ca19dcf4d5566240e5019b5a59f0aa86a6d1b5afee5edac2b7"},{"version":"5437c086fa05daccd0b205f10e71c34f7a5c65a60b70c449a77d71c547777399","signature":"6a891a6cb7835fc4aec6da5acfe7e699a7657630100a6eb7670e371e5a4d2ea4"},{"version":"7b4bcd71a2ca99183c38b93f34926a94615833826ef27f05dcf62494e196325c","signature":"0646934539246310c9949fff3507ffa197e60e50821f7ba77b5518241bbfd7af"},{"version":"55a9358103d4d3fc812e7226cbf54ec885ab5d274c3f0fd7c7b89138761420fe","signature":"09ac449d6431aaeea979c72f664e0179ac698d66b9dd695199bcc985f21b10b7"},{"version":"27e68515ee1812fd96c61e31936ce743420eaf87da90cdb3fd26823338aa2a2e","signature":"476b4071f1aac8d5027274bfece00a4fb738c3caf9cb2a033600c06edd10a0f8"},{"version":"95b35df535d0b7a7d382773e7773ed0ca7cada0d5c28e9c32cf07cab271ae2fe","signature":"4c3c517995254a3515b6df45737e5ce8e1d8debfe98dc634ba28ec324e591163"},{"version":"138084d474feeb0ca46f059eb07c1ad14948debe23d816bcc72650be140a8561","signature":"36ce399e206d67d439c5cc79f86e2254ae2fdb55986718b9fd633fee38f8ce1f"},{"version":"162c8a8d48c92e7a6000b04510e800de561d95d99382d4788e66b71cc165b4cc","signature":"c44b0bd9da5f7907a8f132f289ad93a7e7b57a9943b661612900ff609dc8ebcb"},{"version":"8fec2ef4e63b73f8cf788980efcdfc8da12be4d906091d0944ff091d006f1324","signature":"75d79958804ca5a6d738975354f408d4cdbbf0d11c43e4f6d8ad7418d8a2c06c"},{"version":"4e3cef7add4741ef800199b5d9f6f45f3b05b4cbd7b4f9713b680370488856b2","signature":"4edde3cd15f3e6efd0e5d77a9d8b78997e2faf00a87f5741161b140472c267b0"},{"version":"83633eaca29decaf169278318269ef988fc92d0b9a47531dd5301ba069652fa5","signature":"82795623788e3260d9c6ee7f093c27b61c7257c31135e0bc833258ebfbf21f25"},{"version":"d100a3684e4d3e61492477eafe8fb250d6463f83e66b6739ca270b99ed9ccd52","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"2564e83977f854fbd3ce140f2d86f6992c1332945634a2f803306596ee0bf69c","signature":"2e3b8ee6e5682bd9e7cad45bc2a5ed071302f74f8bda226965fa0693fa761f16"},{"version":"abefaf92afbaefb20f76eff1e2aff38a604513e43be57c4e7f3d4e7356d4b681","signature":"10284337c30baf75130ecfa1c52aa566eafbbcf0391f1bbf7e21cad62835a0c9"},{"version":"3402b3070b7f9a2c6ea7f3082c2ed7f2f0d8c589badb6f3ec62044c3b7f0184c","signature":"6f3a722497ec70b05e83ac5087cc5bee72d7b19fc760554762b40072bf77fde8"},{"version":"3db03edfb97a8c0b482a94fc0280ae10207fc529842dc268fb0cad92148a638f","signature":"ac6b01a79d5ff4dcd12aba55bb4ae5b0886bf9246467659a3bda4620813147bf"},{"version":"2cf9443b7fd8887853cd78e9ba7592c6cc552461fe8e9f2ed92b766bb55b1a53","signature":"18e3bf7eab3bfb15ddcbd0e06c36856ace9c7bb9b7a179505fd0f7a9f15b5c38"},{"version":"5f4de36317d1f447e4373983278eab10e8ed7916a08aef7d211994ee3e97133d","signature":"6364708272ae524befeb1cf48d39cc0539e266b6062b8d26e89d41f02afca5fc"},{"version":"5eb87fa9a117af0d5672f63271c070d9294dc2592a8a71c7f67dda52635bb8d6","signature":"71f5409f85ed8b4c3910cdc686ac98abe30d2807197945e3844dc7bf5b9d6479"},{"version":"55a42b81dc189c2c3e42e8565528f312d6b6e1b490a3dab023460ae4bcfc51aa","signature":"11794a33220970f2e2b523767a9724247e154a37985d933321a00b9b31d6223e"},{"version":"2fa9260ba8c9c073651025b09d81b2da143ed8a4d7334d20a0f7f7eaca3c3ec3","signature":"5012e56859c8f84faba4532e014d0fb50542726d165cb40e5f1f5d2207e1d465"},{"version":"2023aebac248da544760947901d5fe7aaa214eddb7c2d7a92d33bee0650ffc2b","signature":"8490d17f8c61b6b1b705fb66b5d5e12f22aa29bf3b5ac54718fb95a75513d46f"},{"version":"4658529914e4785a4ce0213e8cc9af4f2cc86adbc3bef7cb6e9836ca17d8f0fb","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"619f179d690338a91210ba34fced276093959f8983db91d3bcb8309063d1313b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ba42a3ea09e763f637b9f8b040704c66d052c7e0a4c3526fa084516fb34cac0c","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c742723bb689a361dc0e32cdacf7f4160145254716deb013292a2f45e6f5e1ab","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"7b6e8d32728e05107c573c5dc2b6fe9cb14332dd7c82fb530093a840d6b59dc7","signature":"22146890ab30bea45bc289ccc48192249fe1cead53510eda7d9af2b09e065189"},{"version":"ea4ef3a460033804d6e905178b141e3d0bf2bd67436fd5929ad6dddacef93f86","signature":"0774366c811ec1c799b0c0922d3a58dd6e81ab902ff9847ef804b1cda0b16cd4"},{"version":"f3cfb60c227accb10e33201c23c9f9a389e89ee8f36e0f8cef20e9b25377beeb","signature":"d621400249ba8e7421459928f59ca558d53c61417f4d07833f994947592fba99"},{"version":"54a60dfbef03a8f34a21a1b21e6f8c6b991390b6bdca741071f0e9aa378b4610","signature":"2e695038b1f0a6040ae88a1a869e11cc466e03a7b13b526efa90b3ebfcb0068c"},{"version":"28aaa6a4341438fe63a4e6c486aa19b3b47415e61e489932834f61cec62d270e","signature":"b86d5d8bd5104f1ab29d23cd5be61bc514b8146a091257366678f5d99000a957"},{"version":"503b83a8c33ffdf3a4fae4b560df55b7e98c0722c4ea69e32b7e71427888f440","signature":"4d981d6aa5d8dc5af9b343ecb2c5f4c5a9e1e9890c31158e049df1c31bbf7a72"},{"version":"ea6437c6eda871607d5a01adf7cc5afdcd66f674509289cf2c226cc8b9734773","signature":"6ff5a08113fb520f023cd78f8c7151bcccc3824aa41cc276419d8f031e790082"},{"version":"61a5d2a3dd261b3c2b751c713d088f6548be6199705c2c9c5775d12bba1b8fcc","signature":"df57aab767d70420721669a994c9995859df1ca3188599bd5d693061c9a20367"},{"version":"24863e2f4b2b1bb3a3450294a76b5e0eea7b3a2e295f2225745da9c8592ee216","signature":"861096a3a6ca8f6ad72022664dd68b02ce3c37ff2d8f05354e1cd3fb3342b366"},{"version":"559adc9096c992ec81851ee1a90386e8deecd3f42506a8398098c89a0e1e18a0","signature":"5f733c3a82d525121c2b95a101038ad31ca21b64d9ea2d5841bf71a2b5a931a5"},{"version":"9859454fa6df442ae16cb0ac31d0c02a0a85bac28c82b9783e8f370adb33b245","signature":"f6b87832d9447b2e9d26a9676efe78dc75cff9279ee64a499f3e4360d22f2730"},{"version":"583137ad8d520191737844c217f6e5d839105c7ec976abbccd46060ed8cf928b","signature":"213e8f64d2aee549df8047a587e27018fee7674c72407c2a191a634d8e05ae4f"},{"version":"92f78731c5130df45847dfa1a46a00a27686891e38ba51f116c586e520498ee7","signature":"5782b5f14e5b6835f9effd28f0e567b0b5e5c6901453140d43d5f88f07c9928d"},{"version":"25cc87856525e88d4007f5f84251a00b6c47b90fb435ad8459037f18ba6b8a11","signature":"55dd73018b5b47f33dddfbd384f86789d5d3a081b0bdc1fd2fd0f81e1e4287b4"},{"version":"ce0d61b977618ef61cee89091bf0bc0ac139c64da5b41080486c84f0002e755a","signature":"ca04aadfa23178ab9d04e4e66d60d149595721be7e7b6bfc49ca32bacb93ec40"},{"version":"be2f617d92b80f8cc4e567b59cae553cecfa618a81b93ffd974ee7f2a94ecdfe","signature":"bcbd39c8414cf019ff5752da5e81763bdc747423be425b5f6c7b1a6233076f92"},{"version":"91cacd432c0af291a7a8291fe77b65e8e66ae67aa45281d1c1a98c965ccd7a33","signature":"411c558ddfdef650e590b3eee15829ff8efc820b6456dde9bacdaf8a19b9385e"},{"version":"a47d50bd2f57719021eb5184bc1314ce3f5837f2f78c4d25858e15c721e07ad8","signature":"516fbe6606f98a2736d92faf0b928b6f1084ed15368ba3cc8f055ebec38fb818"},{"version":"b26e8bf9c6f7701c5fb76c46235e05380573408867c4d57f68000bb3f543937a","signature":"7f80d74fc54976e64175d4796a5077a43b3cd982619d82adc5dac2a996e6a3d0"},{"version":"e8c98d9108dc3bc5e2cc2dcfba80c4423855e88cba86afc8a3412b3d17d24c78","signature":"c86f51169bdd99d2a52f43ff7126410a099a75cac62538f1c1f78e4fdaea824c"},{"version":"39bc0bbf4327146e403433bcbea372d9505e87d78ae1399ccbab0874bb716abf","signature":"a107421e44626e27aee78ecbdcc5e93e37b9addb0f6761d5cf2041e5c249f5b9"},{"version":"9a370525bf7b4805136ed500340108ce6079ce6c68d57dd35b33f9a9c749bad7","signature":"533c37afc84f4a66e5d320a3d8bd4d8fa4d7756da0712e42abc776962f08ce84"},{"version":"020b4cda3d1d638921323c6bbad2734fd452b44355dc04efa1ac145d41473a4b","signature":"14b994430a17c83325fae751d73b4b91dc638fb2a13b138935416812efc5b08f"},{"version":"f71d2d69ba2857a6ba490861f2ee808e7c362499c19e5f2fd350d2e48b990d93","signature":"fbf6a03985783bd32574b3166c2a0e9fefaef80c4616e8c1a709ff554cab7be0"},{"version":"3124c0b40c96a6ec3df9a6053d4107ef952b5353c72ff85ddfea0c56cfcb56ff","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"69c5d6b85f0bf0bc7279e1ea54579e99fe297adb8b3ee9c2cf21572e0ab00c2a","signature":"0fe3236fcc755ecae3aea84e78a420d59c851fc19f1623254decd6408be9747e"},{"version":"15f6b22a1a9dcb5d6ae6b4cb465b0c628f5d065489e0250ce46921de4c343df6","signature":"80366674fad0d2eb8bac45ad76aacdf3112cabf2e032fee7755a61ee0fd9914c"},{"version":"fbb90a9dbd791f51b834d1924bdc7ac842c4462b9d7e32b1b51b5b11e73d2163","signature":"92c9c93878f36fe51e3431455c359340aeacd788cd1f7dc1ba24faeb4fa87d3d"},{"version":"1d6bf45b076d03144b3058c0df777f1efec117c18e32e691f41bd9787514eea5","signature":"ec384f17e55f9991111747d49fc1dec792ed0ef8f3780416b3bfd79f4f2178d2"},{"version":"5a728e0098d87b3267254f19071ac06f9e4413d51f7c4f45e5f5ec4e387514d1","signature":"dfaf8ce103eb00ebc169bd1cd3e26987962b4da62bd249268a3193f0a7b9f688"},{"version":"8723abda912922a35896b3045e21d2521f4fca5890c5e750f168dcaba798bf3e","signature":"3ca35b3c39d9a46ce3eba317f661fbe4fdf88afe33cb8615f00ea04adc902055"},{"version":"7c7e71e5e39435b48e0271eec28ab242ed6f1a65e740a29932cb83b9e617c83e","signature":"321ff8aac5ff81a75d851738cd323ae2ba1c54955901b7ca936485d93377bf92"},{"version":"cc60fd980e5701b006200ca499fcfc09b7ac317785fe53307bc9a50fc4bec464","signature":"7caf7749ce99278db7ce5e5cb505f29d838da91038eab7447336688cb42001b4"},{"version":"4890471ebd70662de5400b9a7d7d04f2e2c6ae709f0b5517c964eba70b6b7013","signature":"0fc0c1e35e42c295ddd822600742ad7b6d8469daa236585225e2cb4416abc996"},{"version":"d0b7e2a5548f56597acc899917e354c348407549ded42ee13332c83b5c045bfa","signature":"f0cb4703a6fe127422dea8d27cdf77e8bd0f58b380945bade496723a537d8832"},{"version":"a030ccf7a13e613b354dcdbe5f197a9b7fa0819a4d0d8ce7d1ed0aafdaae48ae","signature":"3743762554f6bcdb60b48a23d63898d7c2906b9b64917b05cdec068049b72343"},{"version":"29228a2fd8fa9e03243e2af185473f8abfeb407cdbe4f72ed329bdadbdc484b8","signature":"d2315a4871f3b1af40dc6e9ecaca5a7271273bbcd91f00496b0038c3be25b671"},{"version":"84ee6c19db9aebc0f267dad9f38b59769a344e20ae762030ba2d8db629f925ce","signature":"6a8734b879bc7d5a8fbd40ea622c74e40431165154b8d043d0d54e59081c26fb"},{"version":"1314a35a2551c127f4844fb29fd49321ffaf3701afc6ed7131c90833121593aa","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"9d764bbb43ce204d8fada7418d0681720eb5fe4cc2bc14018a1ad6cff876aa56","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"bd49ae74cc4c2def51418f9bfb393a8b303c05972c2fd8bdbc0a7d9c88d2bbd2","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"e12eab448b2741fbc58fd99df25cc662d647313a3f5f6ad7cb0d168b35c512bc","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ac37a6d8ed49983b7045356b04ad84f58799843ea2afdc53a08f2614c11b662e","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"d1fa13f317d3637fabb663edd46b39ccdc420e0c5a3913b7fa4e906d99497cb2","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"653f388cac26465dea74d7a695412dc4285bff051db33e18a576e941c79842a3","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"9ae477f6e996170dcc13a79cdfa0a2b709f3eb50b6de974c1ed15fb2e32eb98c","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"62fe41879cae66d14c865c973556b0e24a904d9c6445557f5414007a236ea56b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"071f3deb2c96ba5dd81668fcf4f909d6402b64c0c053846ac9d2aa561a136b03","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"cc39c13ff8d9df5c8ef59f0e717e3b5b4e96f7dc05859a531f1f703718d4192f","signature":"e6ec51d846f163b420d420782dd42e40aee266aeff314d141b11a0307a86fe09"},{"version":"c3c1ffd20a88e85936d9a61507dd4726555b2cec688b11db241c60971286f6b7","signature":"1857ecaad23982cebb7ec28e547ecdb341d40713e95988b7f7d9da4c20f9646b"},{"version":"d337b2b575efa0ae09ab5b8bb94ca907728beb48ad4f9a43c653c247ebdf871b","signature":"be1b859329d61b0f74fe1393fd56c1542d1807ddf5a035b27a7153c471f53e32"},{"version":"9af90dcfb3df248fa3f8abf701c073fa30d6ee7b5758ba4de460594c56e4af8f","signature":"5b09eaef203954c253a646fea5d827882c557488a4ec3fd8cc50493e9ac5ef4b"},{"version":"c44bd1c97aec9b3731f94e4ca33797b718f355040fd1a3531cd1cdf72a092f98","signature":"a646dd3345b4cc02b5dae88b89ddb10adbd4b4158ad8c2a6f72bb83d0b38ab05"},{"version":"c7082c44bffd6cbe3c72aef8e57431fbc1d554a0db75d11b0c38fe4e213545ee","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"40b6e37036ea5959cf9db5cc9d69674938ca04b3535b8d144051242c4487871e","signature":"6d6e3b1d30af0c368c85a34df9c95d2f1318f7080ef2e5749aa4bdaf637f073f"},{"version":"a0460c3775eae1effe1641d510f8cbd74a3b430951edbddf3b8ca9cddf732bce","signature":"ff633c25e6b6144a8904e3f82d41783e674fe44816ac76c8cc92dfdd8a9c8367"},{"version":"6aba6fd003ec6b75e94e40335a2315213295714f33e38b4164aaf7bdb2a3aae0","signature":"d17ae8ee1e9f7c65ef6f4c78ce2b6a7dd5fd1524565c12e6044ba3db661b8ed9"},{"version":"a0d922327a3e4036c456f9d4f73860fee4f2181a9d31672a5061c6d26882cd93","signature":"7350f43a093be766aba20830ce8da6d5e1196d3bc17184977283e038cd281fbd"},{"version":"1eb97bd0be14641d277de8a672691dad6899dc8aee05a5044bec95a21c747db8","signature":"311e004a849383cdcdf5bc484d374e5c55b8494a7a0b86f08ae78a9aa7cd0871"},{"version":"259cc7fcae5804316e63f5d00416e69fe28d9a3bae59dd20c767d714626dcd5d","signature":"6f96022250225ecbb218212131161d0ddf026fd636d134eca2e2d4a16637e9ca"},{"version":"f5c2a1cb2d8619642ba9bd687227fe3ed43787235c8e980c34aa844645728465","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"295e589e5b8aa32d6997d6c604fe50ee40f25b42ff0134c5167c651e27c332cd","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"e67bb4ab9f1f864e9a7d1e5fde8a00ea87d512b7318be8f504ad38b964e6666a","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"254a9df28b54e73e3fae641287cf5e938315c436c42554e7f39970a5f41c8f9b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"7c83ddc337d984a6804b917c0a5403db178989bdf2cb2e1e1c62cc57badb6016","signature":"b4f0b3be4ce1aab443b18ffd19432c63b332180881e573f620cdf4d257b5426c"},{"version":"f4edf0a9027ff9279ede897f9c304c9f7e42c93170d2b2f66570698048e887ec","signature":"abe72455f516e18ed06bbb7e01ea1450572ff48cd86d4153c5853474dae5e8c1"},{"version":"d45ebed0a7af7351812afbdfe2cbfc7f88163d72bd79807532bce53cea6e9cb4","signature":"4ae59f31cbb1d8f65520a2852714b43fa800e651ddf50dc1a3e68c56d6537f9c"},{"version":"13bf5a8573fc1891a43ebea36a1ef5517d59f06c22f6e3bcacd8c4fbfdc0be76","signature":"654865d2998e7e7aa50e64fba9f1dcd717a7f378ee65b7e40311035c011e91ae"},{"version":"452510133c135fc44ee7c3ca38c2169280ba85989504826040196555e2b03c92","signature":"0e6ee02a5692f58fae9680a1c9b1dc94d3af9a97456ec14bea39bf4a9e5931ad"},{"version":"2f33f28160bfb02bedb63ddf4f6a8241cb2ff6967041643a0d7ee0909f75c3e6","signature":"e7d315801dfb219e04a94c847f0ae759b7d2b451783d38974a72e7b695436803"},{"version":"04fd50ba4fdfc24324446f14648d1c95fd08fb7c3f91b6de6a17ef503f052e36","signature":"b79d4edff2b414e35a3bd893e38505d7b8fee3cc678f7c8c06d3ded65ec13913"},{"version":"fa160d0c5713d8259b2648497fd70ba7c7b7a6602a840c574eb1c0a6f46e0454","signature":"4951a5459b063778e07d022547e89168c941ebe6bf458f07ea66f68b5f2e8de2"},{"version":"e74268ffc9270115d1d343bcbba879e819fb149e693a0e0524e1f321bd55362e","signature":"72dcdb99ca1e3ca76a476fa8bc73a89768a7404721c1ff2266d2c649bfb9e11a"},{"version":"ee82aa0ef404999ad87bb7a2baa1d75b0fd94aa2a0ff93bd673b39f7901fc37d","signature":"080b3addbb0d6625d7af627d88f46c15af2dcb962ca35a4715510d924cd470db"},{"version":"9267691f6b1c001d1ad417d316eb19e3448db243cd5eccd9e7fe1933dc80303d","signature":"a9674a62883f5e91daf466b8c3688f5bd9b54750ea57cc07a0318e56edbb9ae6"},{"version":"956a65dd1ba46dbca2f0761b5b05df8d9e4ea5e1174ccb31bd43f98c71cdce9b","signature":"868c432b61889f1028f7b0d5ac70541268dd34a158b7def3d464c0ebc5a0306b"},{"version":"5bb0181380d7d4f24d5b59efd31845ed2835be7a0e6ee2fa113735e2d14f7be7","signature":"98b45d50fc16be69aedeac7631b365ad44e5c1c85f8c535df06f90199d43e64a"},{"version":"4a7d4169df0f36593363783815c462d59ab9bf7d0917e9e8b2554709e9107f80","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"279e1abd50429cfe84b8dd7cb57e9684d8ca7864af5c3fcf853efcacf680830c","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"578015da0ecf6fb49aaf4d86e90e8ce9f46a7b6ac293ca9d810a291d42501841","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"e71fe8dc39bd428a96ca05a044b5a87e7fdb21043102d1eb4fe32f758e88092d","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"9ee3a3696c5ab964b6ba7d41121d5b4d91ed7d70d2ba7cf0dbdcfaa617d19735","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"19cbe4c67f1b32b90b7ef46d4bc60f25d42dbb6cb95f35da6d41c72ede463d4e","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c22f3ec19a761c9989950f01e38fc127ef63f2c0a3300cdd0b3b54cc28dc75c1","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"a31abfd6a1707f3d3fa8fcd6380a7cabf458285d7190030215d8a92b0c360827","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"e523c5baaf964be8dd02f1642845a6958c29a555cd32fbfa55d67c909290cf6c","signature":"939b6572bef8a2c9bf87136e11498758aa328ba7dbfa32b7387ec8905cb0744a"},{"version":"50e1fa5ed8d2e5c54944093d34c8090e6621de1976a81f09520742358c78a7b7","signature":"91da61e42b3cb07db395436e29d0d6569f0ee7755098753b533c9f2b20023e98"},{"version":"0ef3b705c81fb51f3b20c828fc50e9d2902644ce8343281c7a5c057da23c5f86","signature":"3c4e06cfccaf61e890399a0f86638295927ab217e0faaac5e8e7c2a830604f9d"},{"version":"b1535397a73ca6046ca08957788a4c9a745730c7b2b887e9b9bc784214f3abac","impliedFormat":1},{"version":"1dab12d45a7ab2b167b489150cc7d10043d97eadc4255bfee8d9e07697073c61","impliedFormat":1},{"version":"611c4448eee5289fb486356d96a8049ce8e10e58885608b1d218ab6000c489b3","impliedFormat":1},{"version":"5de017dece7444a2041f5f729fe5035c3e8a94065910fbd235949a25c0c5b035","impliedFormat":1},{"version":"d47961927fe421b16a444286485165f10f18c2ef7b2b32a599c6f22106cd223b","impliedFormat":1},{"version":"341672ca9475e1625c105a6a99f46e8b4f14dff977e53a828deef7b5e932638f","impliedFormat":1},{"version":"d3b5d359e0523d0b9f85016266c9a50ce9cda399aeac1b9eeecb63ba577e4d27","impliedFormat":1},{"version":"5b9f65234e953177fcc9088e69d363706ccd0696a15d254ac5787b28bdfb7cb0","impliedFormat":1},{"version":"510a5373df4110d355b3fb5c72dfd3906782aeacbb44de71ceee0f0dece36352","impliedFormat":1},{"version":"eb76f85d8a8893360da026a53b39152237aaa7f033a267009b8e590139afd7de","impliedFormat":1},{"version":"1c19f268e0f1ed1a6485ca80e0cfd4e21bdc71cb974e2ac7b04b5fce0a91482b","impliedFormat":1},{"version":"84a28d684e49bae482c89c996e8aeaabf44c0355237a3a1303749da2161a90c1","impliedFormat":1},{"version":"89c36d61bae1591a26b3c08db2af6fdd43ffaab0f96646dead5af39ff0cf44d3","impliedFormat":1},{"version":"fcd615891bdf6421c708b42a6006ed8b0cf50ca0ac2b37d66a5777d8222893ce","impliedFormat":1},{"version":"1c87dfe5efcac5c2cd5fc454fe5df66116d7dc284b6e7b70bd30c07375176b36","impliedFormat":1},{"version":"6362fcd24c5b52eb88e9cf33876abd9b066d520fc9d4c24173e58dcddcfe12d5","impliedFormat":1},{"version":"aa064f60b7e64c04a759f5806a0d82a954452300ee27566232b0cf5dad5b6ba6","impliedFormat":1},{"version":"7ffb4e58ca1b9ed5f26bed3dc0287c4abd7a2ba301ca55e2546d01a7f7f73de7","impliedFormat":1},{"version":"65a6307cc74644b8813e553b468ea7cc7a1e5c4b241db255098b35f308bfc4b5","impliedFormat":1},{"version":"bd8e8f02d1b0ebfa518f7d8b5f0db06ae260c192e211a1ef86397f4b49ee198f","impliedFormat":1},{"version":"71b32ccf8c508c2f7445b1b2c144dd7eef9434f7bfa6a92a9ebd0253a75cb54a","impliedFormat":1},{"version":"4fd8e7e446c8379cfb1f165961b1d2f984b40d73f5ad343d93e33962292ec2e0","impliedFormat":1},{"version":"45079ac211d6cfda93dd7d0e7fc1cf2e510dad5610048ef71e47328b765515be","impliedFormat":1},{"version":"7ae8f8b4f56ba486dc9561d873aae5b3ad263ffb9683c8f9ffc18d25a7fd09a4","impliedFormat":1},{"version":"e0ab56e00ef473df66b345c9d64e42823c03e84d9a679020746d23710c2f9fce","impliedFormat":1},{"version":"d99deead63d250c60b647620d1ddaf497779aef1084f85d3d0a353cbc4ea8a60","impliedFormat":1},{"version":"ba64b14db9d08613474dc7c06d8ffbcb22a00a4f9d2641b2dcf97bc91da14275","impliedFormat":1},{"version":"530197974beb0a02c5a9eb7223f03e27651422345c8c35e1a13ddc67e6365af5","impliedFormat":1},{"version":"512c43b21074254148f89bd80ae00f7126db68b4d0bd1583b77b9c8af91cc0d3","impliedFormat":1},{"version":"0bfacd36c923f059779049c6c74c00823c56386397a541fefc8d8672d26e0c42","impliedFormat":1},{"version":"19d04b82ed0dc5ba742521b6da97f22362fe40d6efa5ca5650f08381e5c939b2","impliedFormat":1},{"version":"f02ac71075b54b5c0a384dddbd773c9852dba14b4bf61ca9f1c8ba6b09101d3e","impliedFormat":1},{"version":"bbf0ae18efd0b886897a23141532d9695435c279921c24bcb86090f2466d0727","impliedFormat":1},{"version":"067670de65606b4aa07964b0269b788a7fe48026864326cd3ab5db9fc5e93120","impliedFormat":1},{"version":"7a094146e95764e687120cdb840d7e92fe9960c2168d697639ad51af7230ef5e","impliedFormat":1},{"version":"21290aaea56895f836a0f1da5e1ef89285f8c0e85dc85fd59e2b887255484a6f","impliedFormat":1},{"version":"a07254fded28555a750750f3016aa44ec8b41fbf3664b380829ed8948124bafe","impliedFormat":1},{"version":"f14fbd9ec19692009e5f2727a662f841bbe65ac098e3371eb9a4d9e6ac05bca7","impliedFormat":1},{"version":"46f640a5efe8e5d464ced887797e7855c60581c27575971493998f253931b9a3","impliedFormat":1},{"version":"cdf62cebf884c6fde74f733d7993b7e255e513d6bc1d0e76c5c745ac8df98453","impliedFormat":1},{"version":"e6dd8526d318cce4cb3e83bef3cb4bf3aa08186ddc984c4663cf7dee221d430e","impliedFormat":1},{"version":"bc79e5e54981d32d02e32014b0279f1577055b2ebee12f4d2dc6451efd823a19","impliedFormat":1},{"version":"ce9f76eceb4f35c5ecd9bf7a1a22774c8b4962c2c52e5d56a8d3581a07b392f9","impliedFormat":1},{"version":"7d390f34038ca66aef27575cffb5a25a1034df470a8f7789a9079397a359bf8b","impliedFormat":1},{"version":"18084f07f6e85e59ce11b7118163dff2e452694fffb167d9973617699405fbd1","impliedFormat":1},{"version":"6af607dd78a033679e46c1c69c126313a1485069bdec46036f0fbfe64e393979","impliedFormat":1},{"version":"44c556b0d0ede234f633da4fb95df7d6e9780007003e108e88b4969541373db1","impliedFormat":1},{"version":"ef1491fb98f7a8837af94bfff14351b28485d8b8f490987820695cedac76dc99","impliedFormat":1},{"version":"0d4ba4ad7632e46bab669c1261452a1b35b58c3b1f6a64fb456440488f9008cf","impliedFormat":1},{"version":"74a0fa488591d372a544454d6cd93bbadd09c26474595ea8afed7125692e0859","impliedFormat":1},{"version":"0a9ae72be840cc5be5b0af985997029c74e3f5bcd4237b0055096bb01241d723","impliedFormat":1},{"version":"920004608418d82d0aad39134e275a427255aaf1dafe44dca10cc432ef5ca72a","impliedFormat":1},{"version":"3ac2bd86af2bab352d126ccdde1381cd4db82e3d09a887391c5c1254790727a1","impliedFormat":1},{"version":"2efc9ad74a84d3af0e00c12769a1032b2c349430d49aadebdf710f57857c9647","impliedFormat":1},{"version":"f18cc4e4728203a0282b94fc542523dfd78967a8f160fabc920faa120688151f","impliedFormat":1},{"version":"cc609a30a3dd07d6074290dadfb49b9f0f2c09d0ae7f2fa6b41e2dae2432417b","impliedFormat":1},{"version":"c473f6bd005279b9f3a08c38986f1f0eaf1b0f9d094fec6bc66309e7504b6460","impliedFormat":1},{"version":"0043ff78e9f07cbbbb934dd80d0f5fe190437715446ec9550d1f97b74ec951ac","impliedFormat":1},{"version":"bdc013746db3189a2525e87e2da9a6681f78352ef25ae513aa5f9a75f541e0ae","impliedFormat":1},{"version":"4f567b8360c2be77e609f98efc15de3ffcdbe2a806f34a3eba1ee607c04abab6","impliedFormat":1},{"version":"615bf0ac5606a0e79312d70d4b978ac4a39b3add886b555b1b1a35472327034e","impliedFormat":1},{"version":"818e96d8e24d98dfd8fd6d9d1bbabcac082bcf5fbbe64ca2a32d006209a8ee54","impliedFormat":1},{"version":"18b0b9a38fe92aa95a40431676b2102139c5257e5635fe6a48b197e9dcb660f1","impliedFormat":1},{"version":"86b382f98cb678ff23a74fe1d940cbbf67bcd3162259e8924590ecf8ee24701e","impliedFormat":1},{"version":"aeea2c497f27ce34df29448cbe66adb0f07d3a5d210c24943d38b8026ffa6d3c","impliedFormat":1},{"version":"0fbe1a754e3da007cc2726f61bc8f89b34b466fe205b20c1e316eb240bebe9e8","impliedFormat":1},{"version":"aa2f3c289c7a3403633e411985025b79af473c0bf0fdd980b9712bd6a1705d59","impliedFormat":1},{"version":"e140d9fa025dadc4b098c54278271a032d170d09f85f16f372e4879765277af8","impliedFormat":1},{"version":"70d9e5189fd4dabc81b82cf7691d80e0abf55df5030cc7f12d57df62c72b5076","impliedFormat":1},{"version":"a96be3ed573c2a6d4c7d4e7540f1738a6e90c92f05f684f5ee2533929dd8c6b2","impliedFormat":1},{"version":"2a545aa0bc738bd0080a931ccf8d1d9486c75cbc93e154597d93f46d2f3be3b4","impliedFormat":1},{"version":"137272a656222e83280287c3b6b6d949d38e6c125b48aff9e987cf584ff8eb42","impliedFormat":1},{"version":"5277b2beeb856b348af1c23ffdaccde1ec447abede6f017a0ab0362613309587","impliedFormat":1},{"version":"d4b6804b4c4cb3d65efd5dc8a672825cea7b39db98363d2d9c2608078adce5f8","impliedFormat":1},{"version":"929f67e0e7f3b3a3bcd4e17074e2e60c94b1e27a8135472a7d002a36cd640629","impliedFormat":1},{"version":"0c73536b65135298d43d1ef51dd81a6eba3b69ef0ce005db3de11365fda30a55","impliedFormat":1},{"version":"2a545aa0bc738bd0080a931ccf8d1d9486c75cbc93e154597d93f46d2f3be3b4","impliedFormat":99},{"version":"4e49c2a5cd5b413d6f345797cf2db9b1de533863cc4ab32c4de16d4866480867","signature":"4ea82f415bb35563eae553ebdd9cfc541d18967c536d1bd821f38ddf50836ec5"},{"version":"b49285ffdee55942615f0dbefbad0034203e214cb288d2cee09d3e7b011c92ac","signature":"1ce3453cdf163e11309e394025bb62220b69cd2db35e2d0fa33e14cf38efe226"},{"version":"6fb616fd7eabc59598a3e9d090b8f9c63ec0beb327f5cbc441553b75a5909252","signature":"7b3fe3dc7a57dab64ad89df76681f912b6782a94c9bfd6f8db407b657c6433dc"},{"version":"565e7c8592a98903a22c5caa7be9df48b5defeb0f9dd5c95cff6cc02db46add9","signature":"19f13e301afd7de9e6c815b06b16029cb6ba524d50bebd2b381b4b5009521f72"},{"version":"6e3cc8174feee7c91df7b15357a2a608ed4389ba83455b70278f0ca5630cdfe7","signature":"1b4f6432935df03e81a8939fb7c4a6db593c5c4bb564504599aadfab1addb27d"},{"version":"259042b0a833022120c295f2e44f95bd7acece59830d6490ce6ed9b2f9ceee52","signature":"76bfe2b4ee9eca5bb254288b19e87b463765fd1a10b33269c4d134ad898ad9b5"},{"version":"978dea936709bb0ebc3aee9b7490b237c650b38aad9fb4b92993f9028107ec6a","signature":"8eb5d3569824aba69bac738c173d655d8fb61b8585dc4417a04c591d8e1b26bb"},{"version":"954ba07c66ad24d7d4bb222993578083a4423c0f92a9bac4fb9e736a3d4eb813","signature":"0b4872603cdab838437f754c0ab373796accb15efe9d82e3d45782ce193369a8"},{"version":"279ec25767100bf67c413bb2f6eccbfc5f7ed32667d4b6b6e10f86a382bc7439","signature":"723cbc31e62b22b09eecfc383ee07ad39e535c9f332b022fd88ee66532c124cb"},{"version":"c8bab87b479468837f20b1569ad2adde7f4b5970d4cec7f194649663a0adfa52","signature":"d9bac9f20a21ebebbd29475f51b36635cba15ef0ac64757307d85a4bc3eecf79"},{"version":"8166c477f254219baa01afacf9e1c7f90a4afc2efde83183553b666f582fd1cc","signature":"f4c94ca77daf02588f850cb2f4b5a1ed661d547356c7b49ddb688df1d19aa9a1"},{"version":"f5dc35d18532ecd4fa08cabfd2e035faff43eebfb9e420665926096f9d387dd4","signature":"dbe032926e27dfd60dda160c8ceb507622bba805b6ddbeff86409e2ed68afd87"},{"version":"11cb8a833e59bfb72082e08e1a682968d285a9d5667627a077c3f93935352219","signature":"990169bd34d817d6b9bf57e56e3173cdde174fdcce0cbb5b5648b0aa8fc83f76"},{"version":"b4c59f437e663f8a93ff9cf9ca54acbcd0bb596b41c0811fe061fa7e9837eada","signature":"4636ea356790f03b20ac03e1cfc5f035a5ad7098b2781b1b7f5d63f1dfe4dc5b"},{"version":"d6e741db9ff58819f77d2826d6e03eb1334773a0b7f20467685e72193eb077c4","signature":"fcc4eb2a4b4b3c403097e96ee78482251afad86a6ff172e8104717c80c1475d7"},{"version":"014f38ff04103744e6afef3477513156f3764c2b716e29dc06654ab68ee9b20e","signature":"db3297cab37c1e9cacfe2a3592be82a2a209d1dc46b80256578f8f2caa76a385"},{"version":"424b6ead84ddf54d0538709ab5ca46ea8b6d56901276a1f80427b362d6f66de6","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"45e862fe5b9e3f919e5fee2ba9f9b238a62ef805b0a5876e909b40711767210e","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"9812fa4ecfe9a3747bac23873835287b9a4d8dc9b0aa68d22ae62c284a98b529","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"f628e1f08d903c28c94074c86c836b7654a7bd1540b64b9d9f8f22c5bcd5c7c9","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"7acdf3c7960f5bfb7d847369043e5ca0f4a521847b16b3cc00df987a2a141bac","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"d0fa6fb03d1d5584fcb167aad7269de2625bba64cc45c92d023558309bfe6552","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"af2b6c41a63a566cf68c681b8fd9c8ab9fbf842078c6f5b869a7c9cfc4b5bf3b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"4f088bd2a2b33a24314e7d751ddb7f1b223459ed170ee2b149ac5fd9a2113c06","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ada56e1f530c0aed4ae9b7c1c856eb3aaf029cb54a4b22e3e171e1acc0e26ef9","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"e81f0e488795c8616fcf009f74c2eeb8e9109cbb91ab53e9b0e8ba030127a795","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"5b228259001804ec6228a9a0ebd02b8b549529319be68558801a8d93cd50a5ea","signature":"ad332b9a10d0249b8cbce5d8d9c10f0ff8f585d909d8c4b4987437c15fdb6569"},{"version":"662f4f9aaef37a862d00552a59d1aa314f681e424eebf9576b16df78419903bb","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"b24944dbb9cae7dcc4282a42546e31fb53bd8a2f2cc7f8ae6c272d5924a2ba55","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"3b1cb47f4d87126cf3f2973da87105edb404a1c98c0aef3a2a289b98fc879029","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"1856c2b5c7e6167bd7869d46273e730aedb23f80c1fc013f9f018cde1ac508c9","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"0387f0bfbd708bda5035a03775563836aa22508d2459e017f75b415c5f6b3452","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"dde98beb8bef53cee95b020cbfddc90d0012e9d98fa19595035191cd7d2cc1ed","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"d06d3fee2b986f19cca9483a4420497ff3909f6487e229467e75e62e283161d4","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"f78fab13e0f5ee19bf3e2ef18b5ab38a47dc60899def7a82dc05860915155308","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c3eba367c1921c8f9e7f231a941cac022824cb666e652cbe754ac1e50804cb11","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"2e0c7c56fd6742b25af440e2a83916cff12be55ca6c91f899f1b4fea9827a69a","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"f0257b9ac5edeb935209106b79f9b4565fc6bdef9f2b4c5be6bed787a60ffdf1","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"63f560f5cb4c915d2090562e3e16cbdabc1fdee7c23efd4beb0b8083e8519965","signature":"1af3e359f2c3a3b25e6cf0532c9b12b27c8ade0e7eb582007452ce06db289d9b"},{"version":"510995a1d67f659408ea6a2abd20ba040716a251ab9b3aa4bc5fdd9e9594c141","signature":"bf3ca96bc59503b3214f0618af79741f5a28de7d7ac663c13578af8a12fdc385"},{"version":"479bdd5b3adbfc47f37bd9bf22d82883676bbcafa88aeb49a516a62206de45e6","signature":"dbd0c498b5edc07924a5f7ebf0ae90efb9436dc2229792eaf175e16c03248f98"},{"version":"0c51b5e170545869be095bc839f0d20cb67191122528b739890ddbc443bc8e8c","signature":"800a7b9dc46ee24c46db2afa893e0bcf0b8c8bb1bd9b8db5361e34fa3c2aad18"},{"version":"226524e94156825251d9dfe885cb599aad6eb4c89533acc0cdf9cadcb7d624ff","signature":"b7b254f81d9a367bcf98769a957c2f8dfef2267573a862b52ee2748647af39e1"},{"version":"a3cd1ed171ba6baeb7ccb3355c74d866e906e18751ffccc84b64df63a4c37633","signature":"d949e121e0b71673df6140eda41341316408ac47555ba72b02b4abd3f0b6bc3e"},{"version":"eab55adf55f35c0e404ef2ed03340e5bfbfcc9f8e631c1ccb99d28686b79c60a","signature":"dd569f5b0cf0ca74aa2b1b5f2559d99655fdb41881b534f6d27e226903a24880"},{"version":"31ba692861bed2368c039c53cb3a59e542e004dfa2aacd91bb2a35107b7acb97","signature":"7bb19ff78f5dad94999cc2e0debb65a5ef8812b4507a7652b0b3fc455a9e8ddb"},{"version":"80ea52c65ce80ac3d8d81821de8e8675a7497210ee37b23efa79f21bd57fc86a","signature":"d96bc2df413362d899c2a26a8be1fbf15d38eb758a9d65112d7eee95611f0bb4"},{"version":"8ccfae3ff791af6a412f9ba9f7b6a1285897e6b705287c4a820088d0a4cdf7ff","signature":"214644d2fea678926fe214494d5b88720514df481a09f665137efc5ae653499f"},{"version":"845bcf18d7278a3f1dd5457c547952a6f328e7197b898dda3a227b5d4d5571ad","signature":"5cd36275e5e2e7c71e522a445740890253664d68f28df4d62a4a13c21e3bf45b"},{"version":"a24c35735aa65d3a2d2ad36b4885f932a63cc7479c9efd55e2f7b118c3efce09","signature":"ea58ac73dbc859ec9bd2c6e497b70d04e0b87d52aff26ec74c0b2fcf0e4d548a"},{"version":"12aced2308b1ecd6c00a900d74590eecc58d6c57bdac3f429c8f09bebbcc9b46","signature":"da8aa5942188ad3147f0afacf4c3f11b24942ed40114ac1a2fb9444119d69e17"},{"version":"531e91b13e64955b84a04472024ec7148c441fc75e2bcabe55a68ecb615d195f","signature":"ac68bf7e24525499431c6bf39d62b264a7708d2393d1aca05a3b8d153657b2c3"},{"version":"7516f8012b8b4fceff405a25b09facf3eea5aa640fd6bbd91c169ef0ba7119cf","signature":"49dbff2eb0425c00c48128b4ff64bc5c8ec07f8aa6fda343bfb9302a2398392a"},{"version":"694a38637bab2b6fd1b3073d892592308c3a863d4b1b9a2f1a9d889b7c9777fc","signature":"9a1fa87e956dd9e945a728ecbf0bcdf59b5bc35bd4ab98618c8f51fe319ae756"},{"version":"93bcdcfede8c436ba52fcbde8894a90fa536d0638dc26123f74d5c36f0e26c19","signature":"d3fcd7e5c042241fda26edb5e44b7987838092f2c30b9fcfd5fde8cc5af1b958"},{"version":"cee2534c3af7a7b6200d2d2a00825eceeb392519afb76172caed239d84ab237c","signature":"30c7af840c72864017bd24ec10cf1173f1c643359a9feffa51f6fa141d08850c"},{"version":"a57ee60e0e362aa6d65e1fa853b4521c967a31485d2ddd5037212f09910c0dd8","signature":"799433a95f4bbcb14479e6fa908d6ccf8c23fc369fbd7c6b5143026e698e1156"},{"version":"4809e58cf890a17afc290490e94bdb005528b47cfd91e293acc53317b6d235f3","signature":"4a26aafff5702c778bf7349914063554cabacbf4b74ba530aea9fd2b5c060e1b"},{"version":"c954faf290c5251991902e64a51f18bf0a99836430e50c38126a7ec753629bec","signature":"e5d7539a72d07ef9c3d686776f885111a063fc63c60c975d027b6b643970a358"},{"version":"be035cd5d01eb15b85322a205f090f64d333dc047ca1082de84837dc31c31d97","signature":"af8541ad25caf543ae81e642a69d481f7bb2d0b642df88c46a1fe8910626a935"},{"version":"15e2ba912c819e85e745b206e1e4b9d486dd7e460807f29cc5d200d1476a979b","signature":"562105feb1d69fc9516ca37ffc5e5af73d1339f62eaac2693c4856b3a06f1a21"},{"version":"5dbd0527243a6d622ede33b461f27551614d1d4071c9dc1b246a7cc9db850cab","signature":"5136f18880c11778e02967105e9fae9a0482deaad8f1583230676bdb59fb7ab7"},{"version":"3ad1bdb57b05fd29dc468a42e71c4ec8f12781a647edf5029bb60f5a8afee701","signature":"5ac419d5eeb2a884c1d260bf31248fb2a853d3628aa0d7c3a99757ef99fd6c2c"},{"version":"1386e77213c49c088dcd85b8fd7d8dfa648aec2a24cf0d87caad79db221a2e7d","signature":"f7592b9eb1b3d9d1583aec0153fe74f9970f47d18bc1aac8f9d4d9e1783de183"},{"version":"0d010c0b5a9166166771c8c48bf48e48d9d037de37903d2b2aba860d1108a2a8","signature":"137de1e22724e42c5f197f61b17ec1264467852dd37b27811c311c97d705c138"},{"version":"41dc35af0efbda57ae462f8791b8fe355cdbd57d7414e238e2622af12f83b52b","signature":"dba53de0cd1e77ba275a61f6203783f10a2b35ff248306fbd6d9689303d50f03"},{"version":"aba095f915652dc697979c0b9ca5a3111b7160144f9a1e18efc81fd485ec9c3f","signature":"f19a0c7e1142fc0502d9e0014961ee6a6fe8b9fc26c4602a72aea8c904f15349"},{"version":"12cb59f179779e237729752d89721e8fb3f91566752abbd00566039e1aa74fec","signature":"2ea178cccad298208dd3300fecfc1e882484d9fdfca4a8c473cc345f0a34eed6"},{"version":"ce288583b8910a854188400c587a0d1ab4a07af3cf7f5200e57b75222f8f188f","signature":"72d589144cb568b0b803e59532ac2df4c04998cc89d175d259815ce6a1acd5ec"},{"version":"464597875def0d40d6a0ea4bc5be50373eeb35af3023b4901fc539c19fb088c4","signature":"b8ddd1cdd822f53a7a29b4fa58240afd0688de547a5c640753bfaf99a37c93a7"},{"version":"560ec4980f9fdf84e4df149a31c676fbc624df75f33af2159b30aaad1d624506","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"5a31e889fd61c82203d9d046edf845eb54c12d63b13d2028e5c1f16c26c5a535","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"e0875a51dcc08220ab37ee44e0d604789fb0c24c6435826eff6522f9af79faf6","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"3494b784dd3988b30529cc0f271d5750b85f3d241eb612e4bec87d99f3a79de5","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"2f9d111343117be248f5860e96c68b5c55e402894408fbbaa4b031ab12572474","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"e8252a1e88c45e4b76044e3ced48484fa04faf5873eeb2a15e88813fcae79808","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"bae7d0911c58609a404bcd7255d5c80cdda6d568c3b95fb189620ed7bad20843","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"23d90e3d7b8e5a17f760fff35617a57ecd7b7f042602b3f9dbe314e938c77330","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"00ae1a801699b73d425782db51a2eba53741776741421dc8446480d09091377a","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"f89a50a4a14e6ef1a1c81b263997c2d728ce5b56bd1d93dcb907d57114ccf955","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"830b21dc28f068d3d362d407c17d010f37a9a29cc412527c274b8254c448dbde","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"4492c3ccf40d889bf6eb454af8a7fba4199af810c53d10ef8d0bcc16156e72ff","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"87cf2c3f333e89f5f9efb1df63a8798ba48ef377e41741807772248bc5734457","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"0f71169795ff0d707630c272a879dd66c35c80e967bcab7de85bb8abc729cdca","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ff6203fc384fc53b47aacf7b010c8a9bcb66e1a76f2b101ed7ef883a82ce0f14","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"a681431952e1348dc231f334ee2f4818b4be12d2a720c06f52c842d0a577aa9f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"35707dbd962f597cc72a0ccefdcbda1c0cbbddaa11bf9a072fa9dc2f2b40eac5","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"6d872c4f980d7e6288d80742c84f1dc087a0ec7531e18cdadfb47448a669c2f2","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"179703b328f92994e719755b197ff2310945583fded682cb02b88aaaec0b3d33","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"d2e752aeb02ae1be73703cc7834f9bf1de14b84d32121fef58982b29bb138019","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"954fa93b29dc7267fecdb55b80d28bc943cf370e0165963ca051c0cc6899e114","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"bc8201479e29d49966186df4e5c359d507dbbcd4f772499b365e6836e500bde1","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ce4cf241091329ede4bf94c365874f20cb8309b02ec32980d9bb47f6527e86c3","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"0a2a40abc7580cd1343d84255352967c04d3775e69e7492901f4a1636e04b722","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"4b0e266c190cac7b5a6e44cabd1abd0ef1a4c0c8b0a091c1cb92852946f35285","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"80c14a78262fb095d375cbeffe6a6b53a300098928410181ee1140a3a8869a47","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"66cce2ff73442b6f95408d5847e2c8748bb4e47e44334546e94e52be58c0d163","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ad628be53a44b47262b560ab15866282ad4d257f2f214369e5f8579c84d503d2","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"98021cc3dddc6c8ce5498e301424f2314a9f17deb130c609269c900716a6c129","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"d4011e0ecac2f22d7f639baa671cb23d19be79b0dc64c1cedcfd026469e5dd46","signature":"444074570bf4108baba10fcc87aa17bbd8f6661575c2c6784199b147faff4e80"},{"version":"d389f9c583773afa926165a7e6bccb3f3fac17939700786768a2aa8273955da1","signature":"506df86169965c18acf5c22cb324fcd3460cfe230046f06de7ad63860e014c1b"},{"version":"3d65b9466b031ecf916ceb8776720d05998648356da2b0683d77471ce31b5ee1","signature":"5284727f6ff23b3af566b99ce979915c2adcc7603f6d73c1155afc7860b7bced"},{"version":"d0fce09b7c0187f24c9b0be74c938a6c39b6275b2a648df401219a79911105ee","signature":"900375f92b808a9c742d612bc93108ab61fa9adb4b4cabee9b45a7ba8d30dfd6"},{"version":"92d32911e086e087141b1aac3b7876089e26ada9ca8758a91280a05b4efd3a7c","signature":"6d53e68963aec64794baff110983e875c60a42a3e3d1bf17ea385752c914c1ec"},{"version":"8f007c3dca0ecad92a13319d55f25476987d189c15b24b191e4d664799f4dc44","signature":"283339e0161d3b74f02c4b9c2a654650c8eccf27699b95fb6d5cab76738cfb0a"},{"version":"7767754bba2c090797d144cf7cb0f35d9460b951be5ea655123ea1f0d38e1341","signature":"b61620ca847f6b7d40ef82faaeb0dfff55ef897fd2ab60024001a674f4d91e08"},{"version":"fd3e19108e40b4bd6502bcd08768a75693473f1ac31649f1f4ef6ffd7c88d36f","signature":"0b2eefc3650c7cb2c277d27ea3a3290f5835e2ad871b17041ff92843b06bf99a"},{"version":"b14453b02122266e37e186d1935cd337dde89929a1417cb87c6b962b39af0d36","signature":"d390eaec15d04e3957d9c597121ff483b28f79e54db4c916fd164dfd70372e82"},{"version":"af627ecf76e60d85bfe1697aac2044ee9a1b4f0ee8439eb51d351db84cb56654","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"20a066d0baec26f8ee4902ff7cc7afdec57496053b60b5d3bc5c85732a14597b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c216d4cd926b1cd512c039ee12dfdca10a292a08b76ab11198dc2293eec74ed5","signature":"64718cf0d577ae9ed2926faff603162ccee149cabf0f7d6c3d2eff8bab3f54fd"},{"version":"c8fe61044fac5d42706c4c8854e03e5eb073792202ec4e7180f7397155e34f9f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ffc13d84cf2d63a59bed820986ff22900e8605703847e99fd0689f513278c8ef","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"48c2e723a61bfb7e205ee843adba993f04a9764b6a9d11f0abce43a08bf64c4e","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"51fb11dc3536081de89dfa511860f820a723519424bbc8183bd232e762868db4","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"65db26f870db2f36af509737119f27bf6fbcfe7aa413b169dab0f6215758243f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"52977bca0c3c391efb84678029b1816a997a5069d91f8de7277079ad39b00c53","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"d15dbc0f96e7b8141a77749e01a4e920a5381ca32a2aa58132bc5f7223f291d2","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"544ad2754ea5eb052e793f75425624b7522f638801fbfe50cc252e8bda11e0ba","signature":"47aeb932730902d4d8c41ec941269a416311f709495b5d20f2ddeb6f8b483073"},{"version":"75477456333eb2c8c6de6021163fb889ce42464239529345f7bd77a77414a743","signature":"1416dec78fa5f6be6be2e406d0cc50d6f98ce0c77dad79080d5e5a80be18084e"},{"version":"0debcbdd5a9e7131d85401b18ef4a9e4dc73a0e08641b30d08004be0d54e3ebb","signature":"e28422e9a6af42ba47f7aef0833e002816fa287c438cdfb33754716547da6bfb"},{"version":"b7277bf592b4832b905af6bdf6120ea14f1b9a9210efb7a4ae3803a87287150f","signature":"3922dbc2ce29d177e9d0c1abe636860f8a1559bc545abd790c0060803fe2e1ea"},{"version":"9a106f225ee7bf695ed69744df6cb6982083b3f9c2fec9610d5ea74e2e49f6d6","signature":"9dab80bdc4cbca67c3eddb3cd102b87f111b1e4d1ba1b3a0e27a38258e31e426"},{"version":"6cd5447706373d206d3d5d7412e2c420b673212ccc022b2d1b994214e37f3c81","signature":"c7a00bbb89a2cb3e0d5521251755518d81666c561cfe0378d03268570d5bdc23"},{"version":"ee863f929fe5426c76035836a7ba28963f00c653a43fe3c2cf2105b3756b9250","signature":"4645d41794484aad552e40382c358fa91dab4452296914190ee23be7af3970ba"},{"version":"ef07c47a9f22bffbb585da6ab96f379d97e6b72fbb658e78c03b11702cd1dc6a","signature":"3896cd910e22538e767007c0f988c5967112fbdd06cb050421f37d80c3736229"},{"version":"e561876a844b5d66796e60c5374a55e3666d17b8026012a3de1e78dc03e045a5","signature":"14001c191ef845d0b28e603f563f4c8d73166db39417fbeb04d227ab4918296a"},{"version":"2bba20822fb6a665abb0944bd00e587f93272c5aa1b2a513eeb9f2fed00a7e7b","signature":"785da1f883cb1f23d0ea0ff209153ea69a2c92d6fe7cd29f8c60fb9776e679fe"},{"version":"fc9258c7768321dff71ae7ff240ad1b5a6b204acaaaf8c088d37f1c4d644f20e","signature":"cf15966bba8aa58508d7159937e65485e4a40ab41fa2accefb0598833cef3af5"},{"version":"3412b302dd9ce2a610f3c2922b3dfdbb429094cc99ecbc34266d27a318db1ba2","signature":"677d31b96b2ed39787da58e41524dac24a285d4847b9413d4ca54e165afbc66e"},{"version":"c78318850aa730e4e4d4900d62112d87546cf76bd8c0f8a5389de62a8fab97e9","signature":"99f2cb08736fb3f90c502f329487966ef577077791b334b1d4ed5f0ac57a4e86"},{"version":"e21face6fb69732353a584c8ca54d4c4f32840b9d976bd2ed16e6e04ddb1b689","signature":"ff61de4e1af35108cd592760b2ff1a5f58eef3a4b29f4172412ef408143d3ae5"},{"version":"cb29061301b3205ef763d9159d82d81dced1528068d82d9248aa828b293473b2","signature":"49e666988a2e38af956233e189f9cb4667ee80b4bf738bd8ab61b8cecfee2e45"},{"version":"47049411d18af8a4afd89d6507e87fa1e1f761cfadfc49db94ff0fda85e2db4b","signature":"696d0b315d34950d1c089eec0c54c6ccdb7f2c19eabfed730b115fc4f63ec0a5"},{"version":"ac87cb8a327e1a7e15b3597bf1ea9207128645094941d34c91a4f4294cb50c38","signature":"834bfde39ed7879cb9e282fa632acbe344fe8d7efa6d01d05c6c6ffccfe806ea"},{"version":"a580c25f701be8158ca4a6031e21954544e71edb470a31fd4a572b6aaf3c7064","signature":"893922717b01d38bed45f1bc6ae695c6e2cc76d61599aa22e0245b48fd51ccac"},{"version":"4e5ac226a5b7a72d76155e280d38d71077346ad9a60eebbbdf0b02b8c34a8512","signature":"51b1d705ced6ea26b44f528941620e1b0fe53538c5a245505f55960ebaef5dfc"},{"version":"b552dd1e51bbd18d0d9b4904dee01cad165d7f0d3471b42f00ee36ca78cb81d1","signature":"c1961b1d48bc6a1c7f3d115979d6728a6a8ac59869688a5bde08933c18adefc5"},{"version":"a6ea6a6419bf0d19369d82a80852c63bf4c4585648584fbb65c3d7cfc2aa688e","signature":"0171411fb7cd328e3fd607c8cf7180a7eb2cb4a5076596e9a92bb5acfe7bbe71"},{"version":"b83570a2939d33a6ecfdd2766a3e416ba612d0e8d6f83ad11156a004fa033c77","signature":"2d58b00459deb63b953324cacce6a50bdd0b7d7487eec5e0cb52c21a94e13212"},{"version":"10a08fede9729e6432dd4a751e6d512f298fbfb9d361104ac97a2f4eeb2a0625","signature":"2141658926fd33244c616646eb68fc34928c2c3e76cb2f0fcc49f66b7a6c2e71"},{"version":"bc61fc23d7edea80b3b85d754724362b59e6d56525d7bb05ba7b4273ec556693","signature":"f6ff1d64c91ce81781e458845b7c9d60e6db6a839f8f610bdde2120bad630566"},{"version":"a6bc0506fd785d58fc01916eed093992884c77047de6ef24a1984e870958f3b9","signature":"6c67fa30e0db9490403ce70c9bd112dc16256f74e793f48501b0af56cf31c2f5"},{"version":"ad2345ce3c282e2cf18f6b9c9098ec038da655402193981524211c164afb1d67","signature":"f64b2fdeda264584f552af5989f35940f639cfcd154b7b143f2b6335b3e2d5fb"},{"version":"0c1796a501c6864c18ba2a7ba3f9e063f998020cade59f8c9edf501b2debe80b","signature":"072d63362c70c19e5647e1dd12ada4492213157c48c17ccd13a008f9c6b4a12d"},{"version":"fff564d3190339b73b85706aa70eb69e8267dc0253ac5a1e56b0e64d959c49de","signature":"b19e055eff7a9ba8d3416874c9a679d800a5df0a0c5219cdd5aa5335c6b8b072"},{"version":"1f1066331f5418b79d1a0451a8919fd6a4f80f4cffe62e7bc0a612edbfa59979","signature":"0066d534bc21d42a83c7ac15c49dd5916bc95d608c5e0bdfcc9ef3afbc428c59"},{"version":"778019a2b3ecf4e408cb6b4c19fe86bb89ac9af1420d4564adb23bb7a8d499cd","signature":"802b387d5e2908cc0a771cff3255990766769c9d5ffd5a2383016ad9594983f1"},{"version":"dfe635ee18c68c794fec2683acabe0f2126c60c43b86ae10347067007bbcc3dc","signature":"0e094d3f18ed4a44baa44ef3264239439eadb03b3f8e2ae278d766c852fa0754"},{"version":"2bcdf74ea61885bc9a5da25620364899a0e8cc6a2f6bc0bdb44d7698152d4d22","signature":"bc973f44ba5c54e1074bebbecdab061751028be94340dcc5481d06befed1f855"},{"version":"889c6cf5d2f17ebbce07ec946521f4f1a8fc55d9530b4959a7ae954ce7f0300a","signature":"170e54c7b03aa71a92de1afdd4cf56b47c9df01195f98a8d933771b75ecff8f6"},{"version":"bbc45438a3de93d2d44f46fd0cbded993b3f8afc82779a42d0a6819a10898fcc","signature":"f376da706da2e3ce62334b6d086d2d91040531879603f039d3cb7682d8d889aa"},{"version":"59ab338408ef153ccb09d2f9fc7d6b734816c4aef64bb3d55a45ba6b0aeda085","signature":"6f166a044fc4fed85f167f611d19bef8a2070e23281ad7aec01e77836c80287f"},{"version":"f2733e4721a9ff2047d46ddf9f771aa053a8f482f93d4820401d0be58dde660b","signature":"e3afb59a25c83c15f7f195f4fe92300ff8710b2a60850e9f869a07ec5a228838"},{"version":"2da801eaf4f2ea1239756d98a1f77196e50d28aa3f38d026d33e87080a9ca2ed","signature":"10e113ec036dd44b69d961f2b6616239ccf7f025823f75eec292640c3b4a793b"},{"version":"9b8fe8fec571083bdd81e86e1902e9e99e100985e71d47911e656f58d137ec0a","signature":"2fe7ae68eac160827cc1ef3f71109e12ae1ba4c407fcf41d653877c7a3008970"},{"version":"648918d205add9fb38acf3aeba4ad0f8663552078a0ef88d9229f9043e6db9c9","signature":"b01970e81b7e682cd2d51def6b76c7bffa451a1b58fc54b528629c35dd89c9f5"},{"version":"4f497f1f0c4153d252b50cbbae4847afc128d1f559cdfe39913db6eaa0665a0d","signature":"ba000331a8a0915160cf82ffd04d583bed6ea5547a117b8d88ed7d3ff6eece7a"},{"version":"7186d0d726a3a8f548244125b7949c90c26df7f62dbe9b4da92d29085689c694","signature":"525d97773ff298b2f2fbdf14a791f0587ea0172827b6ac8821f3eb70b20aaf1e"},{"version":"24892b8255b88ef0102847ef8b231c6bfc0ee618a69b17e40ff1438f9997f2a7","signature":"59203658389170eec22beaac1509a33cbbdb6dff49b69e34593aa96c90c7de1d"},{"version":"60a28a6645fd90c478a67411ace540cb1536c528531bb62c0de8e9aaac5a3f75","signature":"2769f26e263572cb6b16ff1b24f373ded17e74e710e33725c98a22a0b7ae79b6"},{"version":"314650281c03451fe80bb91889aec0b247946fd5b52a318d51c5faf64cdc57ef","signature":"5fbeb568fafddc09e602cdbfda7df5cd0e561ba1dd8443318f1bb3b586066c9a"},{"version":"5eb6f59add08957f1f7a6c583caef9a1fd8b43676d07f9d8bc34d551ed58639c","signature":"0ce70420a3f859e7ada24e14d433bf75f91954ea538e9f25cf32a9afe7e86539"},{"version":"331f125eb46c64b5e5fed7c825d7894477384bfadad74c2b753c4e18d94cb1ec","signature":"e3575536a31286b081d4db3ae027a171f9567fb73765c91c67550cd330650e49"},{"version":"656330b9d0697dbe04cb1d8b8402b3ba3953dcf48e4dea01887c992036bb173c","signature":"24733ebd4c83b4d7b05b39d79f1eaf60c6edfc8f0da5c2f848b01517947697f7"},{"version":"8c4c8c4467f9519b0878333232f88ea38920588b21fad94d09e7d191c1fac691","signature":"5bbc828ff668bd2cad6f88b3f8bc1e85e3ab4a84af3eae83b3931bddb79d5d5f"},{"version":"b7567dec5ce2d27ed70feca5c5a53b033bbda727b3d65c1eac4d5256adf09315","signature":"31f22cee584992be54d06fdaa9dec55d060c358cf67c4d162fb2f5fc0c98283f"},{"version":"d486c2b69c4a09b50d1e5b0e019ed4190cf78f780144b7a3f7a79f65a17bb297","signature":"b4444c70cf4bbb122a1983ec33c297027a05fc1dfc23376d3b140745a58a2ed6"},{"version":"3fdd816a89658af2c138cca7937abd989c6fcc55666d2a3d4ad44bb9ba899080","signature":"15c69a20c8c5420b76b7c62d82cb284a1608ad67c2e0d1a71e3e3caf90bc4201"},{"version":"4d87ee3b202e0f2f91804622d86dc5cacdf3596c0fd62e4debf04d02ae25bfed","signature":"fa281b36685faa9c4a9d379f8a1ebb2f13f7a09f19e184becbc8e58848dc2396"},{"version":"b31b19176905ca4f84c7f6e72a874460284c99f372c4d52379d782608b422982","signature":"ae6b5544fce2c65f20d0e7702aeb8e5bc2faf2c4e813c4ae999a44ca2d6b9929"},{"version":"2ddeb4d8ce27590153aa6ee84b36bf9764700d7260124167167a2d2a32166bee","signature":"68597f354e4595d3f1f99cfed58a445a66dd9b5d4ed5d8133e445ee2a3de6cfb"},{"version":"d0e3ecca436e626389cf85012c71f5da415adb5c6e51b5e5dbdc64503813f4f3","signature":"1aaeb72b56fbfc7fe35e5c5195bc4b102fdcb25a30fa39a8dcf26e4e03afe4f0"},{"version":"2ac12549f1ae0aa1775782876baa9c06e9d845be26d99ce56a36276a8831a395","signature":"39df2da2a2737d9f0561b052a23093c44d84bab8f276b5bdf2b3e41094666a45"},{"version":"79e36ac740e122de9323550df934df06c908a26820f221c758dcc16beade6618","signature":"24bc52911181a6e9ce7ccd5c8fc3b03b998f5a3ea71cf80e3c93051b68523ac9"},{"version":"fe4738dfa10075cf101520b083b4c4b5eafe2d3131e503350b9da17d32c36ddb","signature":"21566e332d1f7e6c8890b6bc364f4d7e12afb504b71651d6fb92fef4d17835d9"},{"version":"433360c6f22f3a29649a6c049add7d38283cfc5bbe4bad9ea4868844f75fa19f","signature":"b204b8dc8a299d4fce994ceac613f46bfffcf4486c9a5b9f457f42f5f518b0fd"},{"version":"672ec17aebc02c37f3bd6a75778652f5cfcc450b0b2f4dbd8d5821ccc7909af4","signature":"0799f99f4e37567f2fe31840ff206efb30c29b21bdb0af72d55aeae15c70760d"},{"version":"6a07be07a26ec5af9dc950aa64785cc07e7430ace6016d9c46d028f0242267ab","signature":"1ad6ef3b1c1c48d5cf24ed8ff9b0a5a5592dce6ade6d6827d3fceaa920f6c500"},{"version":"7bd42610639a14bb0c854bde2d3bab07cce272b4f9699027258eee83d5c11a73","signature":"cbe7252f19d4397211500df1c2861e7c4ed9218b8d1614ae2d11ca03679f9551"},{"version":"b7b303f6ccc15e4db96956737e538d893c25b7092a159a39c0aa8ad932d3c636","signature":"c2f55b90471ad64c25a4d547225d37cec7d8f869fc5bb4cffe6c71a8b836f4b0"},{"version":"8b2eedc0f7bacc05c6f0b56dc41f46d1b06ba1b9868fe0fe77e8cb22bef6f2a9","signature":"198353c3f827b800288c5a5cb74460fd080c22ccc9881f49e9f5ccc59b35ee84"},{"version":"b88c263e8002137069c4eb8465e04aadf8e3ee2692abd24bd1028b7c95ff8be6","signature":"da68b6e91d25229268f69fa9173920364f23c6b50469e9e01e663e0de32fa6ce"},{"version":"e0c10ae5e38df160cb240dc9e46ac464dd22ca7432f783f75d77b1b0e1aabf46","signature":"a53c9821c1526959393efaf002082f8644ab2054f490e9aa6a0d23862d0ecba5"},{"version":"ae6c80232b4c2c4a00fa2f7dc51552a73683afd6acd88dc6c8a745cd39a823ef","signature":"b5184ac9282a657b51d247adf925cbc239c16ad3cdd8b4dc54dd369673e9a321"},{"version":"836c67975c14bab40219199b06943be8d0fad58e69433766a44756ce2b4a45d7","signature":"26dfe7cb950c6dacabb59453b56e2a71df14e67dc91ba3a35402e37a109393e5"},{"version":"35f8d54270fb38041542b59b72d6b366c95a71085618fa50fcda69a03e4decf0","signature":"ea3bb88cee2f2752e48e75c00ba80500d1ec9404160859804ccddccef1002ddb"},{"version":"7e046919e443d0a81ae5dca61a8b0b94527dd76571a734299ca1e1b4df022e96","signature":"37756386a07460ca40caec0a192629c709af57ecee057bcfe7c311f5da0be5b6"},{"version":"7e850826265f72fe8e8c6c8ad800e9a7fcffed9d1c28158e4386c3bc946ecd13","signature":"90c7406dcc6fe0fd8b0fa3e23b8b1440b2506d841d8e629a6b1df0283c8fd1b6"},{"version":"e96d5fa346f765a394c6d3a38bfab6dabbc902ce7c31953ce10412d6090bb46a","signature":"3eca308a8adead7d78f165d89c01c30c4dbf141cfc5900a563ef47bd2b652a27"},{"version":"64cd8e7ebad2b8827d66171a80c2b516c5a57a91eddfe3f9b317faf8879dad26","signature":"084cd2150bfe1929b5fdad5847010232f8d7ed1acb1a965409d1009ab02b945e"},{"version":"68ee63044e87286b7a2100c05437babf550d647e748e3ee66ea6ad4cb268d52f","signature":"0d27b4098a7f8d9daca5e7f0304750773f03dd567b4d7d49db9a983be5a2e57e"},{"version":"ff60cb0d4b987911a9db25c4e372a81da6211e9248bf9eb336d2070b77771bfb","signature":"ffae22976581bd977560fb6a27d3aef9508d68c714c28c9be036c1ebe38f26da"},{"version":"187b3e36e643d6484ba0286c361eadcf4d3f4174865c8bb2e92ede5cfc0206c7","signature":"742178df5f8a476681d0544713fe87cee7a790042b11b27da9b102e80c318bb7"},{"version":"b5cc0ba3df9e33e2fa3849d474b4c558b77c854ec3addb719919720786f2462b","signature":"7ffccda9f5233cf7f4dd76c403921a51a2db0fba00c6d1c5156f463d95781b86"},{"version":"996c05dee2488fcd52dea0baa6bb03cbcbbd451bf22ca0982ffc1bb412ee5dc3","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"e83b7266b4bc5653f60004a5a07e2dd1484a92b256fded2dc1fc65e828b4bb57","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"2853d5c65a6ad064deedce24ab8dbf06aaa5ce9542a47f078fe02f03ac7cdd03","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"3383d105a4eb14ea4ed618769f30b75f90188e7935364332f7082793d1196b9f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"d96eb2f5d3802c4a877dde7cf5c19f3e938d792a6c623e806c9cb3d64f134d19","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"df1cb31463ecfb08b80ee1fb021dc44fe79934972679382b951fd13eded5d250","signature":"2af67711c0b92f1ec7bfe590266fb550a2a274b8e60fdf1a37d57af36b0bed07"},{"version":"40b19636fdea5f4ff717e2b8c783e06978d56ddf2e56cadc547203802f3ac0ed","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"dc0e638cb5f96071486da3fcc349b7f938455220ad96d4e80a1afb444b7fe0f6","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"b65293780e6f9a13e12fd16c069c51294f40e1e12a28add6a26d8205c74b17fb","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"82a1830c87e3d98fdd26f717ed49b8781d7fc773c0de5264e05e62640da8987a","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"e7b9731ae386cc1518aaa4172cab2116a0b1a791cd8ad34ffe09459f4574a415","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"1984ac4245d99924a641f9d1833899c51fce20f0c51b713d21f2d386c87f4492","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ab754ad0ec19423ea27bc7313015d6cf738360f4631148d2d49b9b87c0a46929","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"1395fd01fc1397b94c1c12676294a680c57d649db4b3b28e1c260f0ebb541e6b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"dc40a65405b276cba2de5d724820da75d7e30c9e7d10e405719a7be5b3e31a5a","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"4156d5f13cb167807cd3b50f1ab673c57ff0051d3c5ba40aa2dcf95f310465f2","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"1cc522ad210d2c7dffe081392e099776aea1a12b7341387bcceae1546565fdc6","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"0eeae146f6113ee176a29b1625a3e63bf9e84e3d15c25b672653db26e45d8ba4","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"85251bb0af0b000acc3eddaabb09b481db2d5b09be42f25d52b056b966ddc6c8","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"a63ab84a834b223bc3cd8224f1e39c2ff0f906f3c29375f1dbca5a34ea1b4005","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"093fd001ca343779855f7f386b448d526e734c0d8c707eb3b979eddb84d40161","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"9598e8f2c6880331c2f57e6fe39fe65d279d5fcee0879cdfcb10f676f2af9ae0","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"2deaf139a18640875564d069b8df011081214018c145526504bf2e378c716a3f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"8e7a92c6c568e3073f67648be4f0ab0e8d77e36fcfad8aa97bbb268ffce6cae5","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"e83e2744eeca7dcb383b5eb3c62b90613f90dbec6053450678e6c25b52863c47","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"1c26429a84968da0f9f6818874208d5395d5d681789eb62d1e97874afbe55156","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"831663ae7da68955e3dcac239c6f0c4b4ba951287903427713c0e5434b268c3b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"a5032259dba8af052f8650efd4b8290d61a0213e30c43255cbae505fcf6d1581","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"a61e00af63164e828f24a3b5abb6c76837562fb18ad83607d245762b92566c22","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ec80f7ad05865aa145a03395e48710a388452c5573da23b8680f9fc4c40f7023","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"0c2cca1042ac885087aefc61dd07c98d4d763e1b93da979e9cffefba1535103e","signature":"956433971a3be8ead015f2ba25dfa9b9a9dad91a092766686625e24987c820d6"},{"version":"c09f68e9c1a48069d3e39fe2e1125f96de16d1a210b0e1822b1fcee25ddf2f43","signature":"243160e9793898a75bb1706e22e14be7dc4f7503439d0bd4385c9002bb73a9f3"},{"version":"c1acbe64c0dffe2769da1455ffa7a7a54c630553e711ed9ce686509d5a7ca22e","signature":"ed6c54273b0447c505914973fedd613d6bba8426779fbcdf58d1a900bf95d3cc"},{"version":"50dc2f59a00d680eeabc050af25b1e67047756935d858c7f1b11bfa25064f92a","signature":"f6aa1162ff9538566b39c5592f558b1dc70974ab34c3d1a592bd7b65711e988f"},{"version":"1418e41691be1d8e5b6c0ba32ba0279999a75c035c1826b88ae914d8799ee8a4","signature":"2f0415ffbf291a21f7b8e32657ea9757e9b49bcd4b1dad5524ee463a1927916d"},{"version":"68a712c8150b2351406c2564d71be4e6bcf2ca9d5d5a241e99421ecd917043d1","signature":"f1447d898e5612d1a748da9566c03045a70199ff3535c97280baf53da785bcbe"},{"version":"75b3fb36bd172a0191b3540170778693e0d098328f7f6b783d0155848717a104","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c360f159bf7cc50cdbf9fd68912ac63bf5889b7220045435cc681b4fbe0b8f99","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"a93c39a33bbf74c81cd249032ab84d98f1bb5b86a5d557111792af7fa51fd3b3","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"a08f9d6a255a986f0709ad01ed4719d10a78c911442258e3fa586511e54a68db","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"0d74771d5bfa09d8ef0f129e8f5d5f64fc0fa44ca6e2319d711a301544095623","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"aaa89e91914fae87683fc9b47537b7561fe705e3a19ebe436209a8553a9504df","signature":"78ed4e422bb1101f6a3186fe4b0b70d24d3503382ce07299b406a68f01141809"},{"version":"6d55514cfe052291428316f8b5ddd2620f161abcf9d180a39ad04f2572852a5d","signature":"8d866b691c98d47c7eecc6462e0581e3c9e62a4b13b87c6a7f830f0c2b918015"},{"version":"e34138d79ebd653b7302f054d2f5b086c40075dd387ea3c02b9cff1cafbf66c2","signature":"488ad3e9fa660fbbf03ee600d13285edae90e156fbb5b1c5f4ab396e5ba87226"},{"version":"6c6f6ae7a61d464a58070d9204181c34f88def3da2364ab213b2769fe1da314b","signature":"0183321e9456c163a3b9630a73441c67d709bfbcc7425c09a97ab1ebb83c1216"},{"version":"5127b9b6ba7e44bf0f19be849f84f323819b687179932f585dd8c75eaaf06699","signature":"aa43218ec3abf932ac6aa3fc859581b8f2fd8c9469e3c919408062e57d232bda"},{"version":"31c12db46e3320bb3d198856123b8875d4c18a00a9e8e8e6aa4c87153954a24f","signature":"4910911105559d5ec48fa179743ed357001b66fa8df1227bdb5820ec71c3c5bc"},{"version":"442f6f1df0e9859c783e9c1260324833376cf2ef977b0a8e7c5fe85ac45b2b4d","signature":"2e9fd6dc4a8c33cf0b4b359754e567e8c5c4a714fcda3716a4c1ea413102c04c"},{"version":"727b5a06aa2c2d16692b1ff55cac347033ee492fb0132f3843133567175c5926","signature":"edcc0d9e675c37f8b8345ef683965422335c183997a5abae692e03fae3b476d6"},{"version":"104321bbbae499a49b02b529e4e5176eeb094395ccabb51475b94ee7ec3fac31","signature":"cd789dd692d4dd223dfd8938a1dfe00325b137c3852e6a85bfa9ace8ed00a10b"},{"version":"5a3f2307803c0223548b437071fdb03acdde7c6d902f925ca6d0840cf520609d","signature":"b5e0ea031f83d837aab204deb17bb3dc7bb49f3bc3d5f5ae00de7055b0957bdb"},{"version":"90ddbf56e752ea3aac5906c0bf372a35361bfdd05e37674295b930d1a6145676","signature":"f9dfcc6ba837fe9dfbdb57b71db828463f35d1938c29d7405b78935fd6551ab7"},{"version":"c2b14ff13efa6f52e216edf01f1c25f37e77d68d269fd61e5d6c6f2b24e73821","signature":"60e6043a56300fa24f867fa24168c0ce827d6154625db4aa79ed2d49432f06af"},{"version":"db89abf280f68499f246e5e7aef6fb38059f8d9ebfc4d485e89441d72cffcda8","signature":"e605c17826925ef50254a6f1fe1b7615d239bf637b30cdb0df4637d362fe265a"},{"version":"1ea8cf150ecfa2e7100ccb91fb039af6b12d8f5f022266a716f6c6d3d0564280","signature":"307b1f6b818d93140e0f0a31acaf65d20eb606098df57cc97103fb0d83e79529"},{"version":"de3c3ede735330a69dfea482cc4d40bb5ccc96bca1ce3e0255cdc07e96cc93ce","signature":"3e4b13cf490d9a92245cbc3e5477dc486352b38942d390fbafe48c4d9d226d1d"},{"version":"1d75e713898af44896feaec991b57d2e9a23e8790c7715eab5617b37c81b1304","signature":"c44cc8c4930b76d1fbf935484045f099a078a0e56218439da28da5d829065a89"},{"version":"5f9b6d57bc2ed6cceb87e9a2e70df1e166e058ae591cd7d79b4df695feff00f5","signature":"0d2eed2f304bc1f3b1d854f9f66a454ab06477ac5e5c4541e10b6111c9b288de"},{"version":"97eb85907e9102fe9b0b4bbb7c20414a473b718ed816112ff4895d8250323aa0","signature":"1ac9fb8cd09e61aaf85cced63abfbebfe7620efd14a30559e8c4197a629212b7"},{"version":"73179d9bed7d28d279c73fdf5c7ec4dbc78493af676d383b3f3c5c35d839e7c7","signature":"65c789d98597042f1c69b58091dbb80443537c26f1dee66c37a32ee3c625087a"},{"version":"cfdec451e6198722f6f1a470ae1d702e91aba34c5a82ddc8ca2c46eb2841b25d","signature":"51e03b177ae1693a016731d78123a9375e88191258438907cfb8c28289ccb8bd"},{"version":"f73cf056e756688b97c5e8b366b8516a5cbc18aaf1d5278cfd567db66b4c77f0","signature":"f26c96975df3621c30ad0e860d7cb2679f76721cf94e7f8a733b9f3e73f87925"},{"version":"54eaa7d22298af7a0955a128fce3d0044d25b870e7215965932825dd037245e1","signature":"bac0a2c0df7457f1aa977c6199e5579baad02f84ad8594b715b67a312124bcb6"},{"version":"67db0519b154d60fe0d56320f61bc3bf384d2593e3721a6737980cb0f55db65a","signature":"53f10c22876bc751399d19641a5d1df99980c8d1b24ea5bd17e074a4034e56db"},{"version":"993f4c89fd25bd6aa86e3329183f0ebcf30123d243bc6505e945c7d23213fbd1","signature":"076becc81584aedfa7349ab56ec3058a2c48e51aecc5ecdabc2fd4aee654cdb3"},{"version":"5c0d0bc099cf3cde30d02b2d11f7fbbb934c2434cbfb69d8d67595bb2ccc1d95","signature":"43b7a0a2b2def00095492d167729428073dedf1d85c28159254d3b64e77eb0b6"},{"version":"70b90a13137fcb5ceaefaec6c636bdf5ee4fec1b03803f5bf1d93d3443231741","signature":"a7ea8dac8d777c73d4af8f9fab282c874cafe6b2e8398ddfc1e4e1a00f2f44fd"},{"version":"d9aba09758928ec2439f08c4736980c6e52ddf6a0cab476c161b3592a34d44e5","signature":"ffaea7fcaed416769800cd74682a38d1335953e1eb903bb59c22e45cced12b52"},{"version":"ec2c18e6b7a37eb0d6e2b1946819bcfdd6a3530a0fae92d1e66921f76f4d0a64","signature":"f426dd38ca9ea55f46616efa6421e5bd496b57e2674693bff57773025d27c2fa"},{"version":"b7fbd011f1d4f565014326bf639ec91adbd5b12920aef08686088f7239174138","signature":"c892b55f40a8f35ede8ef7f1e0cdd1dfa70b22bee55d10674222bffbb703ef02"},{"version":"fe2e6c470b89b10fdc90714c6c734713dd0809189913130fd31fde1c152dd96d","signature":"d5dfca986d325fb72b02cb63065520cc0128b46d77c1c68441ca2241ce17113b"},{"version":"e221838e10f6d2c4b1fe86acc4066491685a9c6e878ce39480638cadd1fa2650","signature":"b98c55bf5fe063f227004fe751cd334ce9690aa25afe7be7570d66c48cf86e56"},{"version":"742bbb2ee54b65f16f77094b8444fff1e3f1c4aea3a2bd44cae5de3fcc369411","signature":"8d2883f78b4357f180fa333405e5d6c5d1d08305042060e331f9b4b21c262dae"},{"version":"75afb6ff9788669e2436bc9964bf8392fa4c9b8c5a32a90aec796cf5c6396024","signature":"735237be4f5d65ee08fee8aebb1d3171d694e579cb3abd8ce733e4d80bff398f"},{"version":"dac20589f2919a63805df5e02ca738dc974c5363fae35c526eccf6b7f9dacca1","signature":"a6d58c8a4ac0a18d66afe6789e372e54e3663f5198753e6e94481cff20b7452a"},{"version":"be476947bb48a7e4e2a2bf100c43026c646e115085d076247f276f88111d254d","signature":"c34b363d2b6cac61ffe29e155fdac051d7caaa197bcd33c1dbebb9632c10dcf0"},{"version":"2ac6ccb06fe5f8347cdd33086f3aaf60e5abfe93088eae2655b044d1b94807a7","signature":"092f1a685f107b5dcb94b5d54e07eaa58894ea17312c10bcbf11921448776f41"},{"version":"0c0f21b2b2173e3f325fb91099b32f3e19843b80a92f4ff2ff5a3d4235afa72a","signature":"e5861628b3c26867cdd721803b8fd63ac2568b1a32ece964adb39bcc895a1ce2"},{"version":"f8bd37d0e25c4048cb2f19e6039b8ebfa0bac6d24ac8ba58aa0fa4efeaa571cf","signature":"e21a61ef0088c9d954930ad728286dd23c0dc3790192a6ee38dfe04a0f074140"},{"version":"09256332eb93d63b5de0c4c87a64562486589143068b03be359bbaf2038601e7","signature":"b33f409b8ccb6bd57b604bf76bed489fcad328a2706408b6c444333ef7bbbb7d"},{"version":"2dbb440d516e8a8107ae311ca6371d7808832cab07de9c432b60d3e3a7e89d5b","signature":"eda6d5dc9807881492ab8f1b3d2e72637da870377f3a4742979f049f492a8e14"},{"version":"902e282c71ead15e2a97e2afc048d9eb7021c3cbdfdd39f9b42c9bed40cd73bf","signature":"7d73e178ecb304b871ac7db31ef6508abbacac21c1234cbb54dcb173b53a0a6a"},{"version":"d48210a6d909980fbe83eb6580fe3a2642fe743539c17cfcf8f89dbf7e8b9c36","signature":"638eac046436ecd6f612425af86067e56d2a699a83a5eed192b905a4e9e97eeb"},{"version":"47619c44defd5c99f0b986c74fef5c9f9ffaeaa6afb907243b44866e7c83a7af","signature":"8c3fd3b6a65fa8303f9d49811d58af2dd6e2b1ed761fef30b817747226551b14"},{"version":"4b9d992b87f07553e17f4c0fb0043a26241a95818067b6ec797dfb1c8f56a1ed","signature":"5ad606a8ca9d6d3baf284b4af21e08329b8bb2b9963eb9c8730a4f4a0251026b"},{"version":"b820c9c3de6cb1040413353cacbee04c9b8bc8dfa653a4aab2c25aa6c7c65120","signature":"35170f7ef283cd4dd0a6848be2cbdb95d0d3a1e3472a12bcf21fa59d6f81c778"},{"version":"5ec9b5391ad2f1fc9329b4d7f8684642d34f6c7fd339fbf5074ea3115ce9b5dd","signature":"9eaae9cb3456005143c5fc9a8938ff63f654a96cc6e1b0df490e68d0815a6390"},{"version":"615e50151e5cc86eb9c7220aed8849841dd2fd2b2cd6191cdd12943c5b95cecd","signature":"97670088c72dc3f74a553fbd7594d6647c0425baddb95661037559a2d34c6030"},{"version":"fac01cc464ca9dce1a0a9480945abd88a0098d2e8787cde86a848253cb20ff56","signature":"ce511872d83ff623f8ef004de954c7688b48dc397e4d06da86d2b3ee8be28cb7"},{"version":"21c8e068769517198fb91373415bb22206cbc7b95021c213c4b70d9d7e5cfe78","signature":"71df0777b16f699901d10ebf07bb50fa51b0243e85786de77cf2763dcee38ede"},{"version":"f7956442417275691905a10a694cf23e778b1d4650fc39f23e4ea91435e92cfc","signature":"7f145dc473fcbbd9152b5f0eec88bcfefe5e415ca70d3edb84aa0038037f61e2"},{"version":"44ab072ce38bfa8d14c42d1f4fbd4c81a212d641c84b488c06a8ac254ae531c2","signature":"7b320b2bdd31dcd6df09db52c9ca45b37e3d69bd0d9a489105d11016ebaa443e"},{"version":"5d2eb8c8780a4dfc9d9ffa6c6934b76247518d95e8238cf66a68dc031a29e391","signature":"0646461331d1a1e9f1dd6b22fb002a043259f5210cd693c5959bb6d1737415b6"},{"version":"ccae8452df2daafa051c0a952e6f11a43bd7b7cb93eba49eba57941c81c20193","signature":"67cd5d46643ba488aeb104da791a837e1c564361ce47f8bf02f18a49b1ff1eff"},{"version":"9eb659b8534f4f030c58515fb79baff9b1f513df9a8c9916fb0e5a2023b9c6a0","signature":"e3ad74ad4b85382c373e362b6721121e54b5ab37ba5088485ad943d142d84fb8"},{"version":"21366491057467278d3243b28f9065797bb996a4e4919f1086e4e2710c9350dc","signature":"bb851ecf30c98fe3b901290ae1fc05bdc55da8bf15ba10e1a3d10dd12da09cc2"},{"version":"070a5b980cf70e9e54d6291f31a634d1346707662aa0b906ebb47695316d94f5","signature":"0e92e6224e167b5d58f377e0513c39bb3b513cb2916a2166f87a20d3ac9cc629"},{"version":"953f3741ec45d89d60142bb02296a61a1a489740afd660d3e87f1779ab8e6f23","signature":"f8ac07e911fd9a3bff7d0a2cb3b8589e14a3b52a3d26a2fad493348f494edfac"},{"version":"431b70b424860910a8ba2560f83bd864a2939b87109f11ce22873964f1823b62","signature":"24cf0f162a2bcae8f5ae4b678da2ca97a91699cfc30898c606cda9ebec4d9f69"},{"version":"c56c127a7dc75963ac6a68383a14f81da3c0c9e3d8e86c24ef9e37ae0ed777b6","signature":"d316a8da36d661ba0c2110e7fa8961db330ee9c39732cdce1b693c8608a06100"},{"version":"703e7b32062955f1941d78af2bf1a972cee1905d9f64c8c945e0307b71c6c8f2","signature":"5c8e01f96eccbc91b7243158ddef84763ac292ad5e914a352f8422f4b374aa6a"},{"version":"5320b2c2ba15fc1d0250cfacd6deec6a1b242c1d03f5d5bcc2d7ea8186fb8787","signature":"7a977a3406b9510b629b97156a3917b9f347835d16ccc19e110f0bda76af6621"},{"version":"80621ac28c75bf6c664ce92a4dc1984cc4ae39d18163f634edb6f39aca131eed","signature":"7b90b0d17d565ad2bcb84936503634ee9f77cf9f40b2353797af5c1dd26b6161"},{"version":"d7708319b2effcbf000f3ba674b7d4810f93e6af725c5ba0f419068a51460b60","signature":"ae5b73a3e026381b16450aa4673ea1b2ca1e7fe4ee196acc0a3f09c299081d51"},{"version":"043caefcacde199496905b469f7251c08948c4921f91e5a0f5c0df4f03cd2d55","signature":"08a95f68e870bfccbd65af83835d7f74d53e33f3a90926375171726c9394185f"},{"version":"d33e44d9c563ba82cceb0c3fd5a20de58d19a4ad63160482de55bd9c50c3ad2a","signature":"c53d5f0a2eac0af33a7fd617b3d035c3f95ed81fc152da2058542e01ced0fdb9"},{"version":"58cca2c47d5dd00d8585348eec7067b9e45f9fc89c9c430cbac18e2846c4bb80","signature":"7eca6e5608816544c2487977bcadb1118578578f54eb343e7ec2ab82302f82d2"},{"version":"a3d3ea65ca56bcadb960f2e884fc5a2b3ca80ca7949dd540ff63d00719711fc6","signature":"512558fba7e0f5f8d0cfaad40f05937124ee8bf4c3a11dcab9f618afa626fc0f"},{"version":"920099117da73b53caf5e84b81cc4d2200bec4f82e818bc23b7d079a2a56907c","signature":"396d5e07f113ce101976ef3238521989b0162a3440f8f15e5115f00d67aba169"},{"version":"7444ab226ecde90756e4e31ca68280797132b5c3b38348dfafbb101346ff9c4a","signature":"41a5855424d478222c6ea0546f8f0e7563b8ea830f0b02418285fee2f6010104"},{"version":"4674b23baba8d8d1145d47b4d8db58a1161a0f0327cc5e05aaa3c70dea3aa4f2","signature":"597635cd2982b768c8075e33902d4bcad6b823ad6837b83bdd5df1108a8b5ef1"},{"version":"dbdf5c99dd4d0362a790a664fda2f7d80f0b90ec20d2dcf9f4e71e5d859ee247","signature":"7b9aa1a8a9728abd8faf699093ec32552e44ceb2e3e4eea7fd39fd4a105abc61"},{"version":"7007c577d3881953fee9f301de570abe4ba1f6a54fbe2873968dc002ab5e5629","signature":"e7dc47606500af2c3ea9d69e3d9ed293bdbbbf81bfcb0c48df6568c1ffee4b02"},{"version":"cfad3779365697cae7b23669d57fdb286de38dcd3c9b1fd53689f9ca3a91a2f0","signature":"51838b26378f28235d88da3177a2f581d6325b1c546464f2f5bcec82149eda0e"},{"version":"38d7b0446006aa113b9699650f28be0e3be9bc0a8c4f97e8c89ea97148d66f47","signature":"92cc6638c98debee2178e4ef0e1cd3859c86121ea2163b0b0685d41a96d14e73"},{"version":"2cdc33138be52678761d11065245a401d3499f110f502a2cb34cc2632e9c5e61","signature":"41f303a470c94ecbfca891884533f4544fb3ccf7cf97aef0ee9b65df992d97e8"},{"version":"236b3b7d3b7a86bfa27e5bbf1998dd7a09b9b6ae3ebcaf1040be305324dcb5bd","signature":"347ca2f28c70154d1081c55c3772b0e5073d3482e261847eb6ed655894401136"},{"version":"e22bf0ed5f47dd3f92ca02adde6e4459657a649c00c57071c4b401d6883009bc","signature":"c21b522e44f78bed8f3053a3824eeba6f32c27dd933d6b45cce037e8be0d0538"},{"version":"e420009e6a6660fb935064b5233cf09d28f28386810a62ecbc0c42044d5e97a5","signature":"dcc74f798751ba65a1cc7a24a795e46be9ec56f409261005e1d69b732b013560"},{"version":"a401ddf4ef0ec7a6e33a51d29a8e39d503b9369552805e05a514fa31e03a2e12","signature":"8f3dcdeaa6a4c6257d53aebff62fd88889876d55839a85929f5ae2d3a37d5a73"},{"version":"19edabca93b6826a91c26832d55037e487218d8f29f2172917ef87ff08f8f380","signature":"cb9da35a72a402b315b10d2569a304b12543538dcaf383f4d9f8dd5a8114927c"},{"version":"4fa6549b8715b43ef6978540b76541cb824e6daff9424ae551db389421c7c6e9","signature":"2496283dc414126ef574138ede1396f27877de39dafe04d183e30d2c38e2cda8"},{"version":"9041eb411777fc80385d1b639173fbc6675ad3d7cbce257f52605d4b18616543","signature":"748edc1e544cacbc98bbdfd79c2a36b98f9e35ece62316b401da130aa0769631"},{"version":"3aaac2c7f4e18c47e5197948b4f1c4d1d569257499c1dcd2395bcb15849fdae4","signature":"bf80d1b3fd049b9db79c5bac94e6a4b2cc9df97720f65c91a62e095d793499b7"},{"version":"ced161d675dae30f24f7d001a14ad62504d69069b971753e9a8003b2200e7cc4","signature":"1c51e31907648173207e55a21000c17277311c053c658c91e5505c4f1cf4e9c6"},{"version":"6b76f984a9fee625d81fe94eaa63de765b85b492e2936255608e9935f577df97","signature":"dd0fdb6f0c71a53e434d39a22ad54d9d196de67178d156fa5b13df073c527f19"},{"version":"22772822785aea051e4454632aa2bb73baab3d08d48cf7366cafd8f19e1e0c4b","signature":"7c89ddbb992896a2006feae6ff5ce82f22e2158dc35be692798b4744a624221b"},{"version":"33edc79f1f9d38f5e4741e09c93c70a49c6a3b804bae599e311535f1a30e0434","signature":"a78d3790cc5ae1b4930c299095023c07eccff89cca32e2939a4722a716c9cb55"},{"version":"cc5667037f805a2921883f7fa5e091aadf2ee8907c46d61a7d7992911965eb66","signature":"442965f5309d0a2d4d8def49f2aa35996d1b73d37c0b296eb305501cabe8829f"},{"version":"82dbb5baa7af6aca1b1392a81acc3bbbc07f50ccd8cff2b3eff2ceb1c5db2182","signature":"e9708da92b0cb69d4b46485f491a6f053fa07145eadaa8101b16fa6738100f9e"},{"version":"fd3444a7b0304c83565c7d69296748987a09c2a55377bc9e6c4d32961f8c99cc","signature":"669ed183124d2bd3cc638ee9422002a758efdd672388d6d6121187f2d073d024"},{"version":"65f0fb9a264a44649bc963291e7d6e810c6c06350748007de4e1575eaba8d319","signature":"814699b1fd707185dac005f3047ce5badb2b34bbe355ec84b4c3cadc82008b8b"},{"version":"f40778d511004eb579d576fd71059f3ae2bad589d17872de170e632e0632f4a3","signature":"d81983bdc0492ab963061b9fa1fc64926ff2ccf744fc3ce3922061f6016ff571"},{"version":"a1e7d896074ea540edefa896e31c66fc75904a26c4b2ef701a93d87a83376ad9","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"8bdbddad53b0b942e2bc6c3f2d63a6a3d560dd239e8b30c69805367eadb090e0","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"8e27dfd3b35176a3a2e4307206a9ec3909995b23657330dc835e7b5fd50ae89a","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"72ac7a0ae5374dad1652ef8e41ef145bb371e9b8af2394b91a3b6e0220b5f39e","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"8a9333c31386954706e26b45e586e7e05f604d04bb65a345ce2f47e56b9352b1","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"195de744901000a5552e10fc8799faa3ff12bcb62c6a988a1b2dd52dd0c80fc3","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ea3738176afff87d2d326835927fcc4c4e3b561cf56da5dee6959a08458862e7","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"90e42071689c6160951272f117347d7859a2ef54dc83f3879eacbffcbfee1868","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"6aaf0c03734f755c536dba03874d62c6af7cea5edfc82581bd42f39686490e21","signature":"1342888987d6078504543599fffb3dd6029c2c0f768b489cd232fb10bedb675a"},{"version":"b9ded4cbd5827e9a173efe8585333813888646c1f5128675b61f1504b92e87d1","signature":"8c40edee0d9d2d04dee8654ba2f8f239f1662ba5d78ee296068d1e17dece3391"},{"version":"aa1d40c721c0a75a39dba0ea41ef029f899aef5e9773b496214ed03dcc384458","signature":"ecacb7a344532575d0bcd497fdd22d7e66c42117aadfa1fd211a47dbde3b364f"},{"version":"b858241a65512e697bd928eb1675541fa5fcf2b516aa837f90cca9ccf23162f3","signature":"6a9bb53e41455547f9529dccd266b05e7cfd3fd72264f41bbc97581094096369"},{"version":"045b680cd4cc18bf4d40193feb610f9692e31e055ea84a89bac2f417831c7ed2","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"e6107e7fa315d770a69b9edc7dd077036f115479e102f2380306a7a92629329e","signature":"0717bfe8ecec022eb7f964ce697b1b0d749e217864e7a11b438c462ca1e55412"},{"version":"b26bd1398c6f71549fa23175f3c8b8245fdd2d2092a6380794cf8ae8ee67666e","signature":"99173fef2fa963dad3c3a06cef6bff8e4a9e4fea656ec6414aea2f84126ffc23"},{"version":"002de79e07e5851f180fd44a17d1f855b5a17fb9a00f9a17cd53ca055d27ab8f","signature":"08e14aa9343103c4781efad6b4d287b2d577a8266f51f389b2ed4db8957cb5ed"},{"version":"ca319732ee32ab8064188cb5e284f7d8994c1e05e67bd2f7f55203eaf67b33de","signature":"0de5e5a2fd2db15c16147aff67475c913395e62c14bd7c5313880b001a88e009"},{"version":"04ff795f13235dcc2df104c2363bc370338976c37fd408129eee133fd481b1b6","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"7f021e481da4cae9f864aacfe104cde65c0a5d390bd076f74f8bfa891cf6c4a9","signature":"ca0cc7ec2073444d6a6e3edc6a759fd98917651115e6c1b56e805d7226d122f9"},{"version":"55ae21b6ef8e2c0e92ff01652f313af953fbfba53e2b41ca113d0e5aff50fa6e","signature":"2a57bf7b0ebfba810bdcc71f9eed2403e5a2aba006c55788b48195c51aaab8f1"},{"version":"534cced4db5dcc639cd555583be09c6891c0633dc395308c87f60b47dd54a6b2","signature":"33ecf206edccc488e96cfb5177f19809e8bbb549ed0e94ff66d1cd1ff1a1fcb3"},{"version":"541805795e4ec0ae28c6a386845f8f0fd3ddde3803a19595176243982864100b","signature":"abed2e07ab4d9ae16437a73aaa4382973966df349afdf5eaa654b3f766c30625"},{"version":"fd9ecc4c39b40cbb76a8ee341c327e877f8162e95c3325fe4d6a1e83914d4a24","signature":"f670d82642bcedf7ae7e34c49a5dec771f607f89b47602cd0b7508aa981ec2ce"},{"version":"ccafa0cc21d137d4d29093eae284e4f38dd4c43524f9711d9976b29a4a709b99","signature":"704594b25466b609c3bccd775f15b2118e1ac95cbfbca960e5819c93ebc1f8ee"},{"version":"2d3dd03df960f48735d9ea246405ce7f2f6501675599c7342965217e6873ac28","signature":"95e604b1fe25d3994cb3ff463ec3c46968a7ffcc3615814407b7a78359431ea1"},{"version":"dc2a05a4d3db8795c9c161d8e05a72d0548cf61e5b5a1e992b958d287d148f20","signature":"3844cd66a0ac7b19cd62be77527a4a53499fb22a7a122d735603ae6979064756"},{"version":"2c008ab0e0b102c7d0752086dd258c08086879c4ee036b40eb909f53cd444f76","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"cd3e3316abad8464ef0428e4d9a9f2273f7e2b1c9a864a0f6f741db4f2dd62f7","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c76bf3e697b011c6de5ba20a073a8a725f3f9c58327b714111d8e26a12a262eb","signature":"c84bce3c55622bfec01668fa58087cc8073885a20ba030d9e9b519debfecdd96"},{"version":"9677b1849c1677ba4876a3e53f371d7319adbc13891d76b4708bef743c65fd4a","signature":"8674781878cf01b59ae950a13994a74b11e766bdc3d6a87ecfc77d1e4e0fb7a7"},{"version":"6ada175c0c585e89569e8feb8ff6fc9fc443d7f9ca6340b456e0f94cbef559bf","impliedFormat":99},{"version":"e56e4d95fad615c97eb0ae39c329a4cda9c0af178273a9173676cc9b14b58520","impliedFormat":99},{"version":"bd821b87e2c0fb5f509cedf47da465c447451835ce0fe2a752c4fc53a9f95a5b","impliedFormat":99},{"version":"f1d7352c0f7041abb43e1054abb14fb8c53a13dd54bcc1d67b97d2c02bb5028c","impliedFormat":99},{"version":"fc820b2f0c21501f51f79b58a21d3fa7ae5659fc1812784dbfbb72af147659ee","impliedFormat":99},{"version":"08f88f75fc2f516413477606a4122b6d3f6eb6680e8eb79f3fda5a5d2ed306df","impliedFormat":99},{"version":"6ab9821afd2a06879620eb4e041b9492a90f294e9b733ae5eb022edaa3964a45","impliedFormat":99},{"version":"003533cc3fa10cc457668d4256d21a65706a67a04251962cfe85d240502f8d67","impliedFormat":99},{"version":"6c00cb8a4b187505dfe21aff242b07f69f84f5c832e8ab4357af69daaee1b0df","impliedFormat":99},{"version":"de14ddf9d780367c6a117bd8a1718d491aff66094186523b3eea680ea7035a7c","impliedFormat":99},{"version":"ee06b94d0521cfaf91e4b003518eeefc45bbd594b0c22955fe35be282958252b","impliedFormat":99},{"version":"9e5f8fdaeb03f1699392b4724a58ca7b47c5cbb6762920d2bfc722c265495ede","impliedFormat":99},{"version":"d05bd4d28c12545827349b0ac3a79c50658d68147dad38d13e97e22353544496","impliedFormat":99},{"version":"a1597b0039f39e9f3eeaf120f02d0c94a826fad30b027a2abfdb8d580c89be70","impliedFormat":99},{"version":"04ace6bedd6f59c30ea6df1f0f8d432c728c8bc5c5fd0c5c1c80242d3ab51977","impliedFormat":99},{"version":"57a8a7772769c35ba7b4b1ba125f0812deec5c7102a0d04d9e15b1d22880c9e8","impliedFormat":99},{"version":"1de82ba3718b2b3bc5333c5bc35da5cfc46d1b654edc012de46bbce48126fcce","impliedFormat":99},{"version":"49205352389f9b807bee899f873d28912b3f2145a83e7018de6f7fe4e099bc08","signature":"d6ab9d3f4bfde85a62fea7182d4e68ba2104946541f47eab58799009a38ba2db"},{"version":"d153e1cec75d95055701de32dec8d0ba9c9a89ce85bd371b7d51fa15e495137c","signature":"2eefd9c7b8dddc8d713b7ec2f408480a4c1ff14f1975c85f91834b8886963f8d"},{"version":"fbe6ac1edabe62f9565a5dcf644865c3b839c759c6b81a0991e7314186c77c14","signature":"5e5a13138a956d69dc4e30dcc820b816b253b6907b02e168e1067a6f026bd4b3"},{"version":"86d4ff8ba66b5ea1df375fe6092d2b167682ccd5dd0d9b003a7d30d95a0cda32","impliedFormat":99},{"version":"736097ddbb2903bef918bb3b5811ef1c9c5656f2a73bd39b22a91b9cc2525e50","impliedFormat":1},{"version":"4340936f4e937c452ae783514e7c7bbb7fc06d0c97993ff4865370d0962bb9cf","impliedFormat":1},{"version":"b70c7ea83a7d0de17a791d9b5283f664033a96362c42cc4d2b2e0bdaa65ef7d1","impliedFormat":1},{"version":"eb541103f61ea69ee1795085a473b727d46fe49ebc7091c721623b5ecd87c0f7","impliedFormat":99},{"version":"014ba72e2add59d6d2d2e82166647982c824639e2902ccd7b3103cf720a0cb65","impliedFormat":99},{"version":"e22273698b7aad4352f0eb3c981d510b5cf6b17fde2eeaa5c018bb065d15558f","impliedFormat":99},{"version":"b78c801c3c21015ee487f6494448bcff55bb6b61f41172dfc2c26f2218d99138","impliedFormat":99},{"version":"de97e016d8dd4869febd5bccce02eb96957089d04b74ea5d1dc0e66112493b64","impliedFormat":99},{"version":"671ccab2e6a253d2516c0e4699b3077fc30cdb70b4436d8c79d76c91266a1a94","impliedFormat":99},{"version":"a11fbd8ffbee6e5a7fe4c7c23e6a391be615de2e710a6946d7d1f947a85a1374","impliedFormat":99},{"version":"2d383c515b9b606aefcde23da9c312a69bc7976b75abb85c02592f7a8589a343","impliedFormat":99},{"version":"e760f7860d08e9d42b6ecd7dd341602fbc0c13d60eb30beaf1153f1c7c44d66d","impliedFormat":99},{"version":"fb04e1ca667399e7302c033656cc285e6c1cff9c29f264cf229dd25e3962a762","impliedFormat":99},{"version":"ca6fb77e3480af8f2287ccb756ac88d047ba8a8bcc0512f6720ac1216e274ea2","impliedFormat":99},{"version":"c0cc44b0ad2fd65c933d187c4faad6157efbed33c3c21023802aa6a89d9b9d13","impliedFormat":99},{"version":"ddaf5d3ddc45282b19fb0fecec91c87fc9b4d1f45c2ee611677345c81383c5c5","impliedFormat":99},{"version":"5668033966c8247576fc316629df131d6175d24ccf22940324c19c159671e1c1","impliedFormat":99},{"version":"d76df1670eeb97afbab6c87b8cd31bbd09dbf9026ff0ca533b5d7d3fc0291f79","impliedFormat":99},{"version":"e9b947b944887cf2cdea2d6188f412a25125eade82f2fe2334658af86f14cded","impliedFormat":99},{"version":"bc05fb9d657d30e61d50d690615f379b0d0415b8f29e69196e1dc6bfc664dc57","impliedFormat":99},{"version":"e315bab2f28d53f9ab473d9de610c455b6c414757bb19589b31ec8f490cebd4d","impliedFormat":99},{"version":"d999dd5abf4befbdab5f1248193cbea69b323b71131a02bb120f9462807fcd5a","impliedFormat":99},{"version":"031f1805f87171e8a9125cd99105bea4a869018ab2356c2e29dca7c86925510c","impliedFormat":99},{"version":"bdcb070ed484b40b84dad668b58e4861f7c3d36f38632072dad5f905bd8cc0cb","impliedFormat":99},{"version":"54a97fd1e2f33041d7b4cbbe8fe3235f97fdf1a05e9fa41e78417851bb8f1c78","impliedFormat":99},{"version":"f63e0743e2ac9f7eb4d3b8bc110834465f164eb9e75e4f531046e4ff9822f3a4","impliedFormat":99},{"version":"0372d6d6a41ae89f9aa86eef998b44bc0ba035d9d09c9226e0a150ef4578fc3d","impliedFormat":99},{"version":"cd8a4297d0ab56dc571dadd2845e558c9d979fe1e120a0dec537935bc8a36dd2","impliedFormat":99},{"version":"079a12cb0e0c42655d77da5185e882b4cc94bd5c6c2131171a9289fc1f4287fc","impliedFormat":99},{"version":"50cf14b8f0fc2722c11794ca2a06565b1f29e266491da75c745894960ebbce06","impliedFormat":99},{"version":"d4ce52c42c23981d958206037138e05f7b48d41faa1cfaba7e9eecce8c2e5489","impliedFormat":99},{"version":"8a3be5afe0275ce84a6a6298010e66d54d2d2f8e927df6bcde0ac326b5e81792","impliedFormat":99},{"version":"167edfac7664bec77aa2efb2ce9d515c41b5cc4269091a946b3fa6ec4e7e8738","impliedFormat":99},{"version":"218997a627f0efc4b8be5e6bc0b58e0c9edf250baa3674b661d3f7e6a7ef21e8","impliedFormat":99},{"version":"c3f1acbd39f587a7539d435d6c78ce8647b3bfdc5435df153a70cb2656b52b80","impliedFormat":99},{"version":"a1f568855887e2b5121e8b5c4cacd66dc5428259981c47026d95be1d844adf71","impliedFormat":99},{"version":"1db6f2cf99c83598669df0c7166405b0e83c153a03b59115000df3cb1afba79c","impliedFormat":99},{"version":"49af73d71b88a99b1a211ec02bacd321c21397062d253c605bb8d140082eb7b0","impliedFormat":99},{"version":"a50de7f1a7eadab7732d80dcf9c8a0c0d7d00e33315425316757006b5bec6e46","impliedFormat":99},{"version":"4c6fe268c2a984b3f14031a4b09ae7b2d9e51673258f4b4352e48d0c6ebed679","impliedFormat":99},{"version":"3bc3d81dbfb842bcf15454aacbe37cfeac57f1d15e829812ad02a05cc42be873","impliedFormat":99},{"version":"016952415e1ad35f9070b4d454946e79cd3881f3c76c0978d759b168fe033018","impliedFormat":99},{"version":"6bf5dc0c9f6b6c79fce77b56c985dadca4d4d474c9abf9139ae0785cb5c01992","impliedFormat":99},{"version":"d507276467f554e383b4fa058f42b8fdf5c15f1d1db84a2372bb569ce9d57a66","impliedFormat":99},{"version":"b3af5d182c9ef267d58cf43f3e51ab73986862436790a4dbf076b5994758d53f","impliedFormat":99},{"version":"1c7f26a88f861afdccd8f9d9e793f1affef4635d16d2609c487480c41c42f253","impliedFormat":99},{"version":"4d4551dcb3fd19a4f22aaa63c6c391d42ce44a15602a6f6a19d582709edb24d9","impliedFormat":99},{"version":"a76075b5aba8187b1fc5c8f565745daed6e4341e64b44e6ec41412a16d575d62","impliedFormat":99},{"version":"f836bf3653e31c3bba120071196c95d416b83c5d860ce27549975f8785cd670a","impliedFormat":99},{"version":"058d970583137cface729371715449aac0c1388bf7a5ba15e0be952677485fe3","impliedFormat":99},{"version":"31c45c074a9acb94dbe340d9336d3c915635eac2df3308916fcf41f2ba6ab84c","impliedFormat":99},{"version":"774256d456ca1d8266f6e2170a51bad2659cb7116334d1e7977595999533a5d0","impliedFormat":99},{"version":"07916d3ee50b94b3217c0bac71fa9d70d48f51586481c7cf61af2a8ebc2a9db5","impliedFormat":99},{"version":"f687f35c2206a319dc7d8f0b751e182638c912838ff54034fb782beae50f7cac","impliedFormat":99},{"version":"1ea2d362005804d980325c2fe6ca0abbb145197b856a64d80016554129966c97","impliedFormat":99},{"version":"7a81f15892b1c8d0cbfb35605038ce5c6d0cf93542946aa0b8c415dbefdea1cd","impliedFormat":99},{"version":"22ef1a1604bed6e226888a2414676ef477a7ad5d6ed907a62d6e40c831797366","impliedFormat":99},{"version":"2ab500573da35083b48fa8f4fe719860099d1502df3384f977eb22ab6b14caf7","impliedFormat":99},{"version":"9fd7d60e314f01c950ba31932c150dcec5db2c82de3c7fe0d0d24ee8b54f1fca","impliedFormat":99},{"version":"841d1f32f66723468772802e1558eb36ae0226c95d0527a3ebfcfa2c75b6f6d0","impliedFormat":99},{"version":"d3327c9f7dce1e11f5ce85b8ca921668a13068980f7f4ea4daedbc2c81589e9b","impliedFormat":99},{"version":"a698ef4e27ad6053ad8c189b53c468f857501046aacb554eb52be0403ba7f262","impliedFormat":99},{"version":"94b576c860480aac3eafdf904cd81755f5c9b16c3e0ef3253953a8f4fd8cecce","impliedFormat":99},{"version":"8dc7c54b72cb2a49a7639dccd99a559c243667a74abfb09545cf8afaecc58056","impliedFormat":99},{"version":"d2166d3793936235216ee5d014bcf0d8695f3a954ad54c01b1976c05f544ceea","impliedFormat":99},{"version":"41bf8c3193b575946682ca243de53370f61917035c3ff3fb747067bc680f2509","impliedFormat":99},{"version":"916fafd410b9c3a04bb3720774b0cca93d1dee94bc88b4ecb6edf56cd5585abb","signature":"50e5d708858d82cbd8bd30ca7a76597632b0dff659403765266a4891b35a712d"},{"version":"ef82bdd9d674d855785bbfcbec2181e8d602c430bf73b4b65ef581d78ecdc64a","signature":"24644a17b266badb345ca337c9d9c80300473c40b2c87a28e5a3ddc011551909"},{"version":"846affbec83fefdf905e16b3fbdf845edaa248b5895279498aa6ac733ff2a4b8","signature":"71e597ff732221dcbf043d2de4000ccc5326c9ac63b12f2a27f89b5adf18e609"},{"version":"227f3a03b267191752ed1a2381855cd73b0915794ed51151e5ce82ffd786dbde","signature":"22c51e70701555882fd248a93bda5c759c024c0b88a58ce37a54ef186729e795"},{"version":"4a700720ced7ebe4c0c973bfc450c6a7ae31f82fd447e0f464c7171562e8aa53","signature":"212577e3f6db3f7bfb26e82ef9385a9c0c241b3906ccb6d80e4ae6bdd657e00d"},{"version":"b69c8778c50bf0caee3dd1d2da2fc7d5f6157498b51cdf51fac81476850c715f","signature":"0270d8376c084b2e07697ef2de94f943eef66b6de4b77fb20147d306f645e990"},{"version":"3587e9e6e2b396cc0d0e26168bea0723b322e314de98abfbb20e96ce1d5d0266","signature":"2f67546822e0445ed6a5fc1d2e96bea837385d7b11803f8214835933d03ede63"},{"version":"2a6012a4f4a4695bc0a97d29f47861bda054359a9a60d295ab26f416f95e8940","signature":"dfb01e57f4a98a678b16d78007abe78b8600ec7545e63331d72a0daa6ce961ad"},{"version":"056ccec3b5fa90960ad33147d148470bd23d33b9ff6a804b36a51fb732be43ec","signature":"d7cd6120b5ccddff937be1aa22a538829f8a93ffc9b4715519f67bd21da26689"},{"version":"902b6a9fa43c2b3c8d02eba89e628cf606ed3c11fc60687d8ee5f269e211b8f9","signature":"2315efae7ec760b18fa4c15f987003721972b75388eb00f80f3a419e91159751"},{"version":"bbf3f31b704e218fbe344dae5767a8ac2d35d134f38f2a78b8f1aac500c61746","signature":"bad3fb3837da6b89c49e110430e58827c321031273ba09aeb1c83a1e0e9dec70"},{"version":"17ae4d2c0c3487e077a7f6db647df1ebc56194a135262b8af15b19a3a1072452","signature":"7d5919c7ef0b53f308a78754ac25e352473a2de6bf6e25e109cd03dd493aab54"},{"version":"89c840ab93fce3e7e955e1ed2d4b881e4c02508ab2aaa954fc10cc93314e8140","signature":"7e2734061c31bb7fcc162aa37af53a181cb8db1bc2ea1168ecf1c816cf52e045"},{"version":"c40cca5deab8288e95cacc2e5f8d1d2717f9b49e3617cb3ac992847d5a143fc3","signature":"d23b1f070ca79bf4cececb66c23b78eb3f35e10b3ef7d0119549521c9fd2ccbf"},{"version":"be28318b8f96ff27ce32fc1882bf6f18e306dc8ae65ca3361d7769ff98c933b7","signature":"36b9e77029aced4614bb01342291bcc4fc65360f32e9d3d639c8b38edfb86169"},{"version":"4c2a1d9b096b8c15ac4235e1b7b1a0cfc5dc7b957cc4ea00365dd108739dda63","signature":"4f3963b6ccad89bd71ea9c5e491a83c9b448df7d36a01ec887aea29400c52cdc"},{"version":"f347cfcf41e859e417ade60498393c09bd20b155d4eef7961d1d09b371dfb669","signature":"5eccb4db63e70774c70de6e6e6f67f3f4b26f2801767073541a772077c2b8458"},{"version":"dc1d17e168090dd4df773ba839410a2e106ff0f43163a994f681a0044b4de578","signature":"6113e636ad4fffa72648f2a41eb42ef83262089973d54e080d130cb4219dab4c"},{"version":"01ba304e845f2081cf6ce244153824e727d70d9acbb973de8e2b6340e4355185","signature":"9adbd23317b76a09a9364daa02f7ad358ef30c277dca1b05e8df356f7751702e"},{"version":"dd2b68816c79a634eceec00266e8364b7d46b2a7bd8c400e8d52568a172c01f8","signature":"098fb9262c019dd7c7d2bc1efe85f61d7fef30a8c6ea0267398aee95321cf1f5"},{"version":"f158ce319a4372cd7f47620f4059c8c2031cf729692cc13b077d0f49c0f1eb7c","signature":"03f8247a05f82c8f96aac14f06944d2dab5061d08fe71d98e429251144b7d9d8"},{"version":"fdd752b590ba0b2af1e0de0eef8bc4dd1dee15c040e867a59530169f22e6c3a7","signature":"1b758ade259220a7723152591ae4997ead9ed62664cd36c08289f94fbaaa5511"},{"version":"574fede341569986c736fd5468e28194913dfe16685e804a5d5fb0a24e71384c","signature":"cb0d718f6419c7cf0ae1316734875540e46cc33e10e9aeecdf79e2f29f6eab4f"},{"version":"2a02d329b308ce5a74632fe2062c72c049e672e5941c5a8204bd14408859c3b3","signature":"291d5759f6ff0d7180456b40f53ac4ec52d6fb91b6688aa2748e70feabcc8124"},{"version":"5c2d2e7b3735cf43da59913b4ec940eb0d9397bb674c44b95a064275648ca9cc","signature":"f8328683d5b3f602c387cf200cb1726c422dc90197a7fdb0d578fcb7c9bc6786"},{"version":"2e452bec2c379aa00c5daa375852a5eb9dd8ea7744fd2b7625f9efe9d498b194","signature":"4550911de88ba268a6ebe2afc50d958d54100677ee698557cc2d5a6a36e100d9"},{"version":"24ddd91a3db7a0f8856d49d840726f500cec48ebb8a77e2629307bc6a329fe5f","signature":"4cb3d1e907efe7537c8b4603e87bba3e9afd8e3294a436401b5b95fd2bdebdfd"},{"version":"c5886e76161047ba4ae3191ac5d48225f8184584af3e52a844891fe703e40af7","signature":"6fb16d7f85050f01ba2e8248d33306db324277a87040aed2ac58e20343a0c2ac"},{"version":"3a0c72448fa3b822b6184a16e9f39dd7d3d16cb29b64cdb9b5b1990599cb60fd","signature":"c404855e249e727a187122c5a1809d1e93cf3bb3af6d64d68dabae61754a2da7"},{"version":"e1a84235a56d658563e99c11ca972ef35b1bd0c6eb40c7e77e67d1bb1b28c494","signature":"37fa56790fd8a57b9e8e21bd7f2aa4cdd33b7a833ae9626d8bcb9eb41e0288e2"},{"version":"575b8102dfc39aec7f7dab2acc116f0ea6d9942e460a419c0cd834b6eff89917","signature":"d1e471f636d7ec618d53420476543d28b575d5c30f18b86931f648214ced21b0"},{"version":"6a6984d12057c7d162afc45f593b186afa4bf04d6b6a99eb60cd1fa08d85fe3c","signature":"39dcbe7a573f3d3df729c6028108cea477260aba94ca082a95de9d02a267ef27"},{"version":"f955a769066260ff6a27a22deed2c93ed071342093caf86e7a6309d35eaaa480","signature":"3b93cb46f96d399b4cd9ed35122df5e43b202839ee7c8282632c5c47c4e697e7"},{"version":"8c459cf44e2757f41f00556e2f40da47d0ef67dd801ae4406c0cabfb8a2196a5","signature":"c81efaefef37848e456f15aca0b42ecc599fb9fb73ed61c95fa7f7851c280506"},{"version":"316b866c3bfbe957ec585f572fab4b2f7a35e8d9cb266dffe597e57927a5d66a","signature":"19d7ddc11ff468813dcf97fb05f4e51d6f78e16a0030933a608aa0fb9f2ff9ad"},{"version":"7ffdb1c20e18de407e05c2532dde5ce7d539facaa0b2699ffb291804b3c85e8e","signature":"209ff798fc5f35a3705982a320e8dbcb321571e046a96de4092b4465b74fcdb6"},{"version":"db6562108a47f4a746b4bea1694912ec1ac7ec51b48e3a31b274b4c8102ab772","signature":"e1a2f10bdb3e04997994496c5f189b4eaa3bcd92e06761164845c59133af8c4c"},{"version":"85592302683b0f3d636e53a571bee7fe59803339b8b3eeaa9a5f3e43717bf81b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"77e9654c2e90c0915a4894800e66a9c269ffd3f0fe06bb17c14bdc23ef7f5d1e","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"861c7b678c64d3cdfa0ad2a3f529dc1f57ad0252f6bf7db739be18e14c79c617","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"8ab61002066e314d8b266725a4ed3db857e41c7aa11927aa4a38386370204af6","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"62845c5b09ae355ab3bc4c4745dc5585b77b447706ebffb09ea3641e5c963da0","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ca973ee48e138941af5747d17cc31073d1d08f57241a81b8a6370fba035c57c8","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"883302f9d5d8a7800deab84b6a25a3120dd0877748c8f83f651e30b069f0ca2c","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"a2cb0d579cfd7ee8015c6adea94ddfeb2d7e79c040ae9ea9b57275096512bf0d","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"1d95bd896b6216d08fbd7ec10a33b40d09d711e3fa102786292ceb82e4b8193f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"6dbc20023316e17c6ae6382458fa64ee65049a6367dd648e89ec443cd59ca18a","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"17815dfed0c1b2e0ddd84bd6e4c97e4c68fd01d761464dbe3d1024a8f4e080f7","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"31cf5e25aaf868c1ba0e195b7b62f5cb516b70a5bd6e2ffd8eebad1bb011c24b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"1896da12486c6e51bb02c20eaf22d1826fe48349e584f2c59c8506e925172b44","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"8724ccf801c593b9a763cf5949039e650f4c7ca57fcfa045d295e911d03f541d","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"5903b40fa3676f924372e37bbdca65ba67e3191a92f52852d5b70a2153f664c2","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"9b80069148c23348d866893c51792242c00832e28ee92964dff0c305ad1ba8b6","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ac0bb5930db453fdd87419f223d44c23e8852223300428032ca09c4a497d9ade","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"f3acc54979130b5a6786b3cb3a1f47f0330b6acecf6c509a09c071a1760e3f09","signature":"73351372b4295fa8b882bc93e30276d7a911cadee0f013b17f66d50ae3de6a29"},{"version":"c7b6e3a82a16fd54330388cc5023d8686071c102d3a4cb1899a74064910e7704","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"7739faa1d7e4719d14729d52aef996a6d8c8b1b1447dd9441728c642f46d4f79","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"d1e9b0eaec1fc9821665f79d5cb10b16f5aedda997b77f67cfc634c219be45cf","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"eddd32b79454e4df90e6e3bd8d43a997c8813aa61e2be0c79875c87a5d9f7b2a","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"2c217dd4af49f75ea5671d76d7129d3d3154589fd0193c323ec2c687ed13ca62","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"70879fcfe03c15515033be18baa3afa57f4f4a6d6bce8801e87050b02e04df55","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"811af3b90fea77ad0ddc26b1a7f884d9366a44b20efff4c2a15de5bc9b35bb2e","signature":"16a8c433300e1e2ba1998062452df2b0ef51cfd21584e8bdb0553d9b0aa8bd5c"},{"version":"fe3c52844859ce7b95eba27362fae54be53773604213757448c2bc92760f4c49","signature":"ede3e24a18d5288414797441a3b532bcf9dc229cb41a5bcad089a4814f438a3d"},{"version":"80d1c73f9a40e4850fc9e00c754b2fb2429fb285d9c1ee357f42363f02d35e60","signature":"2fd39dc262c1fc3f21d6e25374b30919d9315210346a585dc31a758918996577"},{"version":"4ed889a15e24a9e0f20d3642768a080cbf47254ba81997f4c88a37d1a7d0a7d0","signature":"f1088a946445f681d8bfd7cac8fc99d0549d70cff4e47179d361377e529118a9"},{"version":"66087c21a619a56559a94e5548567db0469082c48c199cca111e3c25c3e13fbe","signature":"b5984247ba3e47fb79e844881c939f38398dc60958d0b29f9cb87d0e29fe73f5"},{"version":"154af56b732ad2cf00fb80508d1f3158f0497507c9309670b66758fdc0461bd1","signature":"66383839201674f99a40f904e89c5c9454d3d344ed91210206f28c5776fae9f3"},{"version":"70e051b3ac6969f054669d0eec72f57662efbeeebaec77174e96cb91dd3d7b9f","signature":"de7b7c00fc17f6accb9531e5271897cc70db0063fddf8a17d735db6fcf91b395"},{"version":"c4ece3fe232b07819dab6dcb382d611f3b1c06a6b93cd924ef7d9abd8d090d10","signature":"31c27b104652e1136c1f2c56ef27f83380ae8587517ed95205649ad261a45812"},{"version":"1747682b50a243bbda982e8ef09306e5dc2bf9b0a0def44da795c851ef31d6e1","signature":"fb891c7c97af75b1638fcbf3b1cf51815a1f7aa9192f202bc4fbe295827537c6"},{"version":"8acf6816ce4505a5ef68bb1ccd8d4fc30815a83e00da1353b90102ae5160da81","signature":"997cba142aed5347c9d15f4e15f6daef2889c2fd037587841778b8ba476ea168"},{"version":"cf9e91a410f5ad5f5b07f1294ab3bdf0b596cc702d5f6379e444cbc2dca04813","signature":"9ad6faef6958e6870ea4aba7cf6c40cf2399cf55b92f7bfcbad371186edd9636"},{"version":"d8140509695d08b7ba19138d6d2c5d7a2fee22ca95dbffc4b79efb7d98661d1e","signature":"8bccf01cb22376a08d48b284667f4b812ed8d38f2b723d6aeaa8c96d133d2ab8"},{"version":"ff619d9cbb2254ea51e7d71384abbbd5d72f2c93c071fea9c32b64ec3342888d","signature":"542542c33ba947f131b795d3630b41a32a460aa588a03aeaa5eecc38f3592041"},{"version":"5de8323a751a987a81233a9d27a59f2a4cec4fc07ac1750d2a995af6c5eadc70","signature":"064b44fe73f0f7a084ed8e01bfb2ccbf0a6203b191fd521fc2f9c76d21e652c2"},{"version":"e89aeb89eb7cf6060c0af880e07093c91b08938d8b3a82a8a9b8fd5ae1d056f5","signature":"f3a1e1f72b8affbcc2c49613db77c9ff271fb02b9db2615fcfc355b194855b08"},{"version":"11896171ed86294d540a1583f8eec62c1377ec280a85ac66f6b5af94c704af30","signature":"d86e8a694d25e37475962cecce34728a00aad3f3ae57454fb83e80c2e559cf84"},{"version":"08c92564346676ecfce836f20e087362d537a4988220c01c16b658161fb667da","signature":"38d9938720a626eaf80d7c415abdc14d165e67cc0a3a5fcc4f40f0a16d2ce5ff"},{"version":"0b208ce8494b358652ba9030cf0e14619451807547d25b3b5b720aa57bb940cf","signature":"327348398994bb43ed73a2877af0f313518ed43453dfd4c68b77f47b77611738"},{"version":"d985bff3e70be34ddba319f5e9209e8eb799e392218201acb3afbd77b6ad4d5f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"5f45030e7b52dbd77b0e101bccf5bbc08537605f8fb10927b0281a51fb2abbd6","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"6897d0d0498030dd4d7b6190a78010c071e924f62811f51897f63268faca2248","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"43199704716b24a208f0b07588fcee98a4a75c25b8f8ed1162caca49a025c21d","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"a219c1949667d439c27329b94cfdc416e2839e8214497fb621c491eb24cf3bc1","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"20769f36dc2e033c8fcc237bc2d7a75682dfba17022efbe30ae06f22767869b3","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"05a2797ae1b679bba91ebd96c9fee9bcfeee3b3dd3e400ebb3ddbedbba606306","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ae2e40a1fdc7fd8cdab6be243e4541f50b54445387834299471885785e3b2489","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"86d2ae588fc88eee18d6954e9709af0467cb2181355a2541f94f4c738425f49b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"12c711c6642eb86db33e62f7d3f25022aa8d7582c74292961d1e54e6dca3a61b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"b3277a8f5c5b9d50cdda98e93cc145820c3983f5e8aaffd31f4316eeb0ce465c","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"bb6288a9c750095a16037444e6026de8bbdee3e77af676ceb41d4ab7a8aa465d","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"73ee1c42b6c6c78c5d03a0c111e53496a54aa3505a78e452f5e306b84f769812","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ab9cef431c5ba3ad0da377558211af661ac8ef1b0e3bc5c66bb36f4cfc3ad177","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"5bf9b9329936f6bcdda9faa7141b8aac568e2dd1a4760550c5d88ab810cb714a","signature":"0f8aeb5191b3424d8865e154335c144f70d1d1bd13be767471d43557fe97ed96"},{"version":"b717d633fe2c463dd76998e4dc46c6796476523963aa8c7da5c8f1b3ef65d534","signature":"bef0023baedf262a6ea306ef41717a4b616711da163a7e31d596cb1d4181438a"},{"version":"70b399f171d822aca03548b1644217d752bbfde4d4ec2cfed1a214d7fc79840f","signature":"cd78f41f9d6f04e36cc052c74bfefb7c2db0779f89d2659aa2c3179b054b1c8f"},{"version":"d02be3bb5d64b49b5ba9e768fa8448b5c127d09e2b8ba14026773c1fabde1592","signature":"cabe51c63a81cba61c652a509354e7ab4fb262ecc04a5433dafe9edccc3ce1e2"},{"version":"a88dcc474c044ec5c3ac8536ae40771d408085bba71d322d73bf2204ea023dc1","signature":"39000aa5f4d43f9f6cc8762b6cd8029cea4b6f0511e7d1f47e4d6ed7da095a15"},{"version":"d956d0ca5690a8d22d12833be479885f7482b21a3cdc9e28017ae93b40d542e7","signature":"89f540ca38000b4ab06d97bef735703c375a50b0b4aacf9f4d28c14cd138e59e"},{"version":"842955471f601e4c1d21afb2cbb3d250ef424ced61416e8d7ffda5addbda9eb2","signature":"25e6d9fa0f3dcbfeef48b9738ad3a3efb1f07f8c32381d838fed05543afc20f3"},{"version":"493e9f05ac502360eeea2d5c72d28984c6bb2e03dd0c1bff35e2e5265cd8a6ce","signature":"a27763fffd538d56a65d2ee0de520e77a21958e31a87f4cd0c57efa7b9cc348f"},{"version":"96a0d43b3474a005db79c89d0767d3131aba2a479aa2b2d94c471daa4344a050","signature":"b013ce777eb845733b2d4fb5608890fe38f7a0829738da416cfed813adf39080"},{"version":"3e06d8650c98a672c6d811bc035a7fa2561bc2c87ad01172e5df460a8629d489","signature":"4b4d1c5dcc9a153360f0bea18e847d0123bab4e18678d00780beeaa4e8ab01bd"},{"version":"feb5cba45f6c40b8b4601f40eb48697fa7e2f7e3db51337f15c308cf2800da36","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c0638b8d32100f3827e3535c4307c24b5ea5e7ae6b33476db318a8d706386626","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"0fb10fe09a6f0c5fb2f5f7bfc0855cbabc27cc4fb9fa3c56e5956f0673746ddb","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"7f1c8e09b6366cb1c921983d02a85f3aacd161792392242219c504eaebcfccc2","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"4c5ca16923d08d3df7ce8003095ee7cf136956b93a3a87d06e046c967a07d379","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"95fa0e75ae79860ca3a1054cfb08a2012f59943cf00cf5da1e173d51dfd6fea3","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"048955e8ea4fff7090afeacc7a8d9a0d843199be15fb1ab402679f63d2a18a54","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"acd3de45725893b0284c9021d5d040a44b6ff1de1de9ca2b7d93d6495ea6cac8","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"0cfcd2156217783339ab722166f27ff9da99ec9194d22e9248791d26623dc36d","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"d51c9f27e83de32e36c06258ab65b4921e067823c98885bdae6fc90dc4fa9538","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"3fbbbf2353edb06efd1d6d25286c1cc267f3346dd7a73424e35606ef0fc04eb9","signature":"d1caf598b76a5d9cb02c68f802fccbe10bafe10d88cb6c0b78350e1b63f44ba9"},{"version":"f8bd8ba1c9d155a5a5543a28f8b483a2a66718ed4320402a5a4c4441628ca0c6","signature":"c8a4562bddad01f6b4ee9cd9b4efcb37093429f49b211314f69218b4e4fd4191"},{"version":"12f01407b6072b7e3a195c5c8e6148a2ac2bb0b355e78c6c5aa6284d99c4fa11","signature":"73dcef7405b59cce04dfcb6f53f903273fcd42fd9a7bd2fe68189dffd5ffedb3"},{"version":"1e269be517b604cf38bd594d58f71aecc9557eac387d9ec4a3e35f61d1331fc8","signature":"78fd9f116c4a198c60620ad7374fbf67fdc41baa66b8da57db3b80cb6b23098a"},{"version":"23aa95818cd09d6167a6bc83eae6113f574288accdf27d782762c73f4b342255","signature":"8483914db284e07599e4fe920f9b5ae7450f8ea5617bae006eb4e201bfacbba5"},{"version":"1bd3e7d48baa285a374c24a39ab2162aa8bd41e3c39be490045e7f2bb6287eb8","signature":"d406c57bf0c60a88a4cddaf0944ed69a7554658e068fb62559e2d823f9255236"},{"version":"5880d909fcd7aa478c019c0916f68012f10427b2d90d203a9060517bb9ce4de5","signature":"109a47009ff1ea87255fbb9bd75f5f3a918ac7ab44ed123b521028f580aff53b"},{"version":"707a9214ca48e106978cf001b80c3f53e77ce04dd6b447dbc0b9c3b53faea3e0","signature":"8146af3e7bf09f628b043910cfa6b72b86f8109aa7b06167b9eb51a3f0a75da4"},{"version":"d97193507f74ca55d696adf4c7bf4dcaa581cc38da8993320385450a4837b988","signature":"5e25c87cc967b7bcd7949f75916a6757b59aada3685fddd966093696c85163b1"},{"version":"b7426a25a7942fd04027ef39d6e57d3652de5850a59c04b7a3b74ad2f335db99","signature":"ed09ce0bd7cf961caa2bbaa0265743b1a22acb59fe82fc227698550a7f0b1e14"},{"version":"d7e15183b1073666220cad96a18914084528dc05dc1e2af175c863afa3023e07","signature":"7afb481364c9e976ea5c55b9b02006f2496e68cc009eedc57f38264121a77836"},{"version":"b56e4b6d8d241dc9428b20e7be5d13487de4d263c5999f91d547983fffd8bed9","signature":"91ee1b220ead097d3cc5b596db9be622f0dccd9c05e4f4cf069f2e1db077511a"},{"version":"c5391ca708a239529f9f132919def5d73d4cd67786f87536da7e539d247bf149","signature":"44248c8a13f35779d07d3168c64fe9a1040ea2e66bfc4ff92567095c5b243e55"},{"version":"7fd84794a97f879f03f3067cc042ac622063d821e7b60b27100ce300bc65d833","signature":"78361a8f013fc8aea9c04034475febbc49998b63c3fe09f56dacba1e1c73f8fe"},{"version":"eaae5968ffd536215d143ee0c4a295cc4ab730c6306c0ff39da500a259fffe48","signature":"11fa086538a611fe1a99a34d1378e2579a4de6eac405ad7fb9eeaa51836977c0"},{"version":"de1ef63de43250ce2a0b601bf1734aa69efa10387f0a78e34925ed9fadb63b2c","signature":"6840721f787baca46b15289facff041cf00967e6d746b6e2fcf657881b6e6c5d"},{"version":"0ad029b491ecca9c3bc7994015f376562f9fe7196e2c7815a7e7914545fcdb65","signature":"87d3a353f4a5033a14c02bebecb39e225f521c82a998c294c33481b9c5198271"},{"version":"505f10cf78d9caaf7df503e3c495055785de4c93e0286843574106d787d9f97a","signature":"4929cd61e267755bf505ff0a66adda55af5d318b84798ab1b46ead808203bc59"},{"version":"cb431697c9e94cf9faf8cb15dc79c36f21d951f2ae68a6cfa106b93edc373044","signature":"d21e563fc29f32dab8756bf5797d4c39b98ff0828fe02f8b766a8cd0f2130729"},{"version":"3c5a7c91728aa49db1d5eadc0e9f0d724dbb50b01ac203b8c577781846962d23","signature":"b524e9c8c9572a85e539e60885e7cd27a4a3734d72040582434a25e486702df4"},{"version":"c5e33bc47d97c9161f3cf286f89238e4097589e4dc86632a8a575135353883d7","signature":"bc3dc9e5cb7a7493571d35b9b2fa5a1f39cc7ad76f998ad62e7a98b56fb8df6c"},{"version":"a422e96804615648c7cfcaf2e23d5353ce5dbd305ef5f5467c7fff7ab39f5bdf","signature":"063c721b1237aa52f454a374210ba793cc38a5267af12e5f937c7f36bb33b6c6"},{"version":"36cc20cc750a7141406bc3e5f29d8968cbf9947038c6da3653d9ac3b871eee76","signature":"3e0b6c4d0b2d1c058853b3054d0ca2f00a36d93b462a4cbc97e0e20de4917691"},{"version":"a1d10e7fa181933ae7eeb34361f76d99ad2872cf6da8542528df84e4311da86d","signature":"de0b7ec69d1de3d88340668f43c9b8ef7086f96671d741ffb16d82ef844fc18e"},{"version":"db4c881c4d0036d8676e76f60ff17c6fcf240dbea3e48b5961e17d9a3b73831c","signature":"a2885e55e65c47dde0e39e7dbe3f9d931149d439b3b3c2a4480ae20b609bdc83"},{"version":"938a30c9758bf74e9cc7471ce79996502c99446ad8c1c06d1c86634584ba939f","signature":"3d577b57ecd8ee26a71f8dcaa01d354301d4155aa8fc228210f7980278d5a40e"},{"version":"c82897568bbe3658edfc608ed84b0615593c444b3dfe66fb884fe1f6f9ea0254","signature":"71ed8f0856c314b1c9270b9feb94da47f13e458a6b7041e75ea43a5a48e6d8e7"},{"version":"163c58b665bd8dd47661e39af68de9f625b3fdfe912b4d3dfb9eb55012a6ab92","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"cc1c0d6d5a958523960410c45f1e15874e8d8091120d3d7ef90f6d510b00438f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"47670cf66cb61194eb75ce6154b416f839364bced965df413b466ddfd00d099e","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"e4446e6fb84112ca5eb1da220fa4a2b59fc834a162499e81e1f016a9f3e64707","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"20fdd22451018bcdf123b42bcf8f3607b54ec5bfc1a40ce6f3aa195114fee50d","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"77aa32ef7822978656a1cf7a8955056e16072d0b6b3c71c8fe81998678532695","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c2bd3da8d18b5839c651f5dfffc391a3f583de5e4a3d7f856d908a60f47b04ba","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c840fa95d2134e19a21130e67e75c7d75715d95f35921d62b1d50262d7e34cf0","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"28e48ac60dcc1bacd1d2ff442848e81673dc6e93012853ca87f3ab0784ec1ab6","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"19f9e9dd7641c80df2f21391d85a5aeee1d5d729dcb599f89034977bedc50b3a","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c8bb1a6ad7f07b0c3af284d80c5b76724ec9b6c2dbc1720d1af4018b571cabe7","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"a5585e289b764f82b17802e044380f2f72b584c02f0a9e5e5f9994fa14079179","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"fc40f72f1c03ad660c6ad52cc2ec092594bd05e49bc5c960a4b0d30620dc55c7","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"968339f16a5177a5ee35cf9b77108d92938ec1da02bd41e361585030b4f00da4","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"bdcb2c9e692ee3ee605a7704fdb479fa10ef6d4271ff6b9ff995d355d40e2206","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"044ad589837559611012aad8bd6a946acdc485aef131a351c8a01c1bcfad9db4","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"53a1989193c0f9f558c62b7eee59b3ecf57cc7c3bea2fdd469ed4fa2aafeb0fe","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"5af67615072b85cf169a9b15a5bc2f54f874f32ff594fc80135b0229d46ed148","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c2b3d3b1134cd416e62ad730ba82293706888320b0ab860aa34a61c02aa48789","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"eef952dea22ec228c085f41b939f8824d7a8a9d5d53edf570d0fd162be862e8b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"41c362e66d4ade6b4727a2d3dcf1a3249ab336e6812cd51cad747284736a3610","signature":"d257d8bae8cfbd36ea0ea1c5333150f5b290f7fdc60c41083a81153a4ca4cbbb"},{"version":"c83c8f01896aed99315ae67c6fb0a5c948bada628c8f7b19665a228711c2d340","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"03c10706dc050b16e0ab8f3c5adde2d44fd9c4510394ded88c1254b29614bcf4","signature":"a257a955f81d30464899ba91ac6e7caa9c165d10f49b0e06bc9cae4cdad3bafd"},{"version":"14b18c1e8cf5b7d1f6209fec9b448effce1cb2b878b6f9a818fe26276a315778","signature":"cce85e3b51a75019f9eba99a92879e5f990efeffcaa2706e38b8d56d9efd0a0a"},{"version":"a8dff0adc48685341cfbb60bd3421dd75d23b1bf4d88f53c9c7666e8a2b624c4","signature":"a8dd6879adaddc6d84af4fff927c3da912e5c65198c208823a713fb268cfb047"},{"version":"9d2e9036f50ec7b8066dc9536bd50a76f1a2e503c4fa7ee1c92725b694600d94","signature":"4f2f07fd2750e73d86f4763ee55f0ba88d59585ca882aac5cf6b5218af52a735"},{"version":"6f13ff7ba32304eb4b4bd18abf9374b3b25a49146bb8b4b2ad801712dc384708","signature":"c1f55fce6df97a3f32d64e8e2b485c90ede6b9b6feadd640a3c16bb6329c192e"},{"version":"cf6a54f50ebe9b1fa179e3ae972e17bb5132bc1dddc612dfc2d868ca309999d5","signature":"619b2bf107c7c61e145876687ac47175b223d7cbbe8414b8d1ab5186064bd02f"},{"version":"6b3d4163477739b98bbda0e3722c1df15427f4fcdbcc044d4ae093622fc07691","signature":"0e81f3c44d6d754411d9b3fda7802a8c6c9567fcc7298542fafd23d879519d12"},{"version":"556547f941446a1823d6cc087e3fde7d3c6f4bb9c929a3afb853e35769f61e97","signature":"ba31eeb48994cf91f0acacad869ecb708d6840d7a8df864ecb86522256949502"},"920205f073d9e7a7cec8b42adeda1b66e3287253232703d75676ae0ee280ce5b",{"version":"8e209754fc98efbd0db41c1da78eb4f46d55d6da176ad9c6988b5947c02ea59c","signature":"34bad0db72824bba1a3419664c94ebe765c196975aca12cc24a7bf309f3fd68c"},{"version":"0bd708369bc7263c061b5ad5ae31194cc55010bb069d87ece21a0d54d2ec4e73","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"cc0c38dbb4436cef6d4ad0462c0b9230363a23303589e36042685c1132f33696","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"9a999f9be568ad3a72ecf729bcd348b4bcee26719790f21290a16b5bc7dfe839","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"fb37ccdae5fa6b7325f5aaf5d1b28caaea4c148957839827fc5b1f7ab2b2e2d1","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"177cba3134e2dee9afd65d1d508127f10141c81769cef693f3493e5f691892b3","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"b54e6b18ed48a74d2d6129ca2ddda0aff1c30d2c46e7640113d2fe6669a5974f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ab95e9dce490b100c486fcc8da962a6155125f7f98f2b8fe34e53e68cea378f8","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"6b34a6f3217920c7cab89d81ea67dc64b48ebca1b4fe06e38852af49ea78068b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"a19d0990af6cc577c8ac3a24640ccf48bf649de3e4f19180a524b94abb05bc6b","signature":"b30c66f8aeae088710859fc3c16836dedd29bdc025e7304fc50dce105b9c04e6"},{"version":"6dd4178211a9bea9ff897db210ff68d240c5f997bcfd929e9030fd3194f932c4","signature":"f665a621665bf4b9ac13011827bc5cd5cb272d0adc1cf91afe269a599e6be31d"},{"version":"32b69c9d97c045cde841e4cc73b29d8a79076b995f19dacd96d0525a1c46a35d","signature":"6f3369ea3292063709715ccdc83ccf6bed46b409fbde2ac5c8b23bd5ca192401"},{"version":"fdc0244b111f72144b4b5ffeb4be73d77985a2c9839d87630366739702a7d069","signature":"0d7b280414b0cb316adfab6c3609f4d3b0c34aa5f942a74f5d0b330aee061cbc"},{"version":"2c7d3b8e7fac27fcfcce5e3b5a0043f58baf786e20e951be19087e05956faf52","signature":"6bf95bd5997a54eacb05169d05e4a3ac009a2ee4b1202cf0e609c84e711d28cd"},{"version":"feec6c48848e9e9fd2cc1dce253451511a02574223035461557a4bb97f173c2d","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"213c42f7d5367619fc1f7a022520c0cfaf8828c3dd910d8abb68b229c44f97ed","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"fe4805a16fec6d9ceaa3834ce1ab4d8d3ec80c3c41ad093c2d09e7d7a00fe81b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"02d888c48e8441220415f65c6ded2b27811dcf98885192d0e33bbf7e47986403","signature":"4a68e8778087ddeb83520b7ed367b8e7a5413545211f1c12181b036b98b46972"},{"version":"29775ef79bb6d19d569a24c59922476271b093a1afffb1678254d66e938e6980","signature":"1a01f741b2cf1e9d7d9a1bef2e8547b013e1ad3bcc8fbcfe1389c9eece787977"},{"version":"9e44fa125a873ec1319bf8efe11fc6c79ea5d692b7fb5d628f79bbb14dc03e0a","signature":"edc9cbb7eb4f1ec26911e7cdfb0673eb04ab03be7a74654ca4b68935792dfde8"},{"version":"d98b5090797220ba6bdf2abcbff451f3d16edd5321a612c7782771807c0dede6","signature":"c10afa01e312d1ec1d2e455117340bd869610913a3ddee3e1903060237b2d330"},{"version":"57771e45f6bcbfb36dac19742e8984372065cb0ca9d5339ea982668171da36f1","signature":"8f0537d31f337710a710ca9da779d9fbe37da09f82a2bccb3159ce054a303771"},{"version":"754e504a4f7e802cc110ec7cfab158438903677b6d1e5320e3d06b4215f42d7c","signature":"f50252519f170601d78c919fbbcc6aba2864e344ef66c8dbae519080a9ab6763"},{"version":"a3e35d26f2d2ba764a55bf9af3fb0c22806c238a222679a83b40c838c30c7499","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"4d1729c06dd03ddd24e92985fec6aa5863373fdce658884e07eb4827df021f67","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"b80c68e22c6ef3a8c82b3e48dece693fd7b4e628542ac28b02dff88b31385882","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"22f5bdac2994c065f821a3c19074445873b02b4c89c5c4d26f95fb7319bd7298","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"da3a4a4651c78a13301492b76a30f6b89aff6919a14ce20dc48fab5473b99bd0","signature":"b9e301a99266862c3a04eac2c53d225b50d31203c93c570bb44b51e6df966f6f"},{"version":"516af411d9621dcbf6547314236500360c2076b4b2fc61a593b09bebe1ba6e1a","signature":"9e21029095d6b935b82ef9e8dabc88e552da4446f8551bb8e66bb608e221e7ee"},{"version":"9ffd818baa22a5a4a3494bda2daf646849c2635ad622ea25e34f4ee2c9a8f400","signature":"f1223da6f0fc1fca4ad9ae12e3c41227b7da0de5f55b38d9b871f3c651464039"},{"version":"3efe902a8539920b21bd44d2d0bed08ef8a95d3c4601ede6848a192af8563536","signature":"651a00540b7a7805a8de79cc6972dede798970c3b718c8374be90813037437cb"},{"version":"c8924b198de81de4222b2f0b171e9262f80bdf62beaabdf8ee7aa13b27245871","signature":"2f5adff38c8a75301b364bad4bd26f79cd3a86bbdd3cbba4541673d903d47b4f"},{"version":"c5c2a3e17dadba9d049c16f4a6e65d333f6d300b274bd3725f1f2be2a871ad48","signature":"9205ed03aeab041ae8db74ab3df06c747ba006d4bf2ec67df0fe59daa1a87d56"},{"version":"aeb1cd589aa4629817e8b0b6c87c132d36daab3bcec6cc0ed3d23968fd9126cd","signature":"7199bac5eac9213b52fe3a6d9481a0d20ab76d2bb99cbdafaf6ead4e5914e7a1"},{"version":"489adc91f76af03dd99d4206f476be8a7c7b5cd602a3623844031d5dbe45a762","signature":"c685b52193d4c3022b8210703605d2b21a467ae9387aa15a8d9940785400fbde"},{"version":"1ff67eb52f40826c7d5512f924be11f6bec373c92896df0df557a13a8658f693","signature":"9d0fecb8068df90d9ab52aad97173c385ff2a17baf50297fc75cc31b3938c945"},{"version":"7025dad7d78fd9ad96f064ff669d353f930ddddbb39aa3c4984144fc6760118a","signature":"7d3b48b39ec46eacc882956538307aeec6db56edc31f31be7d6289ec2c92a385"},{"version":"8a9404494ea982c2bff41003f8de1daf258f83a54e917a6df73e6a6201862cbd","signature":"c93a0c999b510d141f69facbcc4d763280501bfbf78b8f1cdc4270af272d805d"},{"version":"b1f167490ed130cf9c920ee60fb21e9dd2ea9e601e9567e457f609a61f2f062d","signature":"96ac0d54822a7637a651aad1726587e96e5adeb6fd3e92f04e0c957313aaa83d"},{"version":"786aa97ed22b1c1aadb445ee997a12785c863377f4dd4a45365a1a90e1bdfe98","signature":"3d8b96ad1cab0524e81ed5283ba02e42100191203cd7f5e1280500f36a9abfc4"},{"version":"aaa5a5ac21b72d45f5dd09e2eeb6223bf47b5f4cd69f93d15dba22e7f95182b9","signature":"12f9e010df1bc3628cdb97e06e5b41a3bd149a6b61eb4ed5d9eab248bf5e2b67"},{"version":"6abbb171efa9fad3d88c9320ec5eccb199b726f832482379414fd55bdd485a66","signature":"f9fbed20734c2279dbee3f4186691fe847ff186337649bdccf7de42363d02022"},{"version":"08bcfa6546d768789b5134c6344f18ae851abd4513e3431e91b5e955f07d7eb9","signature":"90e7eec60d281be24fac0f9230a9c60c67de9d04a915ad11aadac11ea2715da3"},{"version":"d9bfe44b7126fd3ce4741db90af68d24cf8a56104826770276ee19f133496d37","signature":"3bc6339203e14955ed7d1f9bed916418c12a6a692d269a609b3a33dc4a863951"},{"version":"ae6be9a07e940a6f4b0743220077f33259542ae908744ab349a1a70d22f723f5","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"70442efc456b60235ae408e157a6f0caa8ceacfac13f5af9d27265a6a3f57dc8","signature":"926011fd4f1072faf06ef6de9b938f68b655974be67f2ea7cd63d5ee58d69338"},{"version":"b84a2ba714d36dc1093fcbc2ae1614e2ddbe62981b8a8dd2da45a5822fb318ab","signature":"cb9d2bede0762fcbf1f1f6e59445d5671d08ddfd920f8ea01612d81b3a4384e1"},{"version":"92ef33d4a0be49fed441c7ccfa7cb67dfc7efaad66730183c28bab09bda9525d","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"11fe25d3baf912c908f4a63d2e05da668fd9a9838f258130cca57cc5be4744d2","signature":"3c7233fe8f8bb2292a9100dc596c64a103235700d7d34096d5db17ec0cb9cb9e"},{"version":"ebaecc11e0bd3f3451f11514cc0ca76bb2c763d10240b59cb187e587b9e01f66","signature":"a406bd45d11ccf4449bed75df91936ec197ad7de0facd342bb0ac55597dd7cb4"},{"version":"9e3456b853002241013dfdf35a7e08a831f60ebb29eb1fb9de5e90088152879f","signature":"823c47cdde5eb643974b725bbfada0576890962d21434906d18ce26b06bd9544"},{"version":"d5b0b412841ccd1c184cbf632f8f0582b5ef5901ab160160d745789f688f23b7","signature":"866bc33412b93d1a44a41d1a8ee37e688082c1979b4dafc2ef88edc53a7a999d"},{"version":"7c3c3e194f59da1a744d6d5c1090d144769d025c068b2f84524dbae0fd481d97","signature":"5fc8fcce3719297a5a3c0d9b41aea6db99a3fc963c76fac983b32894e6694193"},{"version":"5e796892fd679fd65bedd15bf2d705930f0908a5c39d56c97af99b413f976aee","signature":"f6eb9961bbb1fc5507f52b8081d6e82eb3ef5eab264a5d926518296dc4244127"},{"version":"1d34e8a8581252ad585019e14595e44c1100a88d1b586cafedf89153b71177e5","signature":"a0a545639911994ff57683e710206d749c7d92037f30c37ab2cc070178a7fc3d"},{"version":"63b2318993b6e0dcf67bc21cc8aa94e41c7de4936bc0d33feed3828d589d33ac","signature":"1184cd7ebecbdb9ed966cea0f626822a3247878fe0a83dee49e89b0f89a92973"},{"version":"454b346ab7c6e6fea1963daa8abc997bf20a61e172018cc3fb4f3da99adc3ec1","signature":"29c3c744e646ac31f51cb4ae4b0cf912d8d251972c6a958b100df797025a94ac"},{"version":"fc357aeb6dafb0b0088062750d702118459f2385d31434c8ce94ed1c1e7914be","signature":"995cd4a56687721b9ebcde8c6499921201e7bdae56f437f08f6a2ec2b1e1ca0a"},{"version":"254f1f4300b29499e822c0462f85bba73ca6ddddf403296d52f161131897607c","signature":"08470625f34c0ff0200976ad34ce7d65a1fc9286f8b8a884e0553e19a4662610"},{"version":"bdbdf92aecef77ec1ce77d842bad71821d8c11bb84335c99cbab6e6519885583","signature":"d507737f7aa3a9dc2f94c67379888cd7e1e6ee3c96ca265ed0dea283869e2642"},{"version":"d0fe1ed7c0dd615759a54d56c376d3e35e52b3bd379af121ae83633550e1b445","signature":"155a0ce1ae5dea70b7c62b88bad1d252f860edbe6973cfb381851ae84fbc57b0"},{"version":"f46250a3d3cd3bd34994208caa7d245088a529540bdf459e7225f4752509085b","signature":"4c117079aad8524348f5b782625f9663c24202732204ab321cc56f0913c99318"},{"version":"2fc8086bb1e429d2786b7d38419c2dd195328c42631f4c03800ba8b7d691fc6a","signature":"55853877ee77b90e1a143d58d14c4f5c2003b54d251cc9ef4c809f8ecbd4aa1d"},{"version":"2d3a61bc5c30e7f94eabbfff68b78835b6038cf4669afd2f69db9b3861f59682","signature":"3b65f98cd92e0cddcfa1ed665b6b2d2ab06584d87079d3ca16d473c24009b2bb"},{"version":"d7d2685982cbdefb1f190abea7cea8528614c31d430675e80a500efd5ce2718b","signature":"0a6956cb83f672f2aaf173e306a81c48ef904b9444d51c28c5d07a7a90321840"},{"version":"e8387ea3d835807e33e33a637a207ea12e5134912f6b7eb89c757e6381ca2d29","signature":"c55b5dd40b4e4244911fb70bec24eab327488b4b6414513f29d5c0d4669d8399"},{"version":"b6bcd22d528966ac3b3226ce4368fa2548b9d27086496f200acb6778b4be9e37","signature":"67c1fa6b68da9af0b53802564e5571e32e74faebcad03bee79ddba76534c2c28"},{"version":"d73e6021156193d88ac8757346998b73bb844e3105c0046722ef2972e9fb5984","signature":"a7d6ad6e9eb8f49ed5a46f2764a8fba42de8ef651c256c04a16abc78d4b787b5"},{"version":"d99e261147a8ca0295f772e82edaae16711db8d30e2511b98c59131f6583c216","signature":"46c0c755480b2e33e77428563ef84a0fa949e17e287c83baed1c53d6e9fa9014"},{"version":"caa900f1d326dfd6bc47d123e685680bcc21d4462bcda44c92ca7cb4318efcbe","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"80f6f4419b10ac52e19081d625d5c87e296a4911d9079bc92b46eb68f39dcd94","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"963e29c03860a04f42f2ca7723bf2f6c8aabcce3c2aed54a011716e20c1d65df","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"3571219af6edabae2c952146660e1734804bad8169857f4b8ebe6433463ec3a2","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"5f610e2b5a184bf4fa504123d543d6c34a35afa82f6a58cde23d70942c8d77d9","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"b6a64100f55b037a2788401e6a59d3850ce656c85f3e4a0a8eaf66a750c6ed0d","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"f371e54f31a872850cd31df8f6580dd22e8a08a6ae55fbc1647fb650384550f6","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"16ed5d4e6d9bf022f732e27adf9081604d593b3ec37e9c7a2094c67d115d6e51","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ba2e7bb3085f0acf77f6e173b0318d0db592580a32aed9c1d9a4bee49693996c","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"dc529f36460fcb82d608cbf7dfca17bf60caa2efcfa2ffc62dae265cf1eedc81","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"3de606ecb1c1832ef0b3ab83cdbe889a80bde08096f605c2908b4ce16b20cf67","signature":"3014d3b88380c852abcc20da8da3e0f8b56ce2b30dffa0dc8b02cae0d54e364b"},{"version":"7a653a012f1faf3ed474360d9e3c69bc03eb027cc3e40c60f82272746933e68e","signature":"bb8f5c8174b21b9b1a9d318205301ddeec2d0cf85ba3a7cd68ca9bfa0517f36a"},{"version":"488fcac9fd187228f344df7d3d41d93b6c710c05fc1d4f3b0f85be3ba844de78","signature":"35f2abe6c86b8ee3741319a9d7a8c3eb0230e9b42f7bd7d543db7a94dc4e9051"},{"version":"5e45861ef345620c63f103402b0f61c7c9e64c51df17eb4fbae864cd4156d227","signature":"74a54bff2e7775037930699111384bbb5d74f4de57c1359b5880f0f86182f56e"},{"version":"6cb5737d433dcd45710e3ca18cf5d23f2b8a51e90aed8b910868333b2fe2f41a","signature":"feb2d5fdc50e327f8560baa4feed95edc4e786e9b164d7718d7857a96f27fd15"},{"version":"90faa6c0944d21ee0222ae9b66b39c9f18e1225f9acaf9c4b83b1d4a43b26769","signature":"ca02a04122eca135259518c85da5210e6d924d9a19cac98e0f1cd55cd75efdaf"},{"version":"9f85484c8d7b9a1612a0f08240b54a84402132a56b0ee3f17d61cadccd0d1c65","signature":"45988a2c99eceb92797c0825e6351b563dc059cde42a94107c00c34530b64500"},{"version":"2bdab51bbfcea17d53fdf5cc1ed29d56e98a64a9f54f568dbaf327c25d2677b0","signature":"cd09cb9b335e1a378ede556e1a96dfd9fd412e9caa02bf73cc09d256252beb47"},"1cf312f6363cab7b3a2e6c67480fa5a5924eb6488bb43b766244327a6ab75db3",{"version":"dcbd3305da0fa9f9bfa2b6775179a16b18185d820810dd243be17ca852b7bd99","signature":"7837dd9c018c571283ac6e26b11fd830ca92edacdfde40f0dbf8ad4e9643b736"},{"version":"da3e0ab10454bff69d784689a6017755f62f51f9270bc5ca33a780d8f1effed6","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"3fc556b34c6a20f978135a17233f91fda8776a416a8a1ee0a79d59baa1d2e837","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"3370266542d151b96946fe6b140f046a0f1c98a99c2ee2f74b9c7f8e6c7c56a5","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"402e78c9fc8f2d232f0ba377e70c2ebba520dfde76cdf4cf3d71e28515c8f33c","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"9279672d35d72514a5d65cb870ae38fc12b87f6e814f1c8f60769021d49629be","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"a8450c2570cf96f31116c308579272cda985826079e4d1447c02aaf15bd778b7","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"35751d934bda8baf8801ff32ba94d394350eabdfaede494dd1651a99cace6f90","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"6e9a6151390e4f86224464e69c92b3caf0f5af8dfc53cc5c93abbabf638a2592","signature":"570c73d45cc72509d98f043168119c5ad36e6b716e2441189f8f875b78b7d309"},{"version":"83d32bb6c68c36dc2c27d16caf470e429254d3de8c5c8f9ef91134d33299aae5","signature":"59ee2a3667021f2c7ed7061717eb0e9c7f8b0a4abccd93a8aade0900766e5e91"},{"version":"bacdd6d5210d35dc960527ea72f595feb0bf54996c092239a22b1e443f419a00","signature":"8edda68fc04a498391fe3e3d486b469c92b2e4afcbdd0b4a5a8bfe78cff9be0b"},{"version":"1c52d4ed97efbdb4eb736e51e347f6b43891adbc1e38e61fecb737b5b45f748a","signature":"8490537159f5b3a3fd14f628b32e977a351e70a3bd09b890fae5616aaf894cca"},{"version":"68644ec645837f18a23be76bb3f4a66f5812bb9c347e23f6c25fe93e7ce8d7c9","signature":"cf65707352be96547e90a932227cfc57bb9a3a71bccc6659328bd161ebffc36a"},{"version":"8a87910eea3c747be3196204d06593dc4508fe0f2452fc66b9d3ddc337adefc9","signature":"a476746c1a3430e74dc7d6764252eb4efaab3f931bb8ed285d82185b2efb30ba"},{"version":"ae3c82b6b88fe1315f8e92eb498df792923d5da97e77376a8e6434ac660bbc62","signature":"a5b40c328c53179858f4850879d0e77ea5f554c6076eb084c7a077ba81adfbf3"},{"version":"5d1a09f5ab37a76ea0dbcc20cd08dd4dc224e263389aeac1c61ff592cc825690","signature":"8e81241cc6e2de102991340c8878879924b204883de36540bb6d9c3931611147"},{"version":"c4001f7e7170873fc28e7c802800f94d58daeed3e948942a6b665296e2aad37c","signature":"eb07f404debd5b6bdaa86469be47c6b2a1e1ebe7c4d263730ba3fb4b32cf85df"},{"version":"b2c6a08ea552355b1c5e1b1fa8b0d8771372f67199fedc6a77a6339a0f1ff148","signature":"2a346de3340c2b612e54eaf8f283d10e06620b02d5ad511a26faa5178f473b06"},{"version":"6a52477ffa08adc8d4bd84879ac20a5436f46333996cde7ca4a2e53e4e2f1776","signature":"b07b68f5938a55bf423545b75b3a448653410a1b1a09533ed9b00bfdd4c0ed64"},{"version":"fdfee9e401a2707036f47501a7759d3e3d9ef181ee6efda7a9cc9539c17e8638","signature":"8ff5a0f7789ee8905d1a2adf9d42d40fe416c23bbc81957875906d660485a78a"},{"version":"c2932a793359f3b09586284f89843b49ba29859791693df7e3713f5c169ada20","signature":"a13db128a389010a8c44cc19ca53aee045a3f3309a1cf4468ab110962054254a"},{"version":"c11954f6c73d0bfdcafe0036d47648d71e8ca4f1a70b1ae88c815a703fa9ab80","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"fc9adafb376ae31c4ea9501ef266f0faaf29de7d76aefde50ec9c6ceb67655fe","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"af03f35fd7d1a7a1b59e8fefab3d87aa8fc45501cde4d5f42657a0af2dbd3b85","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"765ccc4e3f7042c4bf9a0288838c93f3841d85e2c3fd10e15a17ef5da7e348a3","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"bc705423f5e581231d5ab8472659fb37060aa3ade1a052f301ccfaa5eb836748","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"23f751ecd2c2b9ce4449c843400093a3359bd77b541c50c815b3f3bb234ddbcc","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c1f283a5f8e29c8def3e16de0233029b469cb0c493d586c737e4d9c373e7cffa","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"301400d715a0763a26cde374da3440a1d4269254f6438f90f63b92e2ecb904f0","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"566e62da419b55e2c0504baa8b1e36b7af570e68ff1efecd7db3fdbd67d75984","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"f00ab38948981d4a7ee14b6d84a96edc3d50d3ac4412e4fa879210a4f34d251b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"7fdf1eb6c97f1f98cc7cbbc310c8ed4ac840346236053e0453ba33a58b141735","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ff310bdb1d2c5121653e826dd2e72cd137c909bb92fbbcaa12d612e6008eca9d","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ca5e466b1cd54a780167ecb1b23e6be6ebb99ccd3e500bdb6909343f4eb08e70","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"86bebba5823cd4c0c8c264ab1e5ca89532125029e01b3701365d7c8b57ff7b03","signature":"80e816ce6ab347f332104a3b4295fcd234484a8c0f78af931f6f679bc819854c"},{"version":"15c6a3bcc2ccaba6a79ea23cc968005bd86ae7c98e1851abbddacda91561027f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ba697cec2494efd4491a9b92cf45a2b453b381938429db999e6b0ad8eb91b607","signature":"462de0ebec39f4608d311ce5efe2f7996417ee2ba050330f9589541e27badc9a"},{"version":"3b9f374fb01fb21e7d3dc1ac1bda5a6ca485e8a42d80c5857c0a907fb1d56d9e","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"4056fa415788fb428681ff6d118600c813bae18a8939c0997e3a3a0eebbd462b","signature":"27c8473ae6d0631063de4e25ab27c0203e687c741721337d833ee7a8d114d9ec"},{"version":"701d18960c7fdb3d53f81c7081a871759da5846297845a6df470e448c1ee46ff","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"07481ec023d9a0fbe0f89d7a4eff51ec1816742b236acd371be32ae273a2b1a3","signature":"d80742a6a41d9f569db06f2a6f1ce341e38a8023e1f172dfc596ebf59b320d89"},{"version":"2fe04834987c803287fedee95429f29ed93194477634301a80acea18732b0584","signature":"c8cea0f80c3f03c528c1ee5bcd4584ac807b414b573259bc90cd3787ca4645b5"},{"version":"bb388028c4eb81fe8f1a1e8fd7ff3bf67cc2a9acd8bb0a6f5f2a61a593667e29","signature":"4ad6c2671041ef9cb7425418a493fca3c8b38243087e4533aeae67d0a9da5616"},{"version":"e4a528b1389a0dd73f7f169aae5f725b9b31dc3c321a1e026b1f1dabfca1fbe8","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ad56f09ec02b513928021933ba8ccb5322184a5f145211adbb54bec8ab7c939e","signature":"02d62b21f2b1b3ae90d6f4c2a2177c849c94a135893850b697a16146152533b6"},{"version":"4d9ac1ae59eaa55088de16aa37191db82e512889ea2e3475c923acb0fb5dd1ec","signature":"e6ec51d846f163b420d420782dd42e40aee266aeff314d141b11a0307a86fe09"},{"version":"2b207ad5750863999cb3b248b98e29d8cf15b832e77bee46c23dd5c712094bcc","signature":"8494e8d1afa0d76f70eea09873120b790df6fe7b084458941c2ce07b55155b33"},{"version":"8a5547b3ef575d99d9981c3f2cec446e2b348ed27d728e3758ce04518afe2236","signature":"418948af8b278bd71d186eb1cd3e77e0692f5d950fb4f486a805fcbfe934e4f6"},{"version":"04aa306d9eee3d2db5ee5663ba1503459ebf0895272569c8b85b9ac10947c453","signature":"cc3d19271e62bf36470c804f2a3933c7c01f9b8829ddc817019aac91c9c48f10"},{"version":"4219b873be82b7bea21e2c107b5a377780307fb4ff00dc949d086f13a2f0866b","signature":"601cada99cb9e63907c25fd87b7b09b2b53adc289c10c801b093431bee2826f6"},{"version":"a2709ecb4b779ee385bdfbe5ca4d5d7d6a77527d0d7cab0d286f18d935e8b4f8","signature":"79ebf04474cb0d7a058c41fb366280437bd079dd47f2138ec94f3918daa05ae3"},{"version":"3b40021cf5c4b492aa5cd8fa0871ab438f0da413ca344de421849513e4332ba7","signature":"ba994537d2ab9e6ef4ac8ffc86dc36ba2b9fdd034a5725d1986d97759876b755"},{"version":"9a6a75a9d4cbcfe725e96855f3af3803559790aa6b7e48a6314be4497e3aeb8c","signature":"b05b871bd13173d03b8a6ccfd9d1d187d6f612bf672f565eff21e0da7055aa3d"},{"version":"579925bdfaa8ffdf328f0aaf7a2b98a43acd6c7e56f4902c31f81cb93597fb98","signature":"4478ca9bdbf267e8ba293c55d26d03b720b9006964a13d4ee05afbed4509335e"},{"version":"f749d4843e5fa4533b0e8bae2784314231b4404e332e8d56abc2692272965212","signature":"46c0c755480b2e33e77428563ef84a0fa949e17e287c83baed1c53d6e9fa9014"},{"version":"71c8ad895db3c65dfbefa63d75e779b2ce821e8badb100fdcdc6bc241f2f4544","signature":"01fedc4512be58611b781ddf06d6575cce9825bb18f1492ddc0b7174273b8f31"},{"version":"25ff64eed6d319715fece8d041173a27719a7616837f57626e812d1ec3c6faa1","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"4e66ff6829096c09cab4b63dd3b1963525319b75bc885f40a82980d024253c88","signature":"9ba498bea3aed8b2794b31437cf2cc47c2e1e500cd72521b38dd4e8a772d2459"},{"version":"90b2c1b62ad1584dc7a33d91850fc92996bcaec77e8dd5f582c4906f6039a7cf","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"f8935852745d5400b05ccdbd70cbadef6396089a6d0657afd32ecf7ab958f54c","signature":"45b373ad2e114de335dd3eaf62f9658266d71c2f34537489f88f3b4815fa72f8"},{"version":"38dfac0e60c6379a3276ffe33739a19e2c81f3359a73f80370b7dbd615239da2","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"7ecfb0fe515e7462466e1fffddf551ab3cbbb0120b9c60d8b0882da1184d719b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"2d6e05af866b9a2fba0ca03edd8461339787f298085067eac7179ff66826fbf6","signature":"845a8c55efa3e6c366c3d4fe6aba5af60a822523d537e8a3930466b565b738a4"},{"version":"c7a40c6af045ffba5250fd4b2805c5e57e5f7ce518690f180c83b65018840f3a","signature":"cf231aee194a0a458e33d6b2a8017c04c869079c965b00b9d294016e5f331617"},{"version":"fa4fd1a6c106daad4d2048e50518a1707039d574d96f2282addc0157b2143b29","signature":"b59523722261669df66b7a54b3d8686823768c90c5a8a04fd1a7c0bc07064fb0"},{"version":"22c9076e33fb7efff1af1d8c1a9c3e38eb017a1a07e62d78b8b64ab33664f2d3","signature":"53e646710346887942688dfceeb46259c4d04547c3f4909366bf5a9e3ac41392"},{"version":"78baac76996d1d214302749ad18c6424d1952fc441004bc8b1ff78e16ae94f2a","signature":"e0fa0f834bef15145ff38c4f94b555e406815bff1d72c3cc4b911bed38024c17"},{"version":"a41f813b81e3ee6f2fe6051c05f77671ef035853004832795377479c61cbcb81","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"e374ce00606b66ae99a8dd321694504f11749fa9f407bcc445dd4eb6c6b3b5f4","signature":"6a2a0e9055a691ef8a292a143dd336005e96f4cfed93373adb6d1fb2f7d67cee"},{"version":"469f9cf214e06aa48a5d0b77b017f54a8d4a0f6d5e99cd8806be5984989a0fe2","signature":"0c25e09a2b6916bfd4fb6138feb16d394bfedda3d5fce6464478918e2f3a32ef"},{"version":"50a97612fd2557f947fff7bc53118552d9eeae0f349814c410151cc6dc305f81","signature":"b3deb4cfcdd96ff391f83c5cbe1f6880f7c11facf2ecf8e8c60983ba70664cbb"},{"version":"93b01da13427e2d00a8d73767869b61102d6ced5b8e6ef297006047e7a36b63a","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"4ed34dcbd916c8746407bbe31966464ba2a40992a7d3eafc7b89fe9487322e0f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"980ff563c04a7ee054838de6d5581a1c74f879aa573e49083b767661eb497b06","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"073d7d72dada0f47cf563f302854c2f4a56a0fbdb4ca0bb02878abb996b14c71","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"81f5e70b2efef928bafed1f1ed517b5f3d7dbe1bbae734620b1680b8cdd0bc66","signature":"31055f7d0532f460a1f2ec3229a6c990bfec524fb95332e3108bb50913d60c09"},{"version":"2f9876fe775220881f9a1dc662c4d45a1fc6c69dcbdf3394d4dfa7d38e7abf08","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"957c4489f92b096c32fbd8a1ff11729f1dbe37174d0e02792a253a195a2a8ba8","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"86c4fb8a79f66576d0dbe6189315842ca38029afe2c6ebe5b69d720ae7204d6d","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"23a5597b552c4fa9218e4ff75c6fde15c735a495a7eba796b21a28102ab16307","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"23fa3382c09d278365b7a211300808076300a0d16e6b7a7aceb22bbd6a5e2850","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"32890338fb3db8ba265d19c7192bfa9a11bc5ee4c15154a4db81a4ddf1c8b38a","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ebefa20d8e7844bf717e29dea823d72e0e3851abec67bd7442f18d5e1c929979","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"4cfb9e24d12ee634464b2e685f0e830f3871b28e0173cc89558416f194d49f73","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ef7f54e0c441529398e2666a264256395d244f143f2f97ce5737b8ba12f9dfb3","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"9a2f242d01ce2d89d7afdfd1fd83653b8d751731fe8484472e55caff6fca829c","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"dec2391eb73f6d626e7679f9c1a15a5a3939f799b408ee2ace519ebb16802d9a","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"4cf13af114742d0105d66db7398b6fe6bf1f95d0fa5dc6b2469af8e168be161b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"d7c9c2e7dc4c35e0a79a12add067b79cb96493da0593a7e063db435257c7ece0","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"125a82f0749289343dae5c1ebf6a992bd166e0eaf1c885f53cb8224734877a97","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ed8ce303eb9c07bea6cfa724060c049d83421b0a03c671040208438adcc1ddd0","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"bc2358aa66dfb3288e71f8568e09cbf493eb412a7ec67ffa33cdc24b0eac922a","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"71c4bc806bfef481e0a6ad07ad37d0be53ac5d8b0d19fb843e6a9549080dcefb","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"3e133c38d7312361e47e684f52022933865ca28b6d5d1bac3fa6e306c64e54e6","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"bf92a5c54601a670a6c8b9c02336b7a63a05b0cb9a05cf290d1cfaa95f28f284","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"e6160352cc574ab341489fcec7150515a9565817b60ab0a003d6c1444fca17b9","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"15601602390502326a32314bdea6c1331b340ccc19d41e82a71e69e7521f9b2d","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"feabcc3b9de397321d2fbbecfe8069975c10ca8f7d210bdb8fb1fb2ca06a2996","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"6b55ad93c7c4c1b77f78a46e1d78564d3dae464706a767f3d25ffa5e3dcec0cd","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ee249a2e5c93e9110ec235c1e89cfde32b81e509c667abb08fe9c1f2e324a810","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"8f33490c1ff132d5483cf4e1eb80e6e6495eeee76803ad9e0bf039c16f6214f0","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"9530414f935f2d4311ff2b25d6d8fe9b119e40eb052183336306fc8be3c84e88","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"0161d686ea587d2b8b0c407f8ea930e722df1f8868337aaf9602ddaba57183fe","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"6ad131fba9f64b1c6efecc01403b93c63b294fca637e29d8d515eef286d78348","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"f69bf166c44feb49a246356afb2fe5b9ef6eef32567ba98fdef5572be707ed11","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"91f88a5bb1e044c8a7d02e4d00846e3973ad038af3fc23dcad38bd598630de85","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"0c9b5c4082f748ded869361cbb3f97d405998ff5512bff4ec98ea95213085ae9","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"b3f09f17c91d57b6a841936dd215929d1ddb25b6cc36e2d5af8c2ad22efaea57","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c61a278f15af8373e1c5dc59fcef735e0a67d0ec68e0bb39993cf421922d79f7","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"4ffba69cef9d354ab21efcc26daafa01e3426d6ce70629064bc121269544e2f0","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"072c02eb1827f5ac252523d1a4fedd3452dd2a4e2ea1d14f9be0cc9eeac72558","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"3ccafcfd1f83fa4242ada464cd0cce589e03570b8d32806ea0ee8f66bbc75ee4","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"83780a3b4577d40f2094e631b3929043444b0bb16097fcb8c7eca08dcb3c1427","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c0acf3d7f2a5d62332da4fc79bcf475ec142934b00b1b0c8bfd3893f64bd1c24","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"70adbc536de0f2152a13491e0c1e76777e59ea9abd4217cb54cc7084f8574cb9","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"d767afd9e2f82e7e899edc3775e1d86e5acb4c7e6268acfa95c551fc7c02d676","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"34a2803e9127b665802f3808b668a5474c0e95e2efa58720312bed19f4461187","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"f1669908a2919eaaca00a2d247943b171e70beedf9ebcc743ccf6572392a26c3","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c582809c6b259123d3e999f8fc54040732e9047ad51e968d35de9c9e7b23475f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c6c4b346b7396de0a88562c85f142a3e6c71f0f0c3a51d8956d9d3d656bece75","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"17428ad5e6272b4958e99bad33e44b2c65c554fc5a4511c5ca18f6ee88277296","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"443177f481983e2dc6ed086301cafca403fec7d0b5f97d65658b79b7b37e11a0","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"87525aac3b68b128ede1c21fe4f43b896ffb651c5507ec5bf554021789f0ec68","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"2b52485c59bb8f5f8ecebc36f9eebd5bb9e839006267e67f14f40bf57c21e545","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"6230518eb3bb41f00853f984b9208154c9180a11639ac532d115aa34daf08a4c","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"63e54be11fb7b740bfdeadd63e8f451830470fb4add677af84ca53813253f593","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"41222d3dac2c14b6a1f71e0b5105f2e3f860186aa3db1aff6ec4d95f833bf6ba","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"59d51e5e8361f7051ead0c29c8a03483e6929dbb6cefc3b77c2c497f2d895762","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"34bd75b6379933f0a0371170d95905d43f72c8a3a2ee431fba5129470947bc84","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"4ac0ebe63335c8cf5fd698cefa7904ccccca2f9e5d27dc9e0e18ae1cbb5ba066","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"44da1db5f81f80f935eb95e20e3c925d71d68ab43379c478ef6aea748a3a0b92","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"bd6074dbcef6177b94d63a539d60447a71cc249f93982528095f888e24d1fd9f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"405ab3515b5d2f07531943438c5ecf082bd61434adbf4860e3f83cea145175dd","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"7356415ae2693e3f94e126d3fb31d42990d0efd882d063661d8a588124fecb67","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"d0dd8957db84d11780ab6f4fa208bc3827c49b5986f0b5efd5bb98171bb5a944","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"25028aa767cb234fb49871cb5dd6784ad018d94609a519cdc5334f590085d21a","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"28f03986bd300c037d0dfaa877d4e1ec84e84f56f87e6a28354988c4dd313325","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"94af03723f5fc0766c58bed116f2d53102c1f48eaebed8a5f0d8af8d6f38682b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"6dd4c595d7c2e50ef87da5a03626aa375407f05af9a1edfee1556ff27eb68ccf","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"871e55ec9de2b9c46582e36d93f3ae0b8f9414bce0438125de318a235d0293e1","signature":"407c70ddc24d5c90bc55d198041d27c6ce2cb0f42fe30a091ef7533f5ac3686f"},{"version":"ad3602cf898d906862e748a847deed9392213387659382a47bda93090c24d2e7","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"47beeb485aff1ad4e1fbd8ac6e8d36a24e150de10a30b6899840faa301655414","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"487344aba34994c6bea6db3099ad923d847a27e7c900106a17d5273f8cccaa06","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"a8a2e0a62736c86aafb6bdfb9d640a79dcab172ad24a4ea1c0032e28a44359fe","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"0568baac3cdb203dd85282b137b649bbf8171ae2f1a61264cfdfdc1dd5f6c1ab","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"2d05701eea88d40fa2962c3e988e6e8c751892445eeceaebb8f76bf10d8fb47e","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"fadf95731f4678454817d68abb0951550e2873b96d0e549fc0e46e8b9ca303a6","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"cbe51fafda1456e3f033e37684ff3dec49b3c11097453e460cf494d612abbf36","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"a5f1a3661ab26f668a8195833f02b4085991113b44a0bc7f790e9c9af257f07a","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"8fbf898b003bf3d70416df534552735d946ee7c578766469039551b5b5989a16","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"d43aea7abe28c92b8494f0fdd74762bc1d3ec18b972711d2a883ede1ca8ae628","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"598384c7786700c7d6208cac6007b37f123131de52f69441e496d3086f01599d","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"8237ed9ac77a0e6c957c04ae1939d077b1eb214150e0f2ee2330dcc698ebdb6e","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"9db5db65827dce6c3005c0ab5feb8dbc60776a2767d1f3779e4e56b6ac0eee26","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"750e7f25638270d4fba9ee9fa59e79d2d97cc88e655bc8bf27573dce9ecf52d1","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"745001d456418763f9801cd2f8e00a519d597d29efac153f41db8ca2b4cb5cbe","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"32552e3b687bed279decc2ff81ba12b6d194998a102b5592537ef0a7bc246ed0","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"17000b2a7cbc8febc1c38e79ca4aff5a824bca523973aa7b5c4be0313c10278c","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ae3187226d80dbd2906f54a87fe586f0b33961a92b99f74baddf23943ddf197b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"6290d7ae201e2cb37a3462e8f0474823749c74478df2c024483ba0f66b9201b7","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c3ffb3ab371ef4a1c49f3d70e6cf58152abbcf97f79b87b81fcecf0e349c9e47","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"43c903a3a3e6bd110c6e1e0edf3f119bc3863e25f534de171957fceb9373b791","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"6060795a11dbdc1b053619d909275140681f310638413d7f75dae71c0698a0fc","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"9b536f09a14585f7a60c6198eb73475cfda55bdb6eb7982562b14d9745ab3f58","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"7f21b2e5f827fd2bfa35959f943d5f7c38bd76195247f63a7e00c35c869583c4","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c93a6690c5ddf530c35ab275c70a4a15ac6ca4a74275d3a0205d1acdc8f99d2f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"5a1d4f7b55a0f4585ce971998ad5602b25f56fa82c105750c8f770fd89f61fdb","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"f9f0996b794816a3dbaee1dc3e8d20e19845f48e94a28b86ba71cd7dfd7bd4c2","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"71cf715fe7ac9cbda3398c62715e9e41e205bb9f66c14db522c05d33d9bed871","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c170d6a07e32644b63485cb4fec95a7b4210c95b0106bf604f77f60be4590609","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"7e8ad08f464b4d38665019d1a2e7abcf8431a2fafd4af65bcd93e71e9defe276","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"284afc03d292b1476a7abafc7a199b1374eece1304d742dfa2fffe29d1ef0c25","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"724ba566f050f9a5c9d59f094d43c5986a190bc913ea545fadd79e99201c1cb7","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"63c289c6931d3546d36c0cb59ea38f2d22ce5df282547200bf86dadb4cf442aa","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"e9a831e721e46b46f371bea50434b366775486045b009ed500a273a0c87cbc6f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"220c41cb6d922f9df023fc9633b25d3f277be8ca0b6959d35510aa0ce0d7f435","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"fcf4e15889b48532a4fab0550d27792e595ac7e53b656745561bbf0499175c37","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"9f93119e73d9aae89eb4897d9fcacebfc8131e4fd6add6bd0af2f085efbc1b5d","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"bed5a24b28678ac3060e6247e7f1028d52c3cd0a5da6f8de620813357bef52ac","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"8e8323f9bf61781a5c665b85254c338ac0bc879cf252c408a9155fcde6d3926d","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"58da354bb341bfae058822830e25841c7d4e322f2c01b523533d976788288a79","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"7cd11c824b38c56c3331454c55bce8d8c965e483bef9c7889d44f06fd0a3778b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"de10d6cc7a07ce5c5d961316be25ee61e38b528aefc5b78bf4890f24c0749f6b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"569beb54f189db6412e1bd14225b3c003cb7ea7a8b8ac9d2bb4a98d443a1202a","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"2bcf3b15c705b78d2624ca829055672f638ce38a4ec0bb25d7f776265ac833c6","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"d7a0f90adedfb247320507bc1f490cbff7e5c0236bf52363e4dcfae1219bb9d4","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"b2a4650779610aa8626f855bdead2a9ee445074ac77f0df56d4c3d74d471ac27","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"1a138b16a062718039f7b4a0189c173d4612c918f1391c15a13ff9d74d76c0cb","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c744d288d365f980822c7742d78323b2d62c4143a76bc0d272835e3038d35a9f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"d6e42e08867a127f7976389a59ccddd411a8a00653ebbc5d4f4d7a7cbf36dc36","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"570d900e54c02bb666819963695f97ab355d3a10137e4c90d48647fbef5a8bf1","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c51737d123042bf7b78e65abf4f684cf71693261300d9689a5e35906b94f9120","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"599cfd1ec00caf83833f4e4ac65b831ee1eeee4e301a1976724bfa1a4db9af15","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"eb45916ddfa4b3ca5ef6dafdfc7ed7923ce2da5b6716632275ad31ebc4e628b7","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"6c3b470578a5bd66ef16829c185d96ccefc3d2a3377d9976410f500610ab9628","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"f13b437a12555b0ec040c3d4f6d3aed3eda3ac447ef37cdfb0e458b697a97b8f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"058412d98b25b501e568f246099ea51ebf8d1564ed16d044bf78def5bae46d24","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"27a14d107fa2f36104dddfe0d0f3ad259d6a5a8cf3ff91cce99b5e493f9395c6","signature":"c754e6829c741e6b805b1868f57d8dccbecec8f04c2bea49c8fd3906a9b4bb9c"},{"version":"931a84417d61b614170fb2398ce6996a3413ce2e44b8e8778f68944f2e90cd87","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"adb0c4e652e7e2fe0de47ad7ff507a8d633122926d15e2196cc45ee94ea1c574","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"b03d1c836d3624a6ab8fd8395bcd1df2106a4c7da12ad82bbc7fe448968e7f41","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"21a8e8e0459286450df888758cb7a1cb036b689283757a03050f320cccc8e479","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"02cc4901ed1607eec674547e981beef06f1af8120dae3797ba9f19220246bc63","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"5f26bbb408f078078d1bbca7f13884b9b9849023484395cd135394d4fa8e62e6","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"26085d6a7b985e91fad21164ed5cba66427dbeded7e0a672532ecff63d2e7c4c","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"87dbf0346d5746894eca4b429e98201f34a03e11331cf456d13e71c81212e426","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"dbee469d488b262f97f892153e62cd20ee4724dd8b7d253ba771770ac8114c67","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"a3b5b2202cdedc66781da6676815f67ed036e5ae1ba2218dd9935a70e5b1db41","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"627f1ed82ab6a133fab304b936ad760a3e3099352c8aa96e0560e3417f063909","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"3a6dffbdf23ab002e31cedb2a1ab916c66a51a78a87771cec3ac596f12d82fa7","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"95658c91b67a72ec6af1ede02ccb5802d685bf848391710bb006f1ff1de9cc67","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"66db29e3c77173b1a53f6d0f07474d50b9b21bd20e5427bf4a70015fdd2df3ac","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"baa9f93cd885deed2211a1f17e2b64074d45217f6f95784d9d7db3b9adf39f7b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"cdd21ddbcdf8e5073e31fe7f730fe3c4023c66309625b87b5b9785fe140190db","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"cac72a71dd33cd4dcf93a4c06a34590d661d2ce406b9734cca33f567ddcc7208","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"e22c91d613f41ced7b80580a0426e69d7ce806ebcd4ba1731a53c7c96605be75","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"9fa26168f88bfa67f9b9f82b7cdc70c643822adc48535a76c320bc7d262ad78c","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"9f11d83ac8f4908d460984e703c13f43b69aca1572d2949292bc9b95ecb7a2b0","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"0aa4ca92078c3b7d3d19fb9b030d53be392a750137780459b8340ff399fc96ea","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"f98e81010dd1f0a168ccf0c28c53950048dab88a9aed8cd5cb1cc7790f883ac0","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"5458b79d513a3c28249bd399e109764da57de09097034437d65d13753035ec7b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"abd6d932a4f5ffeb10ea89ddc43d53467aabd67f1424f03634d2bdb9e91bb39f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"e7484d772180a4fe32c9d12b3701087ec6479a1fb4027d02443b362d6748f265","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"d22df3d0d4a171faea1356d2ed06746654b7b54a6f134ad5ea64f2bbffbe282c","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"3b9a5b677b8ac9cfeaba131842398608331bd99d1b9a939cbcffa96c77b05f70","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"6256390bc79dff5190177864fca522b99f1ff8c690ab411abb268d2660660479","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"3cd49322854ce1d737e709347cfd3aea195ff6e1b262d5958bb256c8beecfa0b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"41950adfe5fb33897a55572728896c2f93444277a234d432edadac80a0fa4e84","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"2c144fb7b835575d4eb400187da6e88cb37e0e58c7f2d430bfaa511f7f471fda","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ec563dab247f022b8527fe82436349f3792b975c4e939886ce128d095583abf0","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"f815436168a53475078bbd0aa903c756c66bca0ec8c468ff534ca4312eca4bb8","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"fa2aa9a0b964ca9bd71c8f1b2554010f338e89979fc0581e1f273a56897086f8","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"01655680390019da612e557fa6c87313dd411791e200ec4a960546fa1c73860b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"79bdfee706e5a2f5afc91eff7c3a186da1c451fc3827038d6bcead0160ead42e","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"4f719002191cbec9176949717a9a57b621e3a1d307a74ede4cc94dcb78c249c8","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"44370f3b07935d8a7985c152d1c3d25a731c121e5402dc300cd6562fd7aeacd8","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"981018d0a41acbe443619020f6900e7718ac3fec30c4b89c3fba14825cf4f4dd","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"9e68ae5f6432e9c50c43e9d2835536cfa152255e680aceddeb3ba2c13b5a24b1","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"7fb4e3677e240e9cbc6268542e651d8d7142cafc9b716002ecb94db2923231f8","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"4fab0835f3f0569611b4185f74019264c8ac4338acdae9786c36fc5e73165f72","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"095cc9d0709e52c5869e31a60f719773a43b60940f726480b689e301eb661d9c","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c6e4a5152f75e9d77ddeec6158887b08565816164545f301243fb653d7c57c47","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"b850436d0a9d744cd3fb92eb3be65206791e3b4c21cd66fa1af395074ccf9520","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"5ae00f9eb7202bad96cf17277b37f8eb7ea8dea3e1d29766ca904c2b81f54043","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"33195f2e0363a39a049cb3839f69891f3e92cdef82661f683823b7d4f2f3d3cc","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"e30d7ffd5f108b4f12429dca91377297ac7b070fa87b5680201b4c3da07ff6db","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"6eaea317fe5b6bbceeddd6440306eb6dfe56c86796b5e90b0c86f03d98fff955","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"e872000fc7ac3582304b5dd5ed762683779d524b26478f7b9a4ab50e8e416973","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"dd3302927b93be4d70937aafb41f80efb4c028286183943661e396d4206126ef","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"e5fa1f831462bed7e6b66e0a25e1cf8197e4101d0c31c64a90444eccb309622c","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"1eed9281109c026b9f052241336e80589c39df225980919ec591a01ae388f11b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c45bd057a7310603766ccd2d367916500bdc549f46285ba074bdaacc5b6d05e6","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"a0f194912ffe562a67d5570ee74538fc74e5b9ac3eda0c8188b314e72bc0b1a4","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"9c63668af53291cbd777acdc086a76266b1f9c51e354ea2787619ffc3c10cd24","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"eafd0838df9188d3b117c9fe53e0c77b707f5a985d3b8af99f664de7a4bbed33","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"83e6f2be1beac83f30dd5f1e56d42e907c7ce21c05ac72970b6ebd370e5432d7","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"4f59b8b9f9609eced7551d65f5a9d36c47c3e8e8f946304c4a9202d8748c87e4","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ccc6e094800a0ec7e18a71109ed4efc28f2070b608838fb625afe4ccf0dc9b87","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"313a574dfe32f592b23877fc0677f33c8656ea9970e4af30ef78b96e17e0a032","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"3fcdf7901f8d9f9e77895e5b0743e77242c2710c17d8ac73beba8a79e433b57c","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"5a991ecc505e086074ced217226118fbee9bd97d37d94e9a73cbe73cefc82b23","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"3c91bf1628b9af6723816e7f06ec22cbf5627ea3c793e802eee02aea37406231","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ffdd7e9f674d0ec87a1da0853cde6df604b57b86982b95351262e9b2aa5cc88a","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"09fd6ecf716a64bbd71674daee9e81ed726a6e716a66786508e12f95d4d47623","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ca5a2320c781052b195b38bd95a7424e01468dc5e78ef946d8eae4d218437eb8","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"0dbc717d091c928ea25aac5b7118713c489b0b07f74b6ae3a57803d4d704c841","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"a594ab6c35c7d643d01075831e516e897a4a36d1ba65eaf925803c58904dc5fa","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"d702abe575c08f7a4866f0ba029456e1f83b1c581e44e2bd6a94630ea8a65771","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"2f0f520b1cab36fdc9f80c54b74f17e7189921be14e5e6384c9e76dd694c5df1","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"0a5bfc7e44ab051a47024ec4a0ed1f9b2414213668fd0f70587960f4e9404e23","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"9210170f2fa566053f02e2c5c3a77faed4e7e51d8366ec02adcce7953297fa56","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"b01dbe7929b0a92420ded501af329eacee87e3465038b6b1a0950bc7c8f90421","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"a09f8f187f3b0a161b4ac047191bfb07e8ef61816872267b882b311ebea87b2d","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"803ce94cdd49ca8ed653e63004ed3fcb16ef302b983ede0d5291257babef6bcd","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ebd54d09bcb969873eff5f50835348d41ed084785a1a53110b155cfe0875b7f1","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"b1d57277c40e6512296d6635e280c6228aeb08d789aff2eb4ef865eecf86cc78","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"d71d12f9748990e5a21ef6fae3483650f1da187533e520785ba561f8e8f177af","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"a3c1c6e2d0c647263a8aee2d16655f525c930d6b9784eb6080c93ccac28a7c9b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"a93fe9b1bfbc124b8f4777276537084f37469f91fb5ea6ba8637f62222f9d378","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"89e0c0b9430b0635a17c439eb81fe536ac9ad69c9229a832c1a661dab780a362","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"81206a45e70c1954a56f3f56081b7161b80abd9048c0a6806deeb279b05b248d","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"b57719fe1738f95cf28675ad0e55eb81a991bf372a7a5dda6c45b162bd094d96","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"fee02d6d186cd9b1dc4824242b05768bb2edc61614f01ad6207145744366a731","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"a83e4dd75c54300e6314ea2c0c5813b418d1a2244391acb001f263c9b1b37521","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"27c25a73ab8e8e6ea25f0679d1ef24c446a929a7b9da8fc842af72349beb9ef1","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"f0eef830593e6ca3e34d7c4af265fcbcd5d7ec2a6c980a442a8a395c98b7d872","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"752bc0bd543fc478323820a8595d137ea1fb8fd0d8ceb0ea05c3ded4bf1d3729","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"f7ebe49b5aceb5dc59e032f232be7c2d7c66e6de236e3f3a8312510c39a31657","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"36919106e6e5c86f0628d2542222b4f6a09cf7955bd96c53a9f17a09b62f3903","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"f6be390877d224b02106db41d582eca38b6d52215c0843d3e6d78d210c956f95","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"d3f8f5aace71b195d9cb905177be628f58054f49b8f8ba2a086c40a7f8f96116","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"d77a4e85ac4e7465ee559c7aa33e9b67794fb42eb006094e41de859e0f574567","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"efaba8801c46c71114040269fdbc963f3496d01a5b185ef05612d3d71f6c1fbe","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"fb3ed0e0faf30cd74bdaed8c1b2f9f5c881148caf5a801c9c2130c4c7a1549c7","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c120a6708c0c275899bcc98083090a85487ec866f85b6be29a50714dacdf73bc","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"b78fa0476aae9c90f1ba345f48912c46ff37b4c95cd6242b75cb57efd8f2bc4b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c9959681b8cffae14e821fbfdf3daac7759ccd92bd04413f45100301d8d08d20","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"57ebd17c1bf0e09d222252bb67deb0cef31476b2476c680ea5ceeca29cfa3efe","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"2813a4305e2d3d23e4997d9a2f482fde783962eec4c66dcd112a3348a1b1f6a8","signature":"b84cea73e43cd5d152e01d2870e7736075b6c5ffd9355dfe2660b98078c17e9d"},{"version":"119ae1f4c43b80a86564573e397d49f6e19dcc54b96b3a513066a2e108e89c6a","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"48392b4f5473115f4cbd2da11efb0fda7bb0610c15185a5838260c9c2b2e5745","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"931e404359129b88ae22b707a39298f2d8351f150a5ad6feabb975603272beeb","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"b522f77d275268e582dd53f3dc4f93082eb2f79a0022d066bcadb94a59b6c88b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"a9c542d03e88c557c60e7dda6aaa2d71a05687764720b66dadf6cfe080888982","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c77cad2e3e80373964256a967f064b23ff95f5fc46788636eac8b765b2fea524","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"fa264b7613bfa8f9e9f8b06198322e50d8e14692e44618cdb6feb7579e016919","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"02d2e27ee8ad6bff557165700f7a20e6dbb7816cfc60bca8c2613cfbd211bbe9","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"69b3922251aa575049849afbf72d429c17965f5827fcfc0b6636263d0a261779","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"a23b58c3087d419c5d21fba70096b8a9eb42977ad61f22f6f7fba5e09e0e6ae3","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"055e5ac1ac33ae174595f55c76aa1e371ca8819456cc5b97a69872037139ac72","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"45f9d9bf9998e2ec7147ad27c7edc2e5ed387302c4018c9f4f7ff088eb22af8a","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"90e9e2b93e5bae19a5e66972efb5e6ec11dc1b50b9e8259f882055ccdb3d4aac","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"7d48623c259925ee1be3af21160d8325d25a2586b8180bb8e926baed2ea55cca","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"f397adc5718aa5b8ea60ec16afed311eafe510111cdc0de0378994c629ff4eff","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"7a83e8d50eecbdb731f8da23ee08494be2d247cb9e8e5c3857da7cd9e07fdc50","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"671265f64fc5c31cd317267ead0afc5c6c4634fb51204bfb54e3bac5d19d4db7","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"f1f4a3bf8d46ac603eaefa297ebfafb18a111a4854577d169bc3c0358bb373aa","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"89a4895e643533b7b76f782b52aa9b695d0961f2695ca7720dc50b48e9e55215","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"dd12c9b4822755161ebb4ba65818948561a5982f5f493eca9f6f0db242a468b3","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"114445bc0794c2c9a3f03a42134748f545ea788a004e4667d7b9eff39211a61f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"8efdfaa6427be4a0852ac62cc450946e95bd551cb7c5b55dcc99675352e15362","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"09b4d72988c4682aa5713bc6a6df7892a7b8e2f10e1af3dc02985c6d4aef84ad","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"baefb08b615c9fc53a31c27981bf8899af8e01a0c9e2ab60c23cf0d324d77274","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"4655253898ca135dbaf1c70264cc5ac0b751fe8e456aef070a22b9fced5e1c31","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"1e1d5c76c59c49b2b6f32b7065d0a95bfd229908da2db72526ebdb9312ed2cdd","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"0372f69c026176543799d0fb44c885c4b34b3c5f58a6a60b1e7ae6dc21a608cf","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"40510866633ba6c635e0495e40994f4e3f30d9378f23cc26887b3ff5e56391a3","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c8e314252d59d7036c77895ee0a3e53188bf85aff4e346be37e8b59b6b97afe5","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"e06fdebc3dd76292c8c87320836e7717db267536befee53d8eb8766898fc68eb","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"b8e67d1c4879855a82071fc676a117355eec33a97bac9b727c13b728ebca825c","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"beabd1db71dc8e0911944d9400ced2cd02de425ffeb61c6ca0d2124cbe64d785","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"945b34137fa3efb0ae22928275c1c42a722dbb81a26c57fb02f64f71e5daa3ce","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"294041d51d1910e6986cfe979cd3732a5f7eae7f329589ca4f2799248e5a7265","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"8f270a39bc647847500a6173ebd429406421cd10b2410d8cc0aed908f2bc47a0","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"f7dd5d2e11fd8109cdc7d2e4f383f64bf0082df17f9cbfd119d5fc02dfbff07f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"3828c70cef320027121c2ae0386e44385b937709ad0a1cfa4744a0a270b5b270","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"a7c931d7405b9910835cda95a3cd42684ebf92eb7bcc0d3649f90aa32a2d166b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"78228dfdc1a7024c9e4eabee22c057409886b9014ebd22319ee8a0a9ed31e799","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"18beabc03110b8f4e1d1eb5a556e6de09834d365995b2f10b17d26a574dba141","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"70e8e8b44c2fca9791db4f3c06c3cb310556b19335d656bfe3cfe6aee8d65622","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"995394b9345e8eae0c2413b22ea07faa239769d45a58bb219b9222d86bf2d9b7","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"04b5ec07def664c916b3a73a5b4b31f3930a626739ddb528569bdd33f0300456","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"aa82aeaf9be0588a652ec636bca8e6d7be86a81f85bb22e857b02a469e8ab2b8","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"bff4446c82946468a43586024674e16e4a3e0997ad4509306909cb702e3aa293","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"1f01e0679b98631e04d7b5f47a6a1369071c72350ab0e8f7eecf8b9651aaf3d9","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"152d40d63a22525f1465c7ed134e36fb97fb9db2c706f3d553f126d7e26d0ec4","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"41b4c577be164a41be457fa1eff74c8923c8f08e8ba7e5e57d894424f48de2a9","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"15c805dfe9b0eedb507e5a9d32ae6e321327d77673ba6181de4710f2c2634cc2","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"5cc1c46b57a52eba565ad27fa54cf2e09d763de1f3412354357e6085e0d89ec4","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"b679abde8e957cce28fd0a30fda80cd7b9042fe9a9bb5a9369af5046d043fb2f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"47c0e01bceee2d7e95b691b2417954d55251167544413855e8440495dd67a5a8","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c2b1d972a2b83eb6f85a7d894c57331aa5be4e9b93d1b9b16d697112b52069bc","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"bf929bfe00c111cfc4601d7ca3bd81df46040cc86055e14a14c1f35053d3882b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"3e804602b8814015b1a9acf40195f6028daaf6b2984fbc4996a76451d0f8aa5b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"670eb13bccc2eb7b1754301c59f8fb33f5e30de44f17835fc8e1c741aa3f68ba","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"35bd7fa89a59ca3b136c221ef604ba3a8e30cc88bb03cbc4d26fee0659d02ce7","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"d596725c15eee936539fe4bcb0ec9f08b2d8392f0e9bce03effb76ed734910ed","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"b08b6177c9234876e6836895b0bbf4465e14c9b64bbb7467da5b89b9b5b11d89","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"18ce2ba17324b20ea784c2e1d464c96c19be7bd21b1735b5487e21c808f46500","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"a85610ba8978234a59d37629fafe05c27fb2154cb62b6b775eb8119802e0a38e","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"adfa78b8af8a8be5116202f634a2f113d7801ed20c47767339f1505f952ebcc1","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"f328b3203d26b5f709e5a082bc956c2e95fbd9fbdca6abee0802b59b633e0dc0","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"34fc137aa6085dd4f915e8b4a8c0d48d6b07d4fda84716ba91619d5ba39566bb","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"d54083855fcc2ed66dedb389bf2efc33b892dcf572829e43758309fe7bcaabb3","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"f44df634432426f2b1249398b735f171a84c3902b4e0452ea2f7cc3d02568bd1","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"7952ed742b48930403868cdd2e09a9b5aa543c9adbed9f012618d6b58c289dff","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ba0d14c18aebe4a5cba52b4a7b902247dd5a91106737e06d6e2112b1b4cbcacf","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"3b8983ef3b44f8779b91c7604f70379f8c40f88da3d6863e4bb7a5d7f95b2c98","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"a7b89eb149bb46fafba5e3eb85d5a9fa76013cfe937ed5c0b8898636a4eee533","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"23ccd9a0a59c200893dfa0ac3c539ac8f4416d0f43bce55501603f949ad1939c","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ecaaff298281e8bd8bc234e03d4bc1ba565a804edb846005ea6566cbcc47fc73","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ceded34bed1c475b90671a320a8fd84a6a4a4d7c56c3f3f88d9a6804e933eba4","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"6679ae1bd78dea53dc058ae235a3708f27ac7f87da929ddd38f7d4c222c18f9b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"9a40eaa7da4b2085746448671fad7ca6da6a84c58cb1d0e2ebfba17888d040a2","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"df815a5a142bc0b6b160b0735938321d8454a4a5fec0923bb6d7dea3f6c068ed","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"49d82eb2dfa6a10a2a6b59d85b09baec0b700ed3c9f43fcdc0b1ec58ab35a8fd","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"9815b675507e394e469b6bc395afbe8c63d6736cc7290a73f56cfaaca549b027","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"b0248daeeaac242de0ea72ac0f093a31b55e70b43020d40380dbf609803a45e7","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"5a31a79a9691f6153276381e906dd27e985f53c6920adab35199527cbfaeace8","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"3414d416e51f2846b21f4aa1492fd44bf9ffeaece26743ae1527154e3da6f7fe","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"6309b32da582c7b3e5afdf30678bd7d456cd9a1118ea1c660dd73ee32770d683","signature":"4c372df16f354b44e6e653a4442eb9f26b95f2d43efcbaa75b59506276b92df7"},{"version":"26f213bee14ac8092e7a36473db58d1955fa4867bf5b091950ad8dfd31956809","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"4b332cfe58c80b9e5abef88dfe157a88f9170f64035fd2a83dc395b334c440fc","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c1161b186fb7ef72c0dbd14af1652937e6cb3453231dd6f56d396f43d46d638f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"89ac6a7385062683575fc5ad85a18f77e6c9617a3786f49aba644d55ae277f4e","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"3e33a62342fe8bc07fd5ffb6e870ed8f0d906f8021115bea5b4ef5cbd3632d04","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"dbbe19275d7ea098ce95e9ea65e45380eb8f80179cb14d0f2fb1196ffd9b98dd","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"b247732a1ae37a5e0307d4333ef15e3d5393951e3236be0287adeaa48d553b35","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},"d1986184a09a52db8228cb2bb2a61a8c05c9354e5b93cec8e2628d8579c892d7",{"version":"1e11adf04ff8cb1c16d42cd6efe0e1039cc1335c26671292bc2c96ecbf9a0b30","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"b1538a92b9bae8d230267210c5db38c2eb6bdb352128a3ce3aa8c6acf9fc9622","impliedFormat":1},{"version":"6fc1a4f64372593767a9b7b774e9b3b92bf04e8785c3f9ea98973aa9f4bbe490","impliedFormat":1},{"version":"ff09b6fbdcf74d8af4e131b8866925c5e18d225540b9b19ce9485ca93e574d84","impliedFormat":1},{"version":"d5895252efa27a50f134a9b580aa61f7def5ab73d0a8071f9b5bf9a317c01c2d","impliedFormat":1},{"version":"1f366bde16e0513fa7b64f87f86689c4d36efd85afce7eb24753e9c99b91c319","impliedFormat":1},{"version":"fb893a0dfc3c9fb0f9ca93d0648694dd95f33cbad2c0f2c629f842981dfd4e2e","impliedFormat":1},{"version":"89e326922cadcc2331d7e851011cf9f0456a681aaf3c95b48b81f8d80e8cdfba","impliedFormat":1},{"version":"5d08a179b846f5ee674624b349ebebe2121c455e3a265dc93da4e8d9e89722b4","impliedFormat":1},{"version":"96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","impliedFormat":1},{"version":"7fa8d75d229eeaee235a801758d9c694e94405013fe77d5d1dd8e3201fc414f1","impliedFormat":1}],"root":[531,532,613,614,[616,620],[622,628],[631,633],716,1025,[1060,1084],[1089,1106],[1143,1184],[1261,1284],[1288,1314],[1316,1323],[1343,1384],[1406,1521],[1599,1601],[1607,1642],[1874,1897],[1899,1958],[1960,1991],[1995,2003],[2019,2051],[2196,2224],[2226,2237],[2240,2276],[2278,2297],[2556,2571],[2573,2583],2588,2590,2592,2593,2597,2599,2601,2603,2605,2606,[2611,2631],[2719,2853],[2931,3288],[3306,3308],[3376,4024]],"options":{"allowJs":true,"esModuleInterop":true,"jsx":4,"module":99,"skipLibCheck":true,"strict":true,"target":4},"referencedMap":[[4023,1],[531,2],[4024,3],[532,4],[3374,5],[3322,6],[3320,7],[3323,8],[3327,9],[3316,10],[3326,11],[3339,12],[3375,13],[3309,2],[3338,14],[3337,2],[3314,2],[3321,15],[3317,16],[3315,17],[3325,18],[3313,19],[3324,20],[3318,21],[3347,22],[3348,23],[3344,24],[3343,25],[3364,26],[3367,27],[3366,28],[3368,26],[3365,29],[3363,30],[3333,31],[3349,32],[3332,33],[3370,34],[3328,35],[3329,36],[3362,37],[3350,38],[3334,35],[3336,39],[3335,40],[3346,41],[3351,42],[3369,43],[3330,35],[3352,44],[3355,45],[3354,46],[3353,47],[3358,48],[3357,49],[3356,36],[3331,35],[3359,35],[3361,50],[3360,51],[3371,52],[3373,53],[3342,54],[3340,55],[3341,56],[3345,57],[3372,35],[3319,2],[721,58],[725,59],[724,60],[720,61],[723,62],[717,63],[722,58],[729,64],[741,65],[740,66],[730,67],[738,68],[767,69],[766,70],[747,71],[759,72],[743,73],[745,71],[744,74],[770,75],[769,76],[772,77],[771,78],[768,72],[773,72],[774,79],[779,80],[780,81],[778,82],[777,83],[776,84],[775,80],[784,85],[783,86],[782,87],[718,88],[719,89],[781,90],[756,91],[753,92],[794,72],[793,72],[792,72],[749,92],[761,74],[762,72],[758,72],[757,72],[748,72],[797,93],[796,94],[788,71],[746,71],[791,92],[790,72],[786,95],[750,72],[755,96],[752,97],[754,91],[742,98],[785,73],[764,99],[765,2],[760,72],[751,72],[789,71],[787,74],[828,100],[827,101],[825,102],[803,103],[826,72],[829,104],[831,105],[830,106],[731,92],[732,72],[733,72],[833,107],[832,108],[734,109],[735,97],[728,110],[727,111],[726,112],[736,72],[737,113],[739,92],[835,114],[837,115],[836,116],[838,92],[839,72],[840,72],[841,72],[843,72],[842,72],[856,117],[855,118],[847,119],[848,97],[849,104],[845,120],[846,121],[850,122],[851,72],[852,113],[853,92],[854,104],[860,80],[859,95],[858,123],[864,124],[863,125],[862,95],[857,95],[644,126],[861,127],[868,128],[867,129],[866,72],[865,72],[690,130],[669,131],[672,132],[668,133],[688,134],[651,135],[683,136],[691,137],[673,135],[674,138],[692,135],[686,139],[675,135],[679,140],[680,135],[681,141],[678,142],[684,143],[693,144],[685,145],[694,146],[687,147],[689,148],[682,135],[677,149],[642,150],[643,151],[1012,152],[870,153],[869,154],[636,155],[834,74],[763,2],[641,156],[670,2],[967,72],[634,2],[635,157],[637,74],[676,2],[640,158],[671,159],[663,74],[798,91],[799,92],[807,92],[806,160],[809,72],[808,72],[824,161],[823,162],[810,72],[811,72],[812,96],[813,97],[814,91],[815,160],[817,92],[816,72],[805,163],[801,164],[804,165],[800,166],[819,167],[818,168],[822,72],[820,169],[821,72],[872,170],[871,160],[802,171],[874,172],[873,72],[881,173],[880,174],[877,175],[879,175],[875,72],[876,175],[878,175],[892,91],[890,92],[885,92],[894,72],[896,176],[895,177],[884,72],[893,72],[883,72],[891,178],[887,97],[888,91],[882,63],[886,72],[889,72],[901,179],[899,179],[900,179],[906,180],[905,181],[902,179],[898,182],[904,179],[903,179],[897,2],[911,183],[910,184],[909,185],[908,186],[907,2],[920,91],[921,92],[924,72],[923,72],[927,187],[926,188],[919,96],[917,97],[918,91],[915,189],[914,190],[913,191],[922,72],[916,192],[925,72],[936,91],[937,92],[940,193],[939,194],[935,178],[932,195],[934,91],[930,196],[929,197],[928,198],[933,199],[938,72],[947,200],[946,201],[943,202],[945,202],[941,72],[942,202],[944,202],[953,203],[952,80],[951,204],[950,205],[949,206],[948,95],[957,207],[959,72],[961,208],[960,209],[954,72],[956,207],[958,72],[955,207],[707,91],[700,92],[711,72],[710,72],[698,72],[714,210],[713,211],[705,92],[706,72],[704,72],[645,95],[703,72],[702,96],[699,97],[701,91],[638,98],[708,72],[709,72],[696,71],[697,72],[795,212],[712,72],[965,213],[971,214],[970,215],[969,213],[963,213],[962,80],[968,216],[966,213],[964,213],[975,217],[974,218],[972,219],[973,220],[982,221],[981,222],[978,223],[980,224],[979,225],[977,226],[976,224],[993,72],[995,91],[992,72],[989,72],[985,227],[990,72],[997,228],[996,229],[994,195],[983,230],[986,231],[988,232],[991,72],[984,233],[987,72],[1001,234],[1000,63],[999,235],[998,63],[1005,236],[1004,236],[1009,237],[1008,238],[1007,236],[1006,236],[1003,72],[1002,239],[1020,91],[1024,240],[1023,241],[1019,178],[1017,195],[1018,91],[1021,74],[1015,242],[1014,243],[1013,244],[1016,245],[1022,72],[639,246],[1011,247],[1010,159],[931,97],[667,248],[661,249],[666,250],[664,2],[665,251],[695,252],[844,74],[655,74],[653,253],[654,254],[660,255],[658,256],[656,2],[659,257],[657,258],[662,74],[912,2],[2585,259],[647,260],[649,261],[650,262],[646,2],[648,2],[1643,74],[1644,74],[1645,74],[1646,74],[1647,74],[1648,74],[1649,74],[1650,74],[1651,74],[1652,74],[1653,74],[1654,74],[1655,74],[1656,74],[1657,74],[1663,74],[1658,74],[1659,74],[1660,74],[1661,74],[1662,74],[1664,74],[1665,74],[1666,74],[1667,74],[1668,74],[1669,74],[1671,74],[1672,74],[1670,74],[1673,74],[1674,74],[1675,74],[1676,74],[1677,74],[1678,74],[1679,74],[1680,74],[1681,74],[1682,74],[1683,74],[1684,74],[1685,74],[1686,74],[1687,74],[1688,74],[1689,74],[1690,74],[1691,74],[1692,74],[1693,74],[1694,74],[1695,74],[1696,74],[1697,74],[1699,74],[1698,74],[1700,74],[1701,74],[1703,74],[1702,74],[1704,74],[1705,74],[1706,74],[1707,74],[1708,74],[1710,74],[1709,74],[1711,74],[1712,74],[1713,74],[1714,74],[1715,74],[1716,74],[1717,74],[1718,74],[1719,74],[1720,74],[1721,74],[1722,74],[1723,74],[1724,74],[1729,74],[1725,74],[1726,74],[1727,74],[1728,74],[1730,74],[1731,74],[1732,74],[1733,74],[1734,74],[1735,74],[1736,74],[1737,74],[1738,74],[1739,74],[1741,74],[1740,74],[1742,74],[1743,74],[1744,74],[1745,74],[1746,74],[1747,74],[1748,74],[1749,74],[1752,74],[1750,74],[1751,74],[1753,74],[1754,74],[1755,74],[1756,74],[1757,74],[1758,74],[1759,74],[1760,74],[1762,74],[1761,74],[1873,263],[1763,74],[1764,74],[1765,74],[1766,74],[1767,74],[1768,74],[1769,74],[1770,74],[1771,74],[1772,74],[1773,74],[1775,74],[1774,74],[1776,74],[1777,74],[1778,74],[1779,74],[1780,74],[1781,74],[1782,74],[1783,74],[1785,74],[1784,74],[1786,74],[1787,74],[1788,74],[1789,74],[1790,74],[1791,74],[1792,74],[1793,74],[1794,74],[1798,74],[1795,74],[1796,74],[1797,74],[1799,74],[1800,74],[1801,74],[1803,74],[1802,74],[1804,74],[1805,74],[1806,74],[1807,74],[1808,74],[1809,74],[1810,74],[1811,74],[1812,74],[1813,74],[1814,74],[1815,74],[1816,74],[1817,74],[1818,74],[1819,74],[1820,74],[1821,74],[1822,74],[1823,74],[1824,74],[1825,74],[1826,74],[1827,74],[1828,74],[1829,74],[1830,74],[1831,74],[1832,74],[1833,74],[1834,74],[1835,74],[1836,74],[1837,74],[1838,74],[1839,74],[1840,74],[1841,74],[1842,74],[1843,74],[1844,74],[1845,74],[1846,74],[1847,74],[1848,74],[1849,74],[1850,74],[1851,74],[1852,74],[1853,74],[1854,74],[1855,74],[1856,74],[1858,74],[1857,74],[1859,74],[1860,74],[1861,74],[1862,74],[1863,74],[1864,74],[1865,74],[1866,74],[1867,74],[1868,74],[1869,74],[1870,74],[1871,74],[1872,74],[2018,264],[2017,265],[405,2],[374,2],[2066,266],[2065,267],[1605,2],[1400,268],[1399,2],[1085,2],[1086,269],[1405,270],[1402,271],[1403,272],[1404,272],[1401,273],[1087,274],[1088,275],[1396,276],[1385,74],[1398,277],[1395,276],[1392,278],[1393,278],[1394,2],[1397,2],[1142,279],[1386,2],[1388,280],[1391,281],[1390,2],[1389,280],[1387,282],[1121,283],[1131,284],[1128,284],[1129,285],[1113,285],[1127,285],[1108,284],[1114,286],[1117,287],[1122,288],[1110,286],[1111,285],[1124,289],[1109,286],[1115,286],[1118,286],[1123,286],[1125,285],[1112,285],[1126,285],[1120,290],[1116,291],[1141,292],[1119,293],[1130,294],[1107,285],[1132,285],[1133,285],[1134,285],[1135,285],[1136,285],[1137,285],[1138,285],[1139,285],[1140,285],[1338,2],[1335,2],[1334,2],[1329,295],[1340,296],[1325,297],[1336,298],[1328,299],[1327,300],[1337,2],[1332,301],[1339,2],[1333,302],[1326,2],[2596,303],[2595,304],[2594,297],[1342,305],[1584,306],[1585,306],[1587,307],[1586,306],[1579,306],[1580,306],[1582,308],[1581,306],[1559,2],[1558,2],[1561,309],[1560,2],[1557,2],[1524,310],[1522,311],[1525,2],[1572,312],[1526,306],[1562,313],[1571,314],[1563,2],[1566,315],[1564,2],[1567,2],[1569,2],[1565,315],[1568,2],[1570,2],[1523,316],[1598,317],[1583,306],[1578,318],[1588,319],[1594,320],[1595,321],[1597,322],[1596,323],[1576,318],[1577,324],[1573,325],[1575,326],[1574,327],[1589,306],[1593,328],[1590,306],[1591,329],[1592,306],[1527,2],[1528,2],[1531,2],[1529,2],[1530,2],[1533,2],[1534,330],[1535,2],[1536,2],[1532,2],[1537,2],[1538,2],[1539,2],[1540,2],[1541,331],[1542,2],[1556,332],[1543,2],[1544,2],[1545,2],[1546,2],[1547,2],[1548,2],[1549,2],[1552,2],[1550,2],[1551,2],[1553,306],[1554,306],[1555,333],[1324,2],[602,334],[4025,2],[4026,2],[4027,2],[4028,335],[2075,2],[2053,336],[2076,337],[2052,2],[4029,2],[4031,338],[600,2],[4032,339],[546,2],[2633,340],[2584,2],[4033,2],[2643,340],[4030,2],[3311,2],[3312,341],[140,342],[141,342],[142,343],[97,344],[143,345],[144,346],[145,347],[92,2],[95,348],[93,2],[94,2],[146,349],[147,350],[148,351],[149,352],[150,353],[151,354],[152,354],[153,355],[154,356],[155,357],[156,358],[98,2],[96,2],[157,359],[158,360],[159,361],[191,362],[160,363],[161,364],[162,365],[163,366],[164,367],[165,368],[166,369],[167,370],[168,371],[169,372],[170,372],[171,373],[172,2],[173,374],[175,375],[174,376],[176,17],[177,377],[178,378],[179,379],[180,380],[181,381],[182,382],[183,383],[184,384],[185,385],[186,386],[187,387],[188,388],[99,2],[100,2],[101,2],[139,389],[189,390],[190,391],[1959,392],[1898,74],[195,393],[460,74],[196,394],[194,395],[462,396],[461,397],[1341,74],[1315,398],[192,399],[458,2],[193,400],[83,2],[85,401],[457,74],[226,74],[2632,2],[4034,2],[542,402],[589,403],[587,2],[588,2],[534,2],[584,404],[581,405],[582,406],[603,407],[594,2],[597,408],[596,409],[608,409],[595,410],[533,2],[541,411],[583,411],[536,412],[539,413],[590,412],[540,414],[535,2],[601,2],[84,2],[629,2],[2386,415],[2365,416],[2462,2],[2366,417],[2302,415],[2303,415],[2304,415],[2305,415],[2306,415],[2307,415],[2308,415],[2309,415],[2310,415],[2311,415],[2312,415],[2313,415],[2314,415],[2315,415],[2316,415],[2317,415],[2318,415],[2319,415],[2298,2],[2320,415],[2321,415],[2322,2],[2323,415],[2324,415],[2326,415],[2325,415],[2327,415],[2328,415],[2329,415],[2330,415],[2331,415],[2332,415],[2333,415],[2334,415],[2335,415],[2336,415],[2337,415],[2338,415],[2339,415],[2340,415],[2341,415],[2342,415],[2343,415],[2344,415],[2345,415],[2347,415],[2348,415],[2349,415],[2346,415],[2350,415],[2351,415],[2352,415],[2353,415],[2354,415],[2355,415],[2356,415],[2357,415],[2358,415],[2359,415],[2360,415],[2361,415],[2362,415],[2363,415],[2364,415],[2367,418],[2368,415],[2369,415],[2370,419],[2371,420],[2372,415],[2373,415],[2374,415],[2375,415],[2378,415],[2376,415],[2377,415],[2300,2],[2379,415],[2380,415],[2381,415],[2382,415],[2383,415],[2384,415],[2385,415],[2387,421],[2388,415],[2389,415],[2390,415],[2392,415],[2391,415],[2393,415],[2394,415],[2395,415],[2396,415],[2397,415],[2398,415],[2399,415],[2400,415],[2401,415],[2402,415],[2404,415],[2403,415],[2405,415],[2406,2],[2407,2],[2408,2],[2555,422],[2409,415],[2410,415],[2411,415],[2412,415],[2413,415],[2414,415],[2415,2],[2416,415],[2417,2],[2418,415],[2419,415],[2420,415],[2421,415],[2422,415],[2423,415],[2424,415],[2425,415],[2426,415],[2427,415],[2428,415],[2429,415],[2430,415],[2431,415],[2432,415],[2433,415],[2434,415],[2435,415],[2436,415],[2437,415],[2438,415],[2439,415],[2440,415],[2441,415],[2442,415],[2443,415],[2444,415],[2445,415],[2446,415],[2447,415],[2448,415],[2449,415],[2450,2],[2451,415],[2452,415],[2453,415],[2454,415],[2455,415],[2456,415],[2457,415],[2458,415],[2459,415],[2460,415],[2461,415],[2463,423],[2299,415],[2464,415],[2465,415],[2466,2],[2467,2],[2468,2],[2469,415],[2470,2],[2471,2],[2472,2],[2473,2],[2474,2],[2475,415],[2476,415],[2477,415],[2478,415],[2479,415],[2480,415],[2481,415],[2482,415],[2487,424],[2485,425],[2486,426],[2484,427],[2483,415],[2488,415],[2489,415],[2490,415],[2491,415],[2492,415],[2493,415],[2494,415],[2495,415],[2496,415],[2497,415],[2498,2],[2499,2],[2500,415],[2501,415],[2502,2],[2503,2],[2504,2],[2505,415],[2506,415],[2507,415],[2508,415],[2509,421],[2510,415],[2511,415],[2512,415],[2513,415],[2514,415],[2515,415],[2516,415],[2517,415],[2518,415],[2519,415],[2520,415],[2521,415],[2522,415],[2523,415],[2524,415],[2525,415],[2526,415],[2527,415],[2528,415],[2529,415],[2530,415],[2531,415],[2532,415],[2533,415],[2534,415],[2535,415],[2536,415],[2537,415],[2538,415],[2539,415],[2540,415],[2541,415],[2542,415],[2543,415],[2544,415],[2545,415],[2546,415],[2547,415],[2548,415],[2549,415],[2550,415],[2301,428],[2551,2],[2552,2],[2553,2],[2554,2],[1994,429],[1993,430],[1992,2],[2572,431],[2188,2],[551,2],[2587,432],[2586,433],[1191,434],[1193,435],[1192,436],[1190,437],[1189,2],[3310,438],[2063,2],[621,2],[574,2],[576,439],[575,2],[715,74],[2712,2],[2686,440],[2685,441],[2684,442],[2711,443],[2710,444],[2714,445],[2713,446],[2716,447],[2715,448],[2671,449],[2645,450],[2646,451],[2647,451],[2648,451],[2649,451],[2650,451],[2651,451],[2652,451],[2653,451],[2654,451],[2655,451],[2669,452],[2656,451],[2657,451],[2658,451],[2659,451],[2660,451],[2661,451],[2662,451],[2663,451],[2665,451],[2666,451],[2664,451],[2667,451],[2668,451],[2670,451],[2644,453],[2709,454],[2689,455],[2690,455],[2691,455],[2692,455],[2693,455],[2694,455],[2695,456],[2697,455],[2696,455],[2708,457],[2698,455],[2700,455],[2699,455],[2702,455],[2701,455],[2703,455],[2704,455],[2705,455],[2706,455],[2707,455],[2688,455],[2687,458],[2679,459],[2677,460],[2678,460],[2682,461],[2680,460],[2681,460],[2683,460],[2676,2],[2225,2],[483,462],[488,1],[495,463],[478,464],[230,2],[238,465],[378,466],[381,467],[353,2],[366,468],[373,469],[255,2],[355,2],[236,2],[352,470],[398,471],[237,2],[228,472],[380,473],[382,474],[383,475],[455,476],[347,477],[300,478],[360,479],[361,480],[359,481],[358,2],[354,482],[379,483],[239,484],[425,2],[426,485],[266,486],[240,487],[267,486],[303,486],[206,486],[376,488],[375,2],[365,489],[473,2],[215,2],[494,490],[433,491],[434,492],[430,493],[512,2],[330,2],[435,104],[431,494],[517,495],[516,496],[511,2],[281,2],[333,497],[332,2],[510,498],[432,74],[286,499],[293,500],[295,501],[285,2],[290,502],[292,503],[294,504],[289,505],[287,2],[291,506],[513,2],[509,2],[515,507],[514,2],[284,508],[504,509],[507,510],[274,511],[273,512],[272,513],[520,74],[271,514],[260,2],[522,2],[2608,515],[2607,2],[523,74],[524,516],[198,2],[362,517],[363,518],[364,519],[202,2],[367,2],[222,520],[197,2],[447,74],[204,521],[446,522],[445,523],[436,2],[437,2],[444,2],[439,2],[442,524],[438,2],[440,525],[443,526],[441,525],[235,2],[232,2],[233,486],[387,2],[392,527],[393,528],[391,529],[389,530],[390,531],[385,2],[453,104],[227,104],[482,532],[489,533],[493,534],[321,535],[320,2],[315,2],[469,536],[477,537],[348,538],[349,539],[428,540],[337,2],[451,541],[325,74],[342,542],[454,543],[338,2],[341,544],[339,2],[452,545],[449,546],[448,2],[450,2],[345,2],[424,547],[210,548],[323,549],[327,550],[343,551],[346,552],[335,553],[328,554],[476,555],[401,556],[319,557],[207,558],[475,559],[203,560],[394,561],[386,2],[395,562],[413,563],[384,2],[412,564],[91,2],[407,565],[231,2],[427,566],[402,2],[216,2],[218,2],[357,2],[411,567],[234,2],[258,568],[344,569],[264,570],[324,2],[410,2],[388,2],[415,571],[416,572],[356,2],[418,573],[420,574],[419,575],[368,2],[409,558],[422,576],[318,577],[408,578],[414,579],[243,2],[247,2],[246,2],[245,2],[250,2],[244,2],[253,2],[252,2],[249,2],[248,2],[251,2],[254,580],[242,2],[310,581],[309,2],[314,582],[311,583],[313,584],[316,582],[312,583],[223,585],[302,586],[472,587],[470,2],[499,588],[501,589],[465,590],[500,591],[211,592],[208,592],[241,2],[225,593],[224,594],[220,595],[221,596],[229,597],[257,597],[268,597],[304,598],[269,598],[213,599],[212,2],[308,600],[307,601],[306,602],[305,603],[214,604],[456,605],[256,606],[464,607],[429,608],[459,609],[463,610],[351,611],[350,612],[331,613],[317,614],[299,615],[301,616],[298,617],[421,618],[322,2],[487,2],[219,619],[423,620],[471,621],[329,2],[259,622],[336,623],[334,624],[261,625],[396,626],[466,2],[262,627],[397,627],[485,2],[484,2],[486,2],[468,2],[467,2],[399,628],[326,2],[296,629],[217,630],[275,2],[201,631],[263,2],[491,74],[200,2],[503,632],[283,74],[497,104],[282,633],[480,634],[280,632],[205,2],[505,635],[278,74],[279,74],[270,2],[199,2],[277,636],[276,637],[265,638],[340,371],[400,371],[417,2],[404,639],[403,2],[288,508],[209,2],[297,74],[474,520],[481,640],[86,74],[89,641],[90,642],[87,74],[88,2],[377,643],[372,644],[371,2],[370,645],[369,2],[479,646],[490,647],[492,648],[496,649],[2609,650],[498,651],[502,652],[530,653],[506,653],[529,654],[508,655],[518,656],[519,657],[521,658],[525,659],[528,520],[527,2],[526,660],[2610,661],[1604,661],[1603,662],[1602,74],[1606,663],[2855,2],[2861,664],[2854,2],[2858,2],[2860,665],[2857,666],[2930,667],[2924,667],[2885,668],[2881,669],[2896,670],[2886,671],[2893,672],[2880,673],[2894,2],[2892,674],[2889,675],[2890,676],[2887,677],[2895,678],[2862,666],[2925,679],[2876,680],[2873,681],[2874,682],[2875,683],[2864,684],[2883,685],[2902,686],[2898,687],[2897,688],[2901,689],[2899,690],[2900,690],[2877,691],[2879,692],[2878,693],[2882,694],[2926,695],[2884,696],[2866,697],[2927,698],[2865,699],[2928,700],[2867,701],[2905,702],[2903,681],[2904,703],[2868,690],[2909,704],[2907,705],[2908,706],[2869,707],[2912,708],[2911,709],[2914,710],[2913,711],[2917,712],[2915,711],[2916,713],[2910,714],[2906,715],[2918,714],[2870,690],[2929,716],[2871,711],[2872,690],[2888,717],[2891,718],[2863,2],[2919,690],[2920,719],[2922,720],[2921,721],[2923,722],[2856,723],[2859,724],[1286,725],[1287,726],[1285,2],[569,727],[567,728],[568,729],[556,730],[557,728],[564,731],[555,732],[560,733],[570,2],[561,734],[566,735],[572,736],[571,737],[554,738],[562,739],[563,740],[558,741],[565,727],[559,742],[1331,743],[1330,2],[1026,2],[1042,744],[1043,744],[1044,744],[1045,744],[1059,745],[1046,746],[1047,746],[1048,747],[1039,748],[1037,749],[1028,2],[1032,750],[1036,751],[1034,752],[1041,753],[1029,754],[1030,755],[1031,756],[1033,757],[1035,758],[1038,759],[1040,760],[1049,746],[1050,746],[1051,746],[1052,744],[1053,746],[1054,746],[1027,746],[1055,2],[1057,761],[1056,746],[1058,744],[2238,762],[2239,763],[2675,764],[2674,765],[2092,766],[2185,767],[2183,768],[2090,2],[2091,769],[2184,2],[2186,770],[2094,771],[2093,772],[2097,773],[2164,774],[2159,775],[2060,776],[2130,777],[2123,778],[2180,779],[2058,780],[2129,781],[2118,782],[2117,772],[2163,783],[2160,784],[2111,785],[2122,786],[2165,787],[2166,787],[2167,788],[2175,789],[2169,789],[2177,789],[2181,789],[2168,789],[2170,790],[2173,790],[2176,790],[2172,791],[2174,789],[2178,792],[2171,793],[2069,794],[2144,74],[2141,795],[2145,74],[2080,789],[2070,789],[2136,796],[2059,797],[2079,798],[2083,799],[2143,789],[2056,74],[2142,800],[2140,74],[2139,789],[2071,74],[2190,801],[2154,793],[2134,802],[2195,803],[2152,2],[2150,2],[2155,804],[2153,805],[2149,806],[2151,807],[2156,808],[2158,809],[2148,74],[2078,810],[2055,789],[2147,789],[2096,811],[2146,74],[2119,810],[2179,789],[2113,812],[2067,813],[2072,814],[2124,815],[2126,812],[2105,816],[2108,812],[2084,817],[2107,818],[2115,819],[2116,820],[2112,821],[2127,822],[2114,823],[2089,824],[2135,825],[2131,826],[2132,827],[2128,828],[2106,829],[2095,830],[2099,831],[2073,832],[2103,833],[2104,834],[2100,835],[2074,836],[2085,837],[2125,820],[2068,838],[2133,2],[2098,839],[2088,840],[2120,2],[2192,841],[2193,842],[2194,769],[2161,2],[2191,769],[2182,2],[2109,2],[2081,2],[2157,843],[2110,2],[2061,769],[2189,844],[2087,845],[2121,846],[2086,847],[2162,848],[2101,2],[2137,2],[2138,849],[2082,2],[2102,2],[2187,2],[2057,74],[2064,850],[2062,2],[2718,851],[2717,852],[2673,853],[2672,854],[652,2],[548,855],[547,339],[406,856],[615,74],[553,2],[630,2],[604,2],[537,2],[538,857],[2640,858],[2639,2],[81,2],[82,2],[13,2],[14,2],[16,2],[15,2],[2,2],[17,2],[18,2],[19,2],[20,2],[21,2],[22,2],[23,2],[24,2],[3,2],[25,2],[26,2],[4,2],[27,2],[31,2],[28,2],[29,2],[30,2],[32,2],[33,2],[34,2],[5,2],[35,2],[36,2],[37,2],[38,2],[6,2],[42,2],[39,2],[40,2],[41,2],[43,2],[7,2],[44,2],[49,2],[50,2],[45,2],[46,2],[47,2],[48,2],[8,2],[54,2],[51,2],[52,2],[53,2],[55,2],[9,2],[56,2],[57,2],[58,2],[60,2],[59,2],[61,2],[62,2],[10,2],[63,2],[64,2],[65,2],[11,2],[66,2],[67,2],[68,2],[69,2],[70,2],[1,2],[71,2],[72,2],[12,2],[76,2],[74,2],[79,2],[78,2],[73,2],[77,2],[75,2],[80,2],[117,859],[127,860],[116,859],[137,861],[108,862],[107,863],[136,660],[130,864],[135,865],[110,866],[124,867],[109,868],[133,869],[105,870],[104,660],[134,871],[106,872],[111,873],[112,2],[115,873],[102,2],[138,874],[128,875],[119,876],[120,877],[122,878],[118,879],[121,880],[131,660],[113,881],[114,882],[123,883],[103,884],[126,875],[125,873],[129,2],[132,885],[2642,886],[2638,2],[2641,887],[3305,888],[3289,2],[3290,2],[3292,889],[3293,2],[3291,2],[3294,889],[3295,889],[3297,890],[3296,889],[3298,889],[3299,890],[3300,889],[3301,2],[3302,889],[3303,2],[3304,2],[2635,891],[2634,340],[2637,892],[2636,893],[2054,894],[2077,895],[606,896],[592,897],[593,896],[591,2],[544,898],[580,899],[550,900],[545,898],[543,2],[549,901],[578,2],[573,2],[577,902],[552,2],[579,903],[612,904],[605,905],[598,906],[607,907],[586,908],[1186,909],[1187,910],[609,911],[1188,912],[610,913],[599,914],[1185,915],[611,916],[2589,917],[1194,918],[585,2],[2008,919],[2015,920],[2010,2],[2011,2],[2009,921],[2012,922],[2004,2],[2005,2],[2016,923],[2007,924],[2013,2],[2014,925],[2006,926],[1254,927],[1257,928],[1255,928],[1251,927],[1258,929],[1259,930],[1256,928],[1252,931],[1253,932],[1247,933],[1199,934],[1201,935],[1245,2],[1200,936],[1246,937],[1250,938],[1248,2],[1202,934],[1203,2],[1244,939],[1198,940],[1195,2],[1249,941],[1196,942],[1197,2],[1260,943],[1204,944],[1205,944],[1206,944],[1207,944],[1208,944],[1209,944],[1210,944],[1211,944],[1212,944],[1213,944],[1214,944],[1216,944],[1215,944],[1217,944],[1218,944],[1219,944],[1243,945],[1220,944],[1221,944],[1222,944],[1223,944],[1224,944],[1225,944],[1226,944],[1227,944],[1228,944],[1230,944],[1229,944],[1231,944],[1232,944],[1233,944],[1234,944],[1235,944],[1236,944],[1237,944],[1238,944],[1239,944],[1240,944],[1241,944],[1242,944],[2598,946],[2600,267],[2602,267],[2604,267],[2591,267],[2765,947],[2756,948],[1263,949],[1262,950],[1261,951],[2762,952],[2755,953],[2753,954],[2764,955],[2754,956],[2763,957],[2759,958],[2758,959],[2757,960],[1184,267],[2760,961],[2790,962],[2788,963],[2789,964],[2721,965],[2806,966],[2807,966],[2796,967],[2808,968],[2794,969],[1264,267],[2809,970],[2798,971],[1266,972],[1265,973],[2793,974],[2810,975],[2811,976],[2799,977],[1268,978],[2812,979],[2797,980],[2791,981],[2804,982],[2802,983],[2805,984],[2801,985],[2800,986],[2792,987],[2795,988],[2803,989],[2813,990],[2749,991],[2814,992],[2819,993],[2816,994],[2815,995],[2818,996],[2827,997],[2820,998],[2828,999],[2824,1000],[1270,1001],[1269,267],[2826,1002],[2822,1003],[2821,1004],[1271,267],[2829,1005],[2823,1006],[2825,1007],[2843,1008],[2841,1009],[2844,1010],[2832,1011],[2835,1012],[2834,1013],[1272,267],[1274,1014],[1273,1015],[2846,1016],[2847,1016],[2836,1017],[2845,1018],[2833,1019],[1275,267],[2838,1020],[2837,1021],[2848,1022],[2839,1023],[1277,1024],[1276,1025],[2849,1026],[2850,1027],[2840,1028],[1067,267],[2831,104],[2842,1029],[2628,1030],[1279,1031],[1278,1032],[2947,1033],[2944,1034],[2948,1035],[2940,1036],[1282,1037],[1281,1038],[2949,1039],[2950,1039],[2945,1040],[1284,1041],[1283,267],[2951,1042],[2941,1043],[2952,1044],[2852,1045],[2953,1046],[2942,1047],[2954,1048],[2943,1049],[2955,1050],[2851,1051],[1289,1052],[2956,1053],[1291,1054],[1293,1055],[1292,1056],[2946,1057],[2958,1058],[1304,1059],[2959,1060],[2960,1061],[1302,1062],[2961,1063],[2962,1063],[1321,1064],[2963,1065],[1317,1066],[1322,1067],[2966,1068],[1313,1069],[2967,1070],[1311,1071],[2968,1072],[1310,1073],[1345,1074],[1309,1075],[1305,1076],[1346,1077],[1312,1078],[2964,1079],[1301,1080],[1323,1081],[1318,1082],[2965,1083],[1303,1080],[1296,267],[1343,1084],[1319,1085],[1344,1086],[1320,1085],[2957,1087],[3040,1088],[3030,1089],[3042,1090],[3041,1091],[3043,1092],[3033,1093],[3044,1094],[3036,1095],[3045,1096],[3035,1097],[3046,1098],[3034,1099],[3039,1100],[3038,1101],[3007,1102],[3008,1103],[2985,1104],[1351,267],[2988,1105],[3018,1106],[2976,1107],[2974,1108],[3019,1109],[2977,1110],[3020,1111],[2989,1112],[3021,1113],[2990,1114],[3022,1115],[3023,1116],[2970,1117],[1352,267],[3024,1118],[2971,1119],[2973,1120],[3025,1121],[2969,1122],[2972,1105],[3026,1123],[1638,1124],[3027,1125],[2975,1126],[3028,1127],[1353,1128],[1354,1129],[3009,1130],[2997,1131],[3010,1132],[2995,1133],[1347,267],[1350,1134],[1349,1135],[3011,1136],[2996,1137],[3012,1138],[3013,1139],[2991,1140],[3014,1141],[1348,1142],[2979,1143],[2980,1144],[3015,1145],[2987,1146],[2978,1147],[3004,1148],[2999,1149],[2986,1150],[3001,1151],[2993,1152],[3002,1153],[2994,1154],[3003,1155],[2992,1156],[2981,1157],[3016,1158],[2982,1159],[3017,1160],[2983,1161],[3005,1162],[3006,1163],[2998,1164],[3029,1165],[2984,1166],[3000,1167],[1376,1168],[1377,1169],[1375,1170],[1378,1171],[1379,1171],[1381,1172],[1380,1173],[1095,1174],[1382,1175],[1384,1176],[1383,1177],[1408,1178],[1410,1179],[1409,1180],[1412,1181],[1411,1175],[1414,1182],[1413,1175],[1416,1183],[1415,1175],[1419,1184],[1418,1185],[1420,1186],[1089,267],[3048,1187],[1407,1188],[1421,973],[1423,1189],[1422,1190],[1424,1189],[1425,1191],[1427,1192],[1426,1193],[1429,1194],[1428,1195],[1431,1196],[1430,1193],[1432,1193],[1433,1174],[1435,1197],[1434,1193],[1437,1198],[1438,1199],[1436,1200],[1439,1201],[1441,1202],[1440,1201],[1442,1174],[1443,1203],[1444,1175],[1445,1193],[1446,1174],[1448,1204],[1447,1193],[1450,1205],[1449,1206],[1452,1207],[1451,1208],[1453,1208],[1455,1209],[1454,1174],[1456,1210],[1157,1193],[1458,1211],[1457,1212],[1459,1213],[1358,1193],[1462,1214],[1461,1215],[1464,1216],[1463,1215],[1466,1217],[1465,1218],[1467,1219],[1460,1170],[1469,1220],[1468,1215],[1471,1221],[1470,1174],[1473,1222],[1472,1193],[1371,1223],[1475,1224],[1474,1193],[1476,1175],[1478,1225],[1480,1226],[1479,1180],[1482,1227],[1481,1228],[1484,1229],[1483,1203],[1486,1230],[1485,1193],[1488,1231],[1487,1203],[1489,1232],[1491,1233],[1490,1234],[1493,1235],[1492,1236],[1495,1237],[1494,1238],[1496,1239],[1090,1174],[1499,1240],[1498,1241],[1500,1242],[1497,1174],[1502,1243],[1501,1174],[1355,1244],[1356,1245],[1091,1246],[1360,1247],[1362,1248],[1363,1248],[1365,1249],[1364,1248],[1367,1250],[1366,1248],[1368,1248],[1369,1251],[1359,1252],[1372,1253],[1504,1254],[1503,1174],[1506,1255],[1505,1193],[1508,1256],[1507,1170],[3047,1257],[1374,1258],[2725,1259],[2722,1260],[2720,1261],[3061,1262],[3081,1263],[3086,1264],[3126,1265],[3127,1266],[3106,1267],[1510,1268],[1509,1269],[1513,1270],[1512,1271],[3091,1272],[1515,1273],[1516,1274],[1514,1275],[3128,1276],[3103,1277],[3094,1278],[3124,1279],[3144,1280],[3107,1281],[3145,1282],[3096,1283],[3146,1284],[3115,1285],[3147,1286],[3095,1287],[3148,1288],[3110,1289],[3149,1290],[3150,1291],[3109,1292],[3151,1293],[3111,1294],[3152,1295],[3118,1296],[3153,1297],[3097,1298],[3154,1299],[3123,1300],[1518,1301],[1517,1302],[3143,1303],[1519,1304],[3131,1305],[3129,1306],[3102,1307],[3130,1308],[3114,1309],[3132,1310],[3099,1311],[3133,1312],[3108,1313],[3134,1314],[3082,1315],[3083,1316],[3136,1317],[3085,1318],[3135,1319],[3084,1320],[1521,1321],[1520,1322],[3137,1323],[3089,1324],[3087,1325],[3101,1326],[3138,1327],[3100,1328],[3139,1329],[3092,1330],[3098,1331],[1599,1332],[3088,1333],[3093,1334],[3119,1335],[1601,1336],[1600,1337],[3140,1338],[3120,1339],[3141,1340],[3090,1341],[3142,1342],[3117,1343],[3155,1344],[1511,1315],[3125,1345],[3163,1346],[3156,1347],[3164,1348],[3157,1349],[3165,1350],[3159,1351],[3158,1352],[3166,1353],[3160,1354],[3162,1355],[3161,1356],[3185,1357],[3260,1358],[3213,1359],[3261,1360],[3212,1361],[1613,1362],[1612,1363],[3264,1364],[3220,1365],[3219,1366],[3218,1367],[1615,1368],[1614,267],[3262,1369],[3251,1370],[3211,1371],[3263,1372],[3256,1373],[1608,1374],[1607,1375],[3259,1376],[3258,1377],[3265,1378],[3230,1379],[3214,1380],[3221,1381],[3266,1382],[3250,1383],[3235,1384],[3254,1385],[3252,1386],[3246,1387],[3257,1388],[1609,1389],[1617,1390],[1616,267],[1183,973],[3271,1391],[3269,1392],[3270,1393],[3285,1394],[3283,1395],[3286,1396],[3282,1397],[3281,1398],[3276,1399],[3275,1400],[3284,1401],[2751,1402],[2750,1403],[3392,1404],[3414,1405],[3384,1406],[3415,1407],[3406,1408],[3416,1409],[3393,1410],[3417,1411],[3385,1412],[1619,1413],[3394,1414],[3386,1415],[3418,1416],[3387,1417],[3419,1418],[3401,1419],[3420,1420],[3405,1421],[3421,1422],[3395,1423],[3388,1424],[3422,1425],[3389,1426],[3423,1427],[3390,1428],[3424,1429],[3391,1430],[3425,1431],[3404,1432],[3399,1433],[3402,1415],[3398,1417],[3400,1434],[3403,1435],[1621,1436],[1620,267],[3426,1437],[3411,1438],[3427,1439],[3409,1440],[3428,1441],[3407,1442],[3429,1443],[3410,1444],[3431,1445],[3430,1446],[3432,1447],[3408,1448],[1624,1449],[1623,1450],[3288,1451],[1629,1452],[1628,1453],[1631,1454],[3308,1455],[3433,1456],[3376,1457],[3434,1458],[3377,1459],[3435,1460],[3378,1461],[3436,1462],[3379,1463],[1622,973],[3380,1461],[3381,1461],[3383,1463],[3413,1464],[3412,1465],[3457,1466],[3447,1467],[3458,1468],[3441,1469],[3459,1470],[3452,1471],[3455,1472],[3444,1473],[3443,1474],[1634,1475],[1633,1476],[3460,1477],[3450,1478],[3461,1479],[3442,1480],[3462,1481],[3445,1482],[3463,1483],[3453,1484],[3464,1485],[3439,1486],[3465,1487],[3440,1488],[3466,1489],[3449,1490],[3467,1491],[3448,1492],[3456,1493],[3438,1494],[3437,1495],[1636,1496],[1635,267],[3468,1497],[3451,1498],[3446,1124],[3454,1499],[3479,1500],[3474,1501],[3480,1502],[3473,1503],[3481,1504],[3472,1505],[3471,1506],[3484,1507],[3485,1508],[3469,1509],[3486,1510],[3487,1511],[3470,1512],[3488,1513],[1913,1514],[1637,951],[1915,1515],[1914,1516],[3482,1517],[3477,1518],[3483,1519],[3476,1520],[3475,1521],[3478,1522],[3517,1523],[3494,1524],[3518,1525],[3514,1526],[3513,1527],[3530,1528],[3503,1529],[3535,1530],[3508,1531],[3531,1532],[3504,1533],[3532,1534],[3507,1444],[3533,1535],[3505,1536],[1919,1537],[1920,1538],[3534,1539],[3502,1126],[3506,104],[3522,1540],[3500,1541],[3510,1542],[3512,1543],[3523,1544],[3497,1545],[3524,1546],[3492,1547],[3525,1548],[3496,1549],[3526,1550],[3501,1551],[3527,1552],[3509,1553],[3528,1554],[3498,1555],[1916,267],[1918,1556],[1917,1557],[3529,1558],[3511,1559],[3519,1560],[3493,1561],[3489,1562],[3516,1563],[3491,1564],[3490,1565],[3520,1566],[3495,1567],[3521,1568],[3499,1569],[3515,1570],[3537,1571],[2939,1572],[3536,1573],[3548,1574],[3549,1575],[3540,1576],[3546,1577],[3550,1578],[3538,1579],[1922,1580],[1921,267],[3554,1581],[3555,1581],[3545,1582],[3551,1583],[3542,1584],[3541,1585],[3552,1586],[3543,1587],[3553,1588],[3544,1589],[3539,267],[3547,1590],[3563,1591],[3556,1592],[3561,1593],[3559,1594],[3562,1595],[3558,1596],[3557,1597],[3560,1598],[3573,1599],[3567,1600],[3571,1601],[3568,1602],[3572,1603],[3564,1604],[3570,1605],[3566,1606],[3565,1607],[3569,1608],[3582,1609],[3589,1610],[3592,1611],[3591,1612],[3590,1613],[3595,1614],[3594,1615],[3593,1616],[3619,1617],[3603,1618],[3620,1619],[3604,1618],[3621,1620],[3605,1621],[3618,1622],[3606,1623],[3622,1624],[3610,1625],[1925,1626],[1927,1627],[1926,1628],[3623,1629],[3611,1630],[3624,1631],[3609,1632],[1924,1633],[1923,267],[3608,267],[3616,1634],[3612,1635],[3617,1636],[3614,1637],[3625,1638],[3613,1639],[1928,1640],[1290,1641],[3615,1642],[3636,1643],[3627,1644],[3639,1645],[3629,1646],[1931,1647],[1930,1648],[1932,1649],[1929,951],[3634,1650],[3637,1651],[3626,1652],[3638,1653],[3633,1654],[3641,1655],[3642,1656],[3632,1657],[3640,1658],[3631,1659],[3630,1660],[3635,1661],[3656,1662],[3657,1663],[3652,1664],[3658,1665],[3650,1666],[3649,1667],[3666,1668],[3654,1669],[1177,1670],[3659,1671],[1176,1672],[1175,1673],[3660,1674],[3651,1675],[3661,1676],[3653,1677],[3667,1678],[3668,1679],[3648,1680],[3662,1681],[3663,1682],[3646,1683],[3664,1684],[3645,1685],[3644,1686],[3665,1687],[3647,1688],[3655,1689],[3672,1690],[3671,1691],[3670,1692],[3669,1693],[3680,1694],[3682,1695],[3685,1696],[3674,1697],[3673,1698],[3687,1699],[3678,1700],[3677,1701],[3689,1702],[3691,1703],[3690,1704],[3693,1705],[3692,1706],[2614,1707],[3695,1708],[3696,1709],[3694,1710],[3697,1711],[3698,1712],[3699,1713],[3700,1714],[3702,1715],[3701,1716],[3706,1717],[3705,1718],[3707,1719],[3708,1720],[3704,1721],[3709,1722],[3703,1723],[3710,1724],[2277,267],[3730,1725],[3597,1726],[2020,1124],[1082,1727],[3831,1728],[3217,1729],[3228,267],[3824,1730],[3229,1731],[3833,1732],[3222,1733],[3834,1734],[3187,1735],[1610,267],[3825,1736],[3216,1737],[1982,1738],[1981,1739],[1984,1740],[1983,1741],[1985,1742],[1105,1743],[3835,1744],[3191,1745],[1099,1746],[3826,1747],[1094,1748],[1986,1749],[1093,267],[1074,1750],[1987,1751],[1103,1752],[3827,1753],[1102,1754],[3836,1755],[3223,1756],[1100,1757],[3215,1758],[3837,1759],[3225,1760],[1988,1761],[1097,267],[3828,1762],[1098,1763],[1104,1764],[3838,1765],[3224,1766],[3839,1767],[3226,1768],[2021,1124],[3840,1769],[3227,1770],[3829,1771],[2022,1772],[3830,1773],[1101,1774],[3731,1775],[3241,1776],[3841,1777],[1639,1778],[1267,1032],[3754,1779],[3167,1780],[3760,1781],[3168,1782],[3761,1783],[3170,1784],[3762,1785],[3172,1786],[3755,1787],[3169,1780],[3756,1788],[3184,1789],[3757,1790],[3173,1780],[3179,1791],[3758,1792],[3177,1793],[3759,1794],[3176,1795],[3051,1796],[3842,1797],[3050,1798],[3711,1799],[1939,1800],[3732,1801],[3628,1802],[1877,1142],[3675,1803],[1997,1804],[3843,1805],[1996,1806],[3844,1807],[3684,1808],[1995,1809],[3679,1810],[3845,1811],[3686,1812],[3846,1813],[3683,1814],[3847,1815],[3676,1816],[3681,1817],[1989,1818],[3688,1819],[1998,1820],[1990,1821],[3848,1822],[3182,1823],[3396,1824],[1618,267],[3849,1825],[3397,1826],[3850,1827],[1626,1828],[1627,1537],[2000,1829],[1999,1830],[3180,1831],[3178,1832],[628,1032],[3733,1833],[3598,1834],[3763,1835],[3057,1836],[3764,1837],[3765,1838],[3054,1839],[3766,1840],[3052,1430],[3053,1841],[3767,1842],[3056,1843],[1952,1844],[1951,267],[3768,1845],[3769,1846],[3055,1847],[1417,267],[1316,1848],[1640,1849],[2730,1850],[1641,1019],[1065,1851],[3851,1852],[2727,1853],[3852,1854],[2731,1855],[3853,1856],[3199,1857],[2723,973],[3872,1858],[3272,1859],[3873,1860],[3273,1861],[3874,1862],[3274,1863],[2001,1304],[3875,1864],[3174,1865],[3876,1866],[3175,1867],[3854,1868],[1642,1869],[3855,1870],[2728,1871],[3856,1872],[2627,1873],[3206,1874],[3857,1875],[3198,1876],[3858,1877],[1875,1878],[3859,1879],[1874,1880],[3860,1881],[1064,1882],[3861,1883],[1940,1800],[3862,1884],[1894,1885],[3863,1886],[3240,1887],[1876,1778],[3239,1888],[3864,1889],[1880,1890],[1895,1891],[3865,1892],[1881,1893],[3866,1894],[1891,1895],[2003,1896],[2002,1897],[3867,1898],[2732,1899],[3869,1900],[1297,1901],[1893,1902],[3870,1903],[3607,1904],[3871,1905],[3195,1906],[3868,1907],[3599,1908],[2766,104],[3712,1909],[1900,1910],[3713,1911],[2624,1912],[3714,1913],[2629,1914],[3770,1915],[3064,1916],[3771,1917],[3063,1918],[3062,1919],[3772,1920],[3067,1921],[3773,1922],[3066,1923],[3065,1924],[3715,1925],[2817,1926],[2024,1927],[2025,1928],[2023,1929],[3877,1930],[2026,1931],[2027,1932],[627,1933],[3734,1934],[3049,1935],[3774,1936],[1961,1937],[3775,1938],[1956,1939],[3776,1940],[1957,1941],[3777,1942],[1958,1943],[1963,1944],[1955,1945],[3778,1946],[1962,1947],[1964,1948],[1960,1949],[3878,1950],[2740,1951],[2028,267],[3716,1952],[3200,1953],[3031,1954],[3779,1955],[3032,104],[1965,267],[3717,1956],[1314,1529],[3735,1957],[2214,267],[1933,1958],[1165,267],[3879,1959],[1901,1960],[1902,1961],[3881,1962],[1078,973],[2030,1963],[2029,1964],[626,1965],[3880,1966],[1903,1967],[2032,1968],[2031,1969],[3736,1970],[3236,1971],[3737,1972],[1948,1973],[3718,1974],[2631,1975],[3882,1976],[3287,1977],[1630,267],[3883,1978],[1079,1979],[2034,1980],[2033,1315],[3884,1981],[3382,1982],[3738,1983],[2733,1984],[2035,1985],[3885,1986],[1904,1987],[3886,1988],[1907,1989],[3887,1990],[3116,1991],[1068,267],[1906,1992],[3888,1993],[3306,1994],[3889,1995],[1066,267],[2037,1996],[2036,1082],[3890,1997],[3231,1998],[3891,1999],[3234,2000],[3892,2001],[3233,2002],[3232,2003],[3893,2004],[3188,2005],[3894,2006],[3249,2007],[3895,2008],[3248,2009],[3247,2010],[3896,2011],[3210,2012],[2038,267],[3171,2013],[3253,2014],[3739,2015],[3194,2016],[3192,2017],[3780,2018],[2752,2019],[1967,2020],[1966,267],[3897,2021],[3186,1863],[3898,2022],[1300,2023],[3899,2024],[2931,2025],[3740,2026],[2626,2027],[3782,2028],[2617,2029],[3783,2030],[2619,2031],[1968,2032],[1941,267],[1969,267],[3784,2033],[2620,2034],[3785,2035],[2625,2036],[3781,2037],[2622,2038],[3786,2039],[2623,2040],[1934,2041],[1182,2042],[3719,2043],[2630,2044],[625,1032],[2737,2045],[3741,2046],[1899,2047],[3902,2048],[3903,2049],[1912,2050],[2039,2051],[1910,2052],[3900,2053],[3901,2054],[2738,2055],[2041,2056],[2040,267],[2042,2057],[1911,267],[2045,2058],[2044,2059],[3905,2060],[3278,2061],[2047,2062],[2046,2063],[3906,2064],[3277,2065],[2043,951],[3904,2066],[3280,2067],[1935,267],[1950,2068],[1949,2069],[3742,2070],[3242,2071],[3787,2072],[3244,2073],[3243,2074],[3788,2075],[3245,2076],[3743,2077],[3601,2078],[2736,2079],[3907,2080],[2735,2081],[2734,2082],[3908,2083],[2741,2084],[1632,267],[3744,2085],[3255,2086],[3745,2087],[1299,2088],[3746,2089],[3183,2090],[3181,2091],[3747,2092],[3237,2093],[3748,2094],[3238,2095],[3914,2096],[2853,2097],[3909,2098],[1882,1126],[3910,2099],[1883,1126],[3911,2100],[1886,2101],[3912,2102],[1884,1019],[3913,2103],[1885,2104],[3917,2105],[2938,2106],[3915,2107],[2937,2108],[2049,2109],[2048,2110],[3916,2111],[2936,2112],[2935,2113],[2934,2114],[2050,267],[1477,267],[3720,2115],[2767,2116],[3918,2117],[3201,2118],[3749,2119],[3060,2120],[1970,267],[3789,2121],[2782,2122],[3790,2123],[2784,2124],[3791,2125],[2783,1430],[3792,2126],[2768,2127],[3793,2128],[3113,2129],[3794,2130],[3112,2131],[1972,2132],[1971,1463],[3795,2133],[2785,2134],[1973,951],[1974,1142],[3801,2135],[2771,2136],[3802,2137],[2770,2138],[3803,2139],[2772,2140],[3804,2141],[3805,2142],[2773,2143],[3796,2144],[2774,1863],[3797,2145],[2775,2146],[3798,2147],[2778,2148],[3799,2149],[2776,1430],[3800,2150],[2777,2151],[1976,2152],[1975,2153],[3806,2154],[2779,2155],[3807,2156],[2780,2157],[3808,2158],[2781,2159],[3809,2160],[3059,2161],[3058,2162],[1977,267],[3810,2163],[1890,2164],[3811,2165],[1887,2166],[3812,2167],[2932,2168],[1888,2169],[3814,2170],[2933,2171],[3813,2172],[1889,2173],[3037,104],[3931,2174],[2830,2175],[3919,2176],[1897,2177],[3920,2178],[3279,2179],[3932,2180],[3600,1723],[3940,2181],[2198,2182],[3941,2183],[2199,2182],[3942,2184],[2200,2185],[3943,2186],[2197,2187],[2051,267],[3944,2188],[2201,2182],[2203,2189],[3945,2190],[2202,2182],[3921,2191],[1942,1861],[3922,2192],[1908,2193],[1144,2194],[3933,2195],[3934,2196],[1148,2197],[3935,2198],[1150,2199],[3936,2200],[1147,2201],[3937,2202],[1152,2203],[3938,2204],[1155,2205],[3939,2206],[1154,2207],[1153,2208],[1156,2209],[1143,2210],[1954,267],[3923,2211],[1163,2212],[2739,267],[3947,2213],[1063,2214],[3946,2215],[1896,1882],[3196,2216],[3190,2217],[3924,2218],[1168,2219],[3925,2220],[2724,104],[3926,2221],[1072,1124],[1878,1126],[3927,2222],[3578,2223],[3928,2224],[1892,2225],[2769,2226],[3929,2227],[1075,1124],[3948,2228],[1158,2229],[1159,2230],[3949,2231],[1160,2232],[3950,2233],[1162,2234],[3951,2235],[1164,2236],[1172,2237],[3952,2238],[1166,2239],[3953,2240],[1167,1628],[3954,2241],[1170,2242],[3955,2243],[1171,2244],[3930,2245],[2616,2246],[3815,2247],[1945,2248],[3722,2249],[1947,2250],[3721,2251],[2786,2252],[3956,2253],[3307,2254],[623,267],[3957,2255],[3576,2256],[3575,2257],[3574,2258],[2743,2259],[3958,2260],[3959,2260],[3202,2261],[3197,2262],[3960,2263],[1879,2264],[3965,2265],[3204,2266],[2205,2267],[2204,267],[3961,2268],[3205,2269],[3966,2270],[3203,267],[2207,2271],[2206,267],[3962,2272],[3209,2273],[3963,2274],[3207,2275],[2209,2276],[2208,267],[3964,2277],[3208,2278],[2210,1203],[3724,2279],[3581,2280],[3816,2281],[3580,2282],[3579,2283],[3723,2284],[3577,2285],[2212,2286],[2211,267],[3969,2287],[2744,2288],[3970,2289],[3971,2290],[2745,2291],[2213,267],[2216,2292],[2215,2293],[2742,1893],[3967,2294],[2729,2295],[3968,2296],[3725,2297],[3584,2298],[3817,2299],[3583,2300],[3818,2301],[3587,2302],[1978,1175],[3819,2303],[3586,2304],[3820,2305],[3585,2306],[3726,2307],[3588,2308],[3972,2309],[1294,2310],[3973,2311],[1943,2312],[3974,2313],[1096,2314],[3975,2315],[2615,995],[2618,2316],[3976,2317],[1069,2318],[1073,1865],[3977,2319],[2196,2320],[1151,2321],[1077,2322],[1071,2323],[1092,2324],[1308,2325],[2726,2326],[1070,2327],[632,1865],[1061,1865],[3978,2328],[1169,2329],[1944,2330],[1080,2331],[3979,2332],[1937,2333],[3980,2334],[716,2335],[1062,2336],[1149,2324],[1938,2318],[1145,1865],[1081,2337],[2613,2338],[1076,2339],[1146,1865],[1295,2340],[633,1865],[3981,2341],[1025,2342],[3982,2343],[1307,2344],[3727,2345],[2787,2346],[3728,2347],[3750,2348],[3189,2349],[3822,2350],[3268,2351],[3821,2352],[3596,2353],[1280,267],[1980,2354],[1979,267],[3751,2355],[3602,2356],[3752,2357],[2748,2358],[3729,2359],[2719,2360],[1106,267],[3983,2361],[1909,2362],[3753,2363],[3643,2364],[3995,2365],[3070,2366],[3071,2367],[3984,2368],[3069,2369],[3068,2370],[2223,267],[3985,2371],[2234,104],[2217,267],[3986,2372],[2233,2373],[2232,2374],[2221,2375],[3996,2376],[2220,104],[2230,2377],[2229,104],[3997,2378],[2231,2379],[3998,2380],[2228,104],[3991,2381],[3992,2381],[3080,2382],[3993,2383],[3072,2384],[2218,1375],[3999,2385],[2224,2386],[4000,2387],[2253,2388],[2222,267],[2226,2389],[4001,2390],[2256,2391],[2263,2392],[4002,2393],[2257,2394],[4003,2395],[2240,2396],[4004,2397],[2261,2398],[4005,2399],[2262,2400],[4006,2401],[2258,2402],[2250,267],[2251,2403],[4007,2404],[2260,2405],[4008,2406],[2259,2407],[4009,2408],[1178,2409],[4010,2410],[2252,2411],[4011,2412],[2255,2413],[4012,2414],[2254,2415],[4013,2416],[2237,267],[4014,2417],[2236,2418],[2227,2419],[2264,2420],[2241,267],[3994,2421],[3073,2422],[3074,2423],[3987,2424],[3075,2425],[3988,2426],[3079,2427],[3078,2428],[3989,2429],[3077,2430],[2244,2431],[2249,2432],[2245,2433],[2246,2434],[2247,2435],[4015,2436],[2248,2437],[2242,267],[2265,2438],[2243,2439],[3990,2440],[3076,267],[2219,2441],[2235,2442],[3193,267],[3267,2443],[2746,2444],[3823,2445],[2747,2446],[2611,2447],[1991,2448],[4016,2449],[2621,2450],[2612,2451],[1936,2452],[2271,2453],[2269,2453],[2268,2453],[2270,2454],[2267,2453],[2266,2453],[2272,973],[4019,2455],[2275,2456],[1306,104],[4017,2457],[3104,2458],[3105,2459],[4018,2460],[3121,2461],[3122,2462],[2273,104],[2274,2463],[2276,2464],[1298,2465],[2279,2466],[2278,2467],[631,2468],[2282,2469],[2281,2470],[2284,2471],[2283,267],[4020,2472],[2019,2473],[2285,2474],[2286,2474],[1288,2475],[2287,2476],[616,267],[2288,2477],[1179,267],[2289,2478],[1180,2479],[624,2],[1181,267],[2280,2480],[617,2481],[614,267],[2290,2482],[2291,2483],[1357,2484],[2292,2485],[620,2486],[2293,2487],[1161,2488],[1406,267],[1174,2489],[2294,267],[2296,2490],[2295,267],[2297,2491],[622,2492],[2557,2493],[2556,2494],[2559,2495],[2558,267],[2560,2496],[1946,267],[2561,2497],[1361,267],[2562,267],[2564,2498],[2563,267],[2565,2499],[619,2500],[2566,2501],[1905,267],[2567,2502],[1173,973],[2568,2503],[1611,2504],[2569,267],[2570,2505],[1625,267],[2571,2506],[1370,973],[2574,2507],[2573,2508],[2577,2509],[2576,2510],[2578,2511],[2575,267],[2579,2512],[1083,267],[2580,2513],[1084,973],[618,267],[2581,2514],[1373,2489],[2582,2515],[1953,1969],[2583,2516],[1060,267],[4021,2517],[2599,2518],[2601,2519],[2603,2520],[2605,2521],[2588,2522],[2590,2523],[2592,2524],[2606,2347],[3832,1302],[2593,2525],[2597,2526],[2761,2527],[4022,2528],[613,2529]],"semanticDiagnosticsPerFile":[[1435,[{"start":5247,"length":6,"code":2322,"category":1,"messageText":"Type 'string' is not assignable to type 'undefined'."}]],[1438,[{"start":1354,"length":1427,"code":2741,"category":1,"messageText":"Property 'key_type' is missing in type '{ token: string; token_id: string; key_name: string; key_alias: string; spend: number; max_budget: number; expires: string; models: string[]; aliases: {}; config: {}; user_id: string; team_id: null; project_id: null; ... 41 more ...; user_email: string; }' but required in type 'KeyResponse'.","relatedInformation":[{"file":"./src/components/key_team_helpers/key_list.tsx","start":1350,"length":8,"messageText":"'key_type' is declared here.","category":3,"code":2728}],"canonicalHead":{"code":2322,"messageText":"Type '{ token: string; token_id: string; key_name: string; key_alias: string; spend: number; max_budget: number; expires: string; models: string[]; aliases: {}; config: {}; user_id: string; team_id: null; project_id: null; ... 41 more ...; user_email: string; }' is not assignable to type 'KeyResponse'."}},{"start":2785,"length":1446,"code":2741,"category":1,"messageText":"Property 'key_type' is missing in type '{ token: string; token_id: string; key_name: string; key_alias: string; spend: number; max_budget: number; expires: string; models: string[]; aliases: {}; config: {}; user_id: string; team_id: string; ... 42 more ...; user_email: string; }' but required in type 'KeyResponse'.","relatedInformation":[{"file":"./src/components/key_team_helpers/key_list.tsx","start":1350,"length":8,"messageText":"'key_type' is declared here.","category":3,"code":2728}],"canonicalHead":{"code":2322,"messageText":"Type '{ token: string; token_id: string; key_name: string; key_alias: string; spend: number; max_budget: number; expires: string; models: string[]; aliases: {}; config: {}; user_id: string; team_id: string; ... 42 more ...; user_email: string; }' is not assignable to type 'KeyResponse'."}}]],[1486,[{"start":643,"length":6,"code":2739,"category":1,"messageText":"Type '{ google_client_id: string; google_client_secret: string; microsoft_client_id: string; microsoft_client_secret: string; microsoft_tenant: string; generic_client_id: string; generic_client_secret: string; ... 7 more ...; team_mappings: { ...; }; }' is missing the following properties from type 'SSOSettingsValues': saml_idp_metadata_url, saml_idp_metadata_xml, saml_sp_entity_id, saml_allow_unsolicited, generic_scope","relatedInformation":[{"file":"./src/app/(dashboard)/hooks/sso/usessosettings.ts","start":1521,"length":6,"messageText":"The expected type comes from property 'values' which is declared here on type 'SSOSettingsResponse'","category":3,"code":6500}],"canonicalHead":{"code":2322,"messageText":"Type '{ google_client_id: string; google_client_secret: string; microsoft_client_id: string; microsoft_client_secret: string; microsoft_tenant: string; generic_client_id: string; generic_client_secret: string; ... 7 more ...; team_mappings: { ...; }; }' is not assignable to type 'SSOSettingsValues'."}},{"start":7416,"length":6,"code":2739,"category":1,"messageText":"Type '{ google_client_id: null; google_client_secret: null; microsoft_client_id: null; microsoft_client_secret: null; microsoft_tenant: null; generic_client_id: null; generic_client_secret: null; ... 7 more ...; team_mappings: { ...; }; }' is missing the following properties from type 'SSOSettingsValues': saml_idp_metadata_url, saml_idp_metadata_xml, saml_sp_entity_id, saml_allow_unsolicited, generic_scope","relatedInformation":[{"file":"./src/app/(dashboard)/hooks/sso/usessosettings.ts","start":1521,"length":6,"messageText":"The expected type comes from property 'values' which is declared here on type 'SSOSettingsResponse'","category":3,"code":6500}],"canonicalHead":{"code":2322,"messageText":"Type '{ google_client_id: null; google_client_secret: null; microsoft_client_id: null; microsoft_client_secret: null; microsoft_tenant: null; generic_client_id: null; generic_client_secret: null; ... 7 more ...; team_mappings: { ...; }; }' is not assignable to type 'SSOSettingsValues'."}}]],[1508,[{"start":1402,"length":5,"code":2322,"category":1,"messageText":{"messageText":"Type '{ user_id: string; user_email: string; user_alias: null; user_role: string; spend: number; max_budget: null; key_count: number; created_at: string; updated_at: string; sso_user_id: null; budget_duration: null; }[]' is not assignable to type 'UserInfo[]'.","category":1,"code":2322,"next":[{"messageText":"Property 'models' is missing in type '{ user_id: string; user_email: string; user_alias: null; user_role: string; spend: number; max_budget: null; key_count: number; created_at: string; updated_at: string; sso_user_id: null; budget_duration: null; }' but required in type 'UserInfo'.","category":1,"code":2741,"canonicalHead":{"code":2322,"messageText":"Type '{ user_id: string; user_email: string; user_alias: null; user_role: string; spend: number; max_budget: null; key_count: number; created_at: string; updated_at: string; sso_user_id: null; budget_duration: null; }' is not assignable to type 'UserInfo'."}}]},"relatedInformation":[{"file":"./src/components/networking.tsx","start":30378,"length":6,"messageText":"'models' is declared here.","category":3,"code":2728},{"file":"./src/components/networking.tsx","start":30685,"length":5,"messageText":"The expected type comes from property 'users' which is declared here on type 'UserListResponse'","category":3,"code":6500}]}]],[1918,[{"start":328,"length":6,"code":2741,"category":1,"messageText":"Property 'environment' is missing in type '{ name: string; model: string; config: {}; tools: never[]; developerMessage: string; messages: { role: string; content: string; }[]; }' but required in type 'PromptType'.","relatedInformation":[{"file":"./src/app/(dashboard)/prompts/_components/prompt_editor_view/types.ts","start":368,"length":11,"messageText":"'environment' is declared here.","category":3,"code":2728}],"canonicalHead":{"code":2322,"messageText":"Type '{ name: string; model: string; config: {}; tools: never[]; developerMessage: string; messages: { role: string; content: string; }[]; }' is not assignable to type 'PromptType'."}},{"start":784,"length":6,"code":2741,"category":1,"messageText":"Property 'environment' is missing in type '{ name: string; model: string; config: {}; tools: never[]; developerMessage: string; messages: { role: string; content: string; }[]; }' but required in type 'PromptType'.","relatedInformation":[{"file":"./src/app/(dashboard)/prompts/_components/prompt_editor_view/types.ts","start":368,"length":11,"messageText":"'environment' is declared here.","category":3,"code":2728}],"canonicalHead":{"code":2322,"messageText":"Type '{ name: string; model: string; config: {}; tools: never[]; developerMessage: string; messages: { role: string; content: string; }[]; }' is not assignable to type 'PromptType'."}},{"start":1182,"length":6,"code":2741,"category":1,"messageText":"Property 'environment' is missing in type '{ name: string; model: string; config: {}; tools: never[]; developerMessage: string; messages: { role: string; content: string; }[]; }' but required in type 'PromptType'.","relatedInformation":[{"file":"./src/app/(dashboard)/prompts/_components/prompt_editor_view/types.ts","start":368,"length":11,"messageText":"'environment' is declared here.","category":3,"code":2728}],"canonicalHead":{"code":2322,"messageText":"Type '{ name: string; model: string; config: {}; tools: never[]; developerMessage: string; messages: { role: string; content: string; }[]; }' is not assignable to type 'PromptType'."}},{"start":1684,"length":6,"code":2741,"category":1,"messageText":"Property 'environment' is missing in type '{ name: string; model: string; config: {}; tools: never[]; developerMessage: string; messages: { role: string; content: string; }[]; }' but required in type 'PromptType'.","relatedInformation":[{"file":"./src/app/(dashboard)/prompts/_components/prompt_editor_view/types.ts","start":368,"length":11,"messageText":"'environment' is declared here.","category":3,"code":2728}],"canonicalHead":{"code":2322,"messageText":"Type '{ name: string; model: string; config: {}; tools: never[]; developerMessage: string; messages: { role: string; content: string; }[]; }' is not assignable to type 'PromptType'."}},{"start":2044,"length":6,"code":2741,"category":1,"messageText":"Property 'environment' is missing in type '{ name: string; model: string; config: {}; tools: never[]; developerMessage: string; messages: { role: string; content: string; }[]; }' but required in type 'PromptType'.","relatedInformation":[{"file":"./src/app/(dashboard)/prompts/_components/prompt_editor_view/types.ts","start":368,"length":11,"messageText":"'environment' is declared here.","category":3,"code":2728}],"canonicalHead":{"code":2322,"messageText":"Type '{ name: string; model: string; config: {}; tools: never[]; developerMessage: string; messages: { role: string; content: string; }[]; }' is not assignable to type 'PromptType'."}},{"start":2529,"length":6,"code":2741,"category":1,"messageText":"Property 'environment' is missing in type '{ name: string; model: string; config: {}; tools: never[]; developerMessage: string; messages: { role: string; content: string; }[]; }' but required in type 'PromptType'.","relatedInformation":[{"file":"./src/app/(dashboard)/prompts/_components/prompt_editor_view/types.ts","start":368,"length":11,"messageText":"'environment' is declared here.","category":3,"code":2728}],"canonicalHead":{"code":2322,"messageText":"Type '{ name: string; model: string; config: {}; tools: never[]; developerMessage: string; messages: { role: string; content: string; }[]; }' is not assignable to type 'PromptType'."}},{"start":3149,"length":6,"code":2741,"category":1,"messageText":"Property 'environment' is missing in type '{ name: string; model: string; config: { temperature: number; max_tokens: number; top_p: number; }; tools: never[]; developerMessage: string; messages: { role: string; content: string; }[]; }' but required in type 'PromptType'.","relatedInformation":[{"file":"./src/app/(dashboard)/prompts/_components/prompt_editor_view/types.ts","start":368,"length":11,"messageText":"'environment' is declared here.","category":3,"code":2728}],"canonicalHead":{"code":2322,"messageText":"Type '{ name: string; model: string; config: { temperature: number; max_tokens: number; top_p: number; }; tools: never[]; developerMessage: string; messages: { role: string; content: string; }[]; }' is not assignable to type 'PromptType'."}},{"start":3683,"length":6,"code":2741,"category":1,"messageText":"Property 'environment' is missing in type '{ name: string; model: string; config: {}; tools: never[]; developerMessage: string; messages: { role: string; content: string; }[]; }' but required in type 'PromptType'.","relatedInformation":[{"file":"./src/app/(dashboard)/prompts/_components/prompt_editor_view/types.ts","start":368,"length":11,"messageText":"'environment' is declared here.","category":3,"code":2728}],"canonicalHead":{"code":2322,"messageText":"Type '{ name: string; model: string; config: {}; tools: never[]; developerMessage: string; messages: { role: string; content: string; }[]; }' is not assignable to type 'PromptType'."}},{"start":4135,"length":6,"code":2741,"category":1,"messageText":"Property 'environment' is missing in type '{ name: string; model: string; config: {}; tools: never[]; developerMessage: string; messages: { role: string; content: string; }[]; }' but required in type 'PromptType'.","relatedInformation":[{"file":"./src/app/(dashboard)/prompts/_components/prompt_editor_view/types.ts","start":368,"length":11,"messageText":"'environment' is declared here.","category":3,"code":2728}],"canonicalHead":{"code":2322,"messageText":"Type '{ name: string; model: string; config: {}; tools: never[]; developerMessage: string; messages: { role: string; content: string; }[]; }' is not assignable to type 'PromptType'."}},{"start":4538,"length":6,"code":2741,"category":1,"messageText":"Property 'environment' is missing in type '{ name: string; model: string; config: {}; tools: { name: string; description: string; json: string; }[]; developerMessage: string; messages: { role: string; content: string; }[]; }' but required in type 'PromptType'.","relatedInformation":[{"file":"./src/app/(dashboard)/prompts/_components/prompt_editor_view/types.ts","start":368,"length":11,"messageText":"'environment' is declared here.","category":3,"code":2728}],"canonicalHead":{"code":2322,"messageText":"Type '{ name: string; model: string; config: {}; tools: { name: string; description: string; json: string; }[]; developerMessage: string; messages: { role: string; content: string; }[]; }' is not assignable to type 'PromptType'."}},{"start":5174,"length":6,"code":2741,"category":1,"messageText":"Property 'environment' is missing in type '{ name: string; model: string; config: {}; tools: never[]; developerMessage: string; messages: { role: string; content: string; }[]; }' but required in type 'PromptType'.","relatedInformation":[{"file":"./src/app/(dashboard)/prompts/_components/prompt_editor_view/types.ts","start":368,"length":11,"messageText":"'environment' is declared here.","category":3,"code":2728}],"canonicalHead":{"code":2322,"messageText":"Type '{ name: string; model: string; config: {}; tools: never[]; developerMessage: string; messages: { role: string; content: string; }[]; }' is not assignable to type 'PromptType'."}}]],[1982,[{"start":497,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":553,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":681,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":729,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":788,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":835,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":886,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":935,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1009,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1135,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1374,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1431,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1486,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304}]],[1984,[{"start":211,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":260,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":476,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":741,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1085,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1284,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1546,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1647,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1703,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1930,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":2241,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2433,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":2739,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2840,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":3147,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":3490,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":3763,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":4102,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":4362,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":4627,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":4699,"length":12,"messageText":"Parameter 'defaultModel' implicitly has an 'any' type.","category":1,"code":7006},{"start":4952,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304}]],[1985,[{"start":434,"length":10,"code":2739,"category":1,"messageText":"Type '{ tiers: { SIMPLE: string[]; MEDIUM: string[]; COMPLEX: string[]; REASONING: string[]; }; tierLabels: undefined; classifierType: \"heuristic\"; classifierLlmConfig: undefined; classifierContextWindowSize: undefined; ... 15 more ...; returnRawModelName: false; }' is missing the following properties from type 'BuildComplexityRouterConfigParams': defaultModel, planModeMinTier","canonicalHead":{"code":2322,"messageText":"Type '{ tiers: { SIMPLE: string[]; MEDIUM: string[]; COMPLEX: string[]; REASONING: string[]; }; tierLabels: undefined; classifierType: \"heuristic\"; classifierLlmConfig: undefined; classifierContextWindowSize: undefined; ... 15 more ...; returnRawModelName: false; }' is not assignable to type 'BuildComplexityRouterConfigParams'."}},{"start":1149,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1199,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1363,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1567,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1791,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1884,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":2075,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2132,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":2378,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2471,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":2731,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2779,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2878,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":3174,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":3237,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":3686,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":3745,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":3814,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":4227,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":4294,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":4369,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":4717,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":4784,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":4859,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":5250,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":5314,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":5769,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":6026,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":6089,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":6156,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":6576,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":6633,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":6707,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":6759,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":7205,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":7267,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":7319,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":7376,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":7481,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":7543,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":7603,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":8323,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":8523,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":8847,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":8892,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":8945,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":9003,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":9062,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":9216,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":9279,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":9480,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":9533,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":9744,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":9798,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":9953,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":10011,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":10321,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":10361,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":10435,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":10488,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":10543,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":10888,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":10928,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":10990,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":11055,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":11098,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":11162,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":11219,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":11292,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":11433,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":11521,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":11682,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":11818,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":11964,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":12031,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":12132,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":12254,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":12337,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":12487,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":12552,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":12722,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":12810,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":12981,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":13064,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":13222,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":13269,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":13334,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":13543,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":13636,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":13859,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":13933,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":14091,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":14280,"length":6,"messageText":"Parameter '_label' implicitly has an 'any' type.","category":1,"code":7006},{"start":14288,"length":8,"messageText":"Parameter 'keywords' implicitly has an 'any' type.","category":1,"code":7006},{"start":14307,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":14520,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":14595,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":14954,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":15043,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":15158,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":15402,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":15584,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":15663,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":15889,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":15969,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":16228,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":16312,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":16438,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":16524,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":16759,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":17168,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":17266,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":17349,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":17679,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":17760,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":17832,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":17983,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":18140,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":18226,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":18325,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":18568,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":18725,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":19092,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":19183,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":19578,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":19664,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":19777,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":19879,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":20054,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":20209,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":20243,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":20322,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":20408,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":20704,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":20757,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":20989,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":21069,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":21167,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":21375,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":21430,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":21471,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":21517,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":21576,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":21728,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":21788,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":21877,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":21971,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":22070,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":22164,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":22243,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":22334,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":22406,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":22498,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":22589,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":22661,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":22701,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":22772,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":22835,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":22877,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":23001,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":23171,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":23250,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":23300,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":23372,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":23442,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":23498,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":23563,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":24044,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":24187,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":24245,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":24310,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":24347,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":24436,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":24539,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":24647,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":24752,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":24861,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":25026,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":25196,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":25356,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":25418,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":25494,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":25667,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":25712,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":25904,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":25970,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":26108,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":26168,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":26359,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":26427,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":26567,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":26617,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":26701,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":26757,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":26840,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":26941,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304}]],[1986,[{"start":196,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":238,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":501,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":595,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":679,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":786,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":890,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":976,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1134,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1208,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1349,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1425,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1463,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1587,"length":12,"messageText":"Parameter 'systemPrompt' implicitly has an 'any' type.","category":1,"code":7006},{"start":1601,"length":8,"messageText":"Parameter 'expected' implicitly has an 'any' type.","category":1,"code":7006},{"start":1620,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1707,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1746,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1823,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1920,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":2040,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2116,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304}]],[2025,[{"start":2106,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":2163,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":2357,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2427,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":2615,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2687,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":2905,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2970,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":3155,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":3235,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":3411,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":3485,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":3799,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304}]],[2286,[{"start":3271,"length":4,"code":2322,"category":1,"messageText":{"messageText":"Type '{ key_alias: string; }' is not assignable to type '{ access_group_ids?: string[] | null | undefined; agent_id?: string | null | undefined; aliases: ({ [x: string]: unknown; } & {}) | null; allowed_cache_controls: unknown[] | null; allowed_passthrough_routes?: unknown[] | ... 1 more ... | undefined; ... 46 more ...; user_id?: string | ... 1 more ... | undefined; } & {}'.","category":1,"code":2322,"next":[{"messageText":"Type '{ key_alias: string; }' is missing the following properties from type '{ access_group_ids?: string[] | null | undefined; agent_id?: string | null | undefined; aliases: ({ [x: string]: unknown; } & {}) | null; allowed_cache_controls: unknown[] | null; allowed_passthrough_routes?: unknown[] | ... 1 more ... | undefined; ... 46 more ...; user_id?: string | ... 1 more ... | undefined; }': aliases, allowed_cache_controls, allowed_routes, auto_rotate, and 7 more.","category":1,"code":2740,"canonicalHead":{"code":2322,"messageText":"Type '{ key_alias: string; }' is not assignable to type '{ access_group_ids?: string[] | null | undefined; agent_id?: string | null | undefined; aliases: ({ [x: string]: unknown; } & {}) | null; allowed_cache_controls: unknown[] | null; allowed_passthrough_routes?: unknown[] | ... 1 more ... | undefined; ... 46 more ...; user_id?: string | ... 1 more ... | undefined; }'."}}]},"relatedInformation":[{"file":"./node_modules/openapi-fetch/dist/index.d.mts","start":3474,"length":4,"messageText":"The expected type comes from property 'body' which is declared here on type '{ params?: { query?: undefined; header?: { \"litellm-changed-by\"?: string | null | undefined; } | undefined; path?: undefined; cookie?: undefined; } | undefined; } & { body: { access_group_ids?: string[] | ... 1 more ... | undefined; ... 50 more ...; user_id?: string | ... 1 more ... | undefined; } & {}; } & { ...; }...'","category":3,"code":6500}]},{"start":3928,"length":4,"code":2322,"category":1,"messageText":{"messageText":"Type '{ key_alias: string; }' is not assignable to type '{ access_group_ids?: string[] | null | undefined; agent_id?: string | null | undefined; aliases: ({ [x: string]: unknown; } & {}) | null; allowed_cache_controls: unknown[] | null; allowed_passthrough_routes?: unknown[] | ... 1 more ... | undefined; ... 46 more ...; user_id?: string | ... 1 more ... | undefined; } & {}'.","category":1,"code":2322,"next":[{"messageText":"Type '{ key_alias: string; }' is missing the following properties from type '{ access_group_ids?: string[] | null | undefined; agent_id?: string | null | undefined; aliases: ({ [x: string]: unknown; } & {}) | null; allowed_cache_controls: unknown[] | null; allowed_passthrough_routes?: unknown[] | ... 1 more ... | undefined; ... 46 more ...; user_id?: string | ... 1 more ... | undefined; }': aliases, allowed_cache_controls, allowed_routes, auto_rotate, and 7 more.","category":1,"code":2740,"canonicalHead":{"code":2322,"messageText":"Type '{ key_alias: string; }' is not assignable to type '{ access_group_ids?: string[] | null | undefined; agent_id?: string | null | undefined; aliases: ({ [x: string]: unknown; } & {}) | null; allowed_cache_controls: unknown[] | null; allowed_passthrough_routes?: unknown[] | ... 1 more ... | undefined; ... 46 more ...; user_id?: string | ... 1 more ... | undefined; }'."}}]},"relatedInformation":[{"file":"./node_modules/openapi-fetch/dist/index.d.mts","start":3474,"length":4,"messageText":"The expected type comes from property 'body' which is declared here on type '{ params?: { query?: undefined; header?: { \"litellm-changed-by\"?: string | null | undefined; } | undefined; path?: undefined; cookie?: undefined; } | undefined; } & { body: { access_group_ids?: string[] | ... 1 more ... | undefined; ... 50 more ...; user_id?: string | ... 1 more ... | undefined; } & {}; } & { ...; }...'","category":3,"code":6500}]}]],[2287,[{"start":1322,"length":3,"messageText":"Tuple type '[]' of length '0' has no element at index '0'.","category":1,"code":2493},{"start":1327,"length":4,"messageText":"Tuple type '[]' of length '0' has no element at index '1'.","category":1,"code":2493},{"start":1491,"length":4,"messageText":"'init' is possibly 'undefined'.","category":1,"code":18048},{"start":1616,"length":4,"messageText":"'init' is possibly 'undefined'.","category":1,"code":18048},{"start":1943,"length":4,"messageText":"Tuple type '[]' of length '0' has no element at index '1'.","category":1,"code":2493},{"start":1987,"length":4,"messageText":"'init' is possibly 'undefined'.","category":1,"code":18048},{"start":2025,"length":4,"messageText":"'init' is possibly 'undefined'.","category":1,"code":18048},{"start":4549,"length":4,"messageText":"Tuple type '[]' of length '0' has no element at index '1'.","category":1,"code":2493},{"start":4593,"length":4,"messageText":"'init' is possibly 'undefined'.","category":1,"code":18048}]],[2579,[{"start":272,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":354,"length":10,"messageText":"Cannot find name 'beforeEach'.","category":1,"code":2304},{"start":907,"length":9,"messageText":"Cannot find name 'afterEach'.","category":1,"code":2304},{"start":1076,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1114,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1199,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1276,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1338,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1481,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1560,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1665,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1712,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1757,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1836,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1918,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1976,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":2023,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":2370,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2447,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":2755,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2802,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":2838,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":2914,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2969,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":3051,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":3148,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":3523,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":3642,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":3690,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":4031,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":4159,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":4484,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":4533,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":4878,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":4940,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":4977,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":5400,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":5476,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":6141,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":6218,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":6485,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":6532,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":6573,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":6639,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":6703,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":6766,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":6823,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":6888,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":7012,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":7166,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":7255,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":7313,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":7379,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":7452,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":7497,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":7552,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":7599,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":7663,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":7736,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":7807,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":7880,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":7925,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":8020,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":8403,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":8481,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":8933,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":9013,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":9490,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":9631,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":9757,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":9835,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":9876,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":10661,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":10731,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":10785,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":11070,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":11113,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":11970,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":12047,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":12318,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304}]],[2580,[{"start":3550,"length":405,"code":2741,"category":1,"messageText":"Property 'spend' is missing in type '{ team_id: string; team_alias: string; models: never[]; max_budget: null; budget_duration: null; tpm_limit: null; rpm_limit: null; organization_id: string; created_at: string; keys: never[]; members_with_roles: { ...; }[]; }' but required in type 'Team'.","relatedInformation":[{"file":"./src/components/key_team_helpers/key_list.tsx","start":604,"length":5,"messageText":"'spend' is declared here.","category":3,"code":2728}],"canonicalHead":{"code":2322,"messageText":"Type '{ team_id: string; team_alias: string; models: never[]; max_budget: null; budget_duration: null; tpm_limit: null; rpm_limit: null; organization_id: string; created_at: string; keys: never[]; members_with_roles: { ...; }[]; }' is not assignable to type 'Team'."}},{"start":3965,"length":406,"code":2741,"category":1,"messageText":"Property 'spend' is missing in type '{ team_id: string; team_alias: string; models: never[]; max_budget: null; budget_duration: null; tpm_limit: null; rpm_limit: null; organization_id: string; created_at: string; keys: never[]; members_with_roles: { ...; }[]; }' but required in type 'Team'.","relatedInformation":[{"file":"./src/components/key_team_helpers/key_list.tsx","start":604,"length":5,"messageText":"'spend' is declared here.","category":3,"code":2728}],"canonicalHead":{"code":2322,"messageText":"Type '{ team_id: string; team_alias: string; models: never[]; max_budget: null; budget_duration: null; tpm_limit: null; rpm_limit: null; organization_id: string; created_at: string; keys: never[]; members_with_roles: { ...; }[]; }' is not assignable to type 'Team'."}},{"start":4571,"length":405,"code":2741,"category":1,"messageText":"Property 'spend' is missing in type '{ team_id: string; team_alias: string; models: never[]; max_budget: null; budget_duration: null; tpm_limit: null; rpm_limit: null; organization_id: string; created_at: string; keys: never[]; members_with_roles: { ...; }[]; }' but required in type 'Team'.","relatedInformation":[{"file":"./src/components/key_team_helpers/key_list.tsx","start":604,"length":5,"messageText":"'spend' is declared here.","category":3,"code":2728}],"canonicalHead":{"code":2322,"messageText":"Type '{ team_id: string; team_alias: string; models: never[]; max_budget: null; budget_duration: null; tpm_limit: null; rpm_limit: null; organization_id: string; created_at: string; keys: never[]; members_with_roles: { ...; }[]; }' is not assignable to type 'Team'."}},{"start":4986,"length":406,"code":2741,"category":1,"messageText":"Property 'spend' is missing in type '{ team_id: string; team_alias: string; models: never[]; max_budget: null; budget_duration: null; tpm_limit: null; rpm_limit: null; organization_id: string; created_at: string; keys: never[]; members_with_roles: { ...; }[]; }' but required in type 'Team'.","relatedInformation":[{"file":"./src/components/key_team_helpers/key_list.tsx","start":604,"length":5,"messageText":"'spend' is declared here.","category":3,"code":2728}],"canonicalHead":{"code":2322,"messageText":"Type '{ team_id: string; team_alias: string; models: never[]; max_budget: null; budget_duration: null; tpm_limit: null; rpm_limit: null; organization_id: string; created_at: string; keys: never[]; members_with_roles: { ...; }[]; }' is not assignable to type 'Team'."}}]],[2721,[{"start":3077,"length":4,"messageText":"Tuple type '[]' of length '0' has no element at index '0'.","category":1,"code":2493},{"start":3083,"length":4,"messageText":"Tuple type '[]' of length '0' has no element at index '1'.","category":1,"code":2493},{"start":3175,"length":4,"messageText":"'opts' is possibly 'undefined'.","category":1,"code":18048}]],[3006,[{"start":2067,"length":42,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ userRole: string; token: string; accessToken: string; userId: string; userEmail: string; premiumUser: boolean; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ userRole: string; token: string; accessToken: string; userId: string; userEmail: string; premiumUser: boolean; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":2572,"length":41,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ userRole: string; token: string; accessToken: string; userId: string; userEmail: string; premiumUser: boolean; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ userRole: string; token: string; accessToken: string; userId: string; userEmail: string; premiumUser: boolean; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":3058,"length":34,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ userRole: string; token: string; accessToken: string; userId: string; userEmail: string; premiumUser: boolean; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ userRole: string; token: string; accessToken: string; userId: string; userEmail: string; premiumUser: boolean; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":3554,"length":8,"code":2322,"category":1,"messageText":"Type 'undefined' is not assignable to type 'string'.","relatedInformation":[{"file":"./src/app/(dashboard)/hooks/useauthorized.ts","start":1740,"length":50,"messageText":"The expected type comes from property 'userRole' which is declared here on type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'","category":3,"code":6500}]},{"start":4033,"length":42,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ userRole: string; token: string; accessToken: string; userId: string; userEmail: string; premiumUser: boolean; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ userRole: string; token: string; accessToken: string; userId: string; userEmail: string; premiumUser: boolean; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":5026,"length":34,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ userRole: string; token: string; accessToken: string; userId: string; userEmail: string; premiumUser: boolean; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ userRole: string; token: string; accessToken: string; userId: string; userEmail: string; premiumUser: boolean; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}}]],[3014,[{"start":3286,"length":15,"code":2339,"category":1,"messageText":{"messageText":"Property 'CustomGuardrail' does not exist on type 'Record | typeof GuardrailProviders'.","category":1,"code":2339,"next":[{"messageText":"Property 'CustomGuardrail' does not exist on type 'typeof GuardrailProviders'.","category":1,"code":2339}]}}]],[3042,[{"start":198,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":366,"length":9,"messageText":"Cannot find name 'afterEach'.","category":1,"code":2304},{"start":417,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":500,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":569,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":702,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":944,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1191,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1266,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1353,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1621,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1713,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1981,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2069,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":2260,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2354,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":2467,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2569,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":2908,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2988,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":3401,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":3480,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":3592,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":3750,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304}]],[3043,[{"start":5828,"length":11,"code":2322,"category":1,"messageText":"Type 'null' is not assignable to type 'string | undefined'."}]],[3140,[{"start":2696,"length":5,"code":2339,"category":1,"messageText":"Property 'value' does not exist on type 'HTMLElement'."},{"start":2826,"length":5,"code":2339,"category":1,"messageText":"Property 'value' does not exist on type 'HTMLElement'."},{"start":3842,"length":5,"code":2339,"category":1,"messageText":"Property 'value' does not exist on type 'HTMLElement'."}]],[3149,[{"start":10763,"length":423,"code":2352,"category":1,"messageText":{"messageText":"Conversion of type '{ status: \"healthy\"; last_health_check: string; health_check_error: null; teams: { team_id: string; }[]; allowed_tools: string[]; has_user_credential: true; approval_status: \"approved\"; submitted_by: string; ... 47 more ...; env_vars?: MCPEnvVar[] | null; }' to type 'MCPServer' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first.","category":1,"code":2352,"next":[{"messageText":"Types of property 'approval_status' are incompatible.","category":1,"code":2326,"next":[{"messageText":"Type '\"approved\"' is not comparable to type '\"active\" | \"pending_review\" | \"rejected\" | null | undefined'.","category":1,"code":2678}]}]}}]],[3260,[{"start":4242,"length":15,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ isLoading: boolean; isAuthorized: boolean; token: string; accessToken: string; userId: string; userEmail: string; userRole: string; premiumUser: boolean; disabledPersonalKeyCreation: boolean; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ isLoading: boolean; isAuthorized: boolean; token: string; accessToken: string; userId: string; userEmail: string; userRole: string; premiumUser: boolean; disabledPersonalKeyCreation: boolean; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': userRoleLabel, isViewOnly","category":1,"code":2739}]}}]],[3264,[{"start":3971,"length":10,"messageText":"Cannot find name 'beforeEach'.","category":1,"code":2304}]],[3537,[{"start":2185,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2365,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":2415,"length":10,"messageText":"Cannot find name 'beforeEach'.","category":1,"code":2304},{"start":2652,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":3085,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":3188,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":3521,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":3674,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":3768,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":3861,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":3998,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":4041,"length":10,"messageText":"Cannot find name 'beforeEach'.","category":1,"code":2304},{"start":4130,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":4412,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":4492,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304}]],[3571,[{"start":2516,"length":2,"code":2345,"category":1,"messageText":"Argument of type '{}' is not assignable to parameter of type 'void'."}]],[3617,[{"start":11320,"length":300,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ isLoading: false; isAuthorized: true; token: string; accessToken: string; userId: string; userEmail: string; userRole: string; premiumUser: boolean; disabledPersonalKeyCreation: boolean; showSSOBanner: false; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ isLoading: false; isAuthorized: true; token: string; accessToken: string; userId: string; userEmail: string; userRole: string; premiumUser: boolean; disabledPersonalKeyCreation: boolean; showSSOBanner: false; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":20146,"length":308,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ isLoading: false; isAuthorized: true; token: string; accessToken: string; userId: string; userEmail: string; userRole: string; premiumUser: boolean; disabledPersonalKeyCreation: boolean; showSSOBanner: false; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ isLoading: false; isAuthorized: true; token: string; accessToken: string; userId: string; userEmail: string; userRole: string; premiumUser: boolean; disabledPersonalKeyCreation: boolean; showSSOBanner: false; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":30967,"length":331,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ isLoading: false; isAuthorized: true; token: string; accessToken: string; userId: string; userEmail: string; userRole: string; premiumUser: boolean; disabledPersonalKeyCreation: boolean; showSSOBanner: false; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ isLoading: false; isAuthorized: true; token: string; accessToken: string; userId: string; userEmail: string; userRole: string; premiumUser: boolean; disabledPersonalKeyCreation: boolean; showSSOBanner: false; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":31850,"length":331,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ isLoading: false; isAuthorized: true; token: string; accessToken: string; userId: string; userEmail: string; userRole: string; premiumUser: boolean; disabledPersonalKeyCreation: boolean; showSSOBanner: false; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ isLoading: false; isAuthorized: true; token: string; accessToken: string; userId: string; userEmail: string; userRole: string; premiumUser: boolean; disabledPersonalKeyCreation: boolean; showSSOBanner: false; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': userRoleLabel, isViewOnly","category":1,"code":2739}]}}]],[3670,[{"start":3053,"length":46,"code":2352,"category":1,"messageText":{"messageText":"Conversion of type '[url: string][]' to type '[string, RequestInit][]' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first.","category":1,"code":2352,"next":[{"messageText":"Type '[url: string]' is not comparable to type '[string, RequestInit]'.","category":1,"code":2678,"next":[{"messageText":"Source has 1 element(s) but target requires 2.","category":1,"code":2618}]}]}}]],[3696,[{"start":9097,"length":9,"messageText":"Cannot find name 'afterEach'.","category":1,"code":2304}]],[3714,[{"start":401,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":442,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":647,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":711,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":957,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1064,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1307,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1383,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1651,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1701,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1948,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1998,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":2220,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2297,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":2528,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304}]],[3719,[{"start":792,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":835,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1063,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1122,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1226,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1306,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1527,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1712,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1913,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2009,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":2261,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2311,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":2510,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2560,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":2731,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304}]],[3729,[{"start":780,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":813,"length":10,"messageText":"Cannot find name 'beforeEach'.","category":1,"code":2304},{"start":891,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1067,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1117,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1321,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1371,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1570,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1620,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1789,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1848,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1981,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2053,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2107,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2176,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":2342,"length":8,"messageText":"Parameter 'severity' implicitly has an 'any' type.","category":1,"code":7006},{"start":2352,"length":9,"messageText":"Parameter 'iconClass' implicitly has an 'any' type.","category":1,"code":7006},{"start":2505,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2584,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":2857,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":3006,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":3063,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":3512,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":3571,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":3661,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":4075,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304}]],[3767,[{"start":2005,"length":27,"code":2769,"category":1,"messageText":{"messageText":"No overload matches this call.","category":1,"code":2769,"next":[{"messageText":"Overload 1 of 2, '(id: Matcher, options?: SelectorMatcherOptions | undefined): HTMLElement', gave the following error.","category":1,"code":2772,"next":[{"messageText":"Argument of type 'string | null' is not assignable to parameter of type 'Matcher'.","category":1,"code":2345,"next":[{"messageText":"Type 'null' is not assignable to type 'Matcher'.","category":1,"code":2322}]}]},{"messageText":"Overload 2 of 2, '(id: Matcher, options?: SelectorMatcherOptions | undefined): HTMLElement', gave the following error.","category":1,"code":2772,"next":[{"messageText":"Argument of type 'string | null' is not assignable to parameter of type 'Matcher'.","category":1,"code":2345,"next":[{"messageText":"Type 'null' is not assignable to type 'Matcher'.","category":1,"code":2322}]}]}]},"relatedInformation":[]},{"start":2084,"length":26,"code":2769,"category":1,"messageText":{"messageText":"No overload matches this call.","category":1,"code":2769,"next":[{"messageText":"Overload 1 of 2, '(id: Matcher, options?: SelectorMatcherOptions | undefined): HTMLElement', gave the following error.","category":1,"code":2772,"next":[{"messageText":"Argument of type 'string | null' is not assignable to parameter of type 'Matcher'.","category":1,"code":2345,"next":[{"messageText":"Type 'null' is not assignable to type 'Matcher'.","category":1,"code":2322}]}]},{"messageText":"Overload 2 of 2, '(id: Matcher, options?: SelectorMatcherOptions | undefined): HTMLElement', gave the following error.","category":1,"code":2772,"next":[{"messageText":"Argument of type 'string | null' is not assignable to parameter of type 'Matcher'.","category":1,"code":2345,"next":[{"messageText":"Type 'null' is not assignable to type 'Matcher'.","category":1,"code":2322}]}]}]},"relatedInformation":[]}]],[3775,[{"start":162,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":205,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":319,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":384,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":517,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":602,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":751,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304}]],[3776,[{"start":119,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":155,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":397,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":451,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":699,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":788,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":880,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1165,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1233,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1492,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1560,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1820,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304}]],[3777,[{"start":211,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":252,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":384,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":454,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":615,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":698,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":788,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":875,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1063,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1159,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1503,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1570,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1738,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304}]],[3778,[{"start":877,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":917,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1015,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1106,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1371,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1444,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1769,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1848,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":2010,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2082,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":2521,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2584,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":2872,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2940,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":3009,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304}]],[3779,[{"start":144,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":177,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":286,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":359,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":488,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":554,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":618,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":732,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":793,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":961,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1031,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1172,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1248,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1396,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1468,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1599,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304}]],[3784,[{"start":236,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":276,"length":10,"messageText":"Cannot find name 'beforeEach'.","category":1,"code":2304},{"start":330,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":583,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":735,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":802,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":859,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":931,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1173,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1267,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1590,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1754,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1854,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":2168,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2268,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":2981,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304}]],[3808,[{"start":1201,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1242,"length":10,"messageText":"Cannot find name 'beforeEach'.","category":1,"code":2304},{"start":1294,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1434,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1517,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1627,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1810,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1875,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1963,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":2273,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2391,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2426,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":2681,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2876,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2924,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":3198,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":3285,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":3314,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":3448,"length":8,"messageText":"Parameter 'severity' implicitly has an 'any' type.","category":1,"code":7006},{"start":3458,"length":5,"messageText":"Parameter 'label' implicitly has an 'any' type.","category":1,"code":7006},{"start":3609,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304}]],[3816,[{"start":5180,"length":36,"messageText":"Object is possibly 'null'.","category":1,"code":2531}]],[3817,[{"start":208,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":242,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":313,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":387,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":451,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":525,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":605,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":681,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":716,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":864,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":932,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1101,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1167,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1339,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1423,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1485,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1663,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1726,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1772,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1825,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1880,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1947,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1998,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304}]],[3822,[{"start":1780,"length":8,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ token: string; accessToken: string; userId: string; userEmail: string; userRole: string; premiumUser: boolean; disabledPersonalKeyCreation: boolean; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ token: string; accessToken: string; userId: string; userEmail: string; userRole: string; premiumUser: boolean; disabledPersonalKeyCreation: boolean; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":15138,"length":49,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ accessToken: string; token: string; userId: string; userEmail: string; userRole: string; premiumUser: boolean; disabledPersonalKeyCreation: boolean; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ accessToken: string; token: string; userId: string; userEmail: string; userRole: string; premiumUser: boolean; disabledPersonalKeyCreation: boolean; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}}]],[3823,[{"start":2427,"length":7,"code":2741,"category":1,"messageText":"Property 'key_type' is missing in type '{ token: string; token_id: string; key_name: string; key_alias: string; spend: number; max_budget: number; expires: string; models: string[]; aliases: {}; config: {}; user_id: string; team_id: string; ... 44 more ...; user: { ...; }; }' but required in type 'KeyResponse'.","relatedInformation":[{"file":"./src/components/key_team_helpers/key_list.tsx","start":1350,"length":8,"messageText":"'key_type' is declared here.","category":3,"code":2728}],"canonicalHead":{"code":2322,"messageText":"Type '{ token: string; token_id: string; key_name: string; key_alias: string; spend: number; max_budget: number; expires: string; models: string[]; aliases: {}; config: {}; user_id: string; team_id: string; ... 44 more ...; user: { ...; }; }' is not assignable to type 'KeyResponse'."}}]],[3824,[{"start":3533,"length":8,"code":2741,"category":1,"messageText":"Property 'spend' is missing in type '{ team_id: string; team_alias: string; models: string[]; max_budget: number; budget_duration: string; tpm_limit: null; rpm_limit: null; organization_id: string; created_at: string; keys: never[]; members_with_roles: never[]; }' but required in type 'Team'.","relatedInformation":[{"file":"./src/components/key_team_helpers/key_list.tsx","start":604,"length":5,"messageText":"'spend' is declared here.","category":3,"code":2728}],"canonicalHead":{"code":2322,"messageText":"Type '{ team_id: string; team_alias: string; models: string[]; max_budget: number; budget_duration: string; tpm_limit: null; rpm_limit: null; organization_id: string; created_at: string; keys: never[]; members_with_roles: never[]; }' is not assignable to type 'Team'."}},{"start":5267,"length":49,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ token: string; accessToken: string; userId: string; userEmail: string; userRole: string; premiumUser: boolean; disabledPersonalKeyCreation: boolean; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ token: string; accessToken: string; userId: string; userEmail: string; userRole: string; premiumUser: boolean; disabledPersonalKeyCreation: boolean; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":5784,"length":49,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ token: string; accessToken: string; userId: string; userEmail: string; userRole: string; premiumUser: boolean; disabledPersonalKeyCreation: boolean; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ token: string; accessToken: string; userId: string; userEmail: string; userRole: string; premiumUser: boolean; disabledPersonalKeyCreation: boolean; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":6718,"length":49,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ token: string; accessToken: string; userId: string; userEmail: string; userRole: string; premiumUser: boolean; disabledPersonalKeyCreation: boolean; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ token: string; accessToken: string; userId: string; userEmail: string; userRole: string; premiumUser: boolean; disabledPersonalKeyCreation: boolean; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":7666,"length":49,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ token: string; accessToken: string; userId: string; userEmail: string; userRole: string; premiumUser: boolean; disabledPersonalKeyCreation: boolean; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ token: string; accessToken: string; userId: string; userEmail: string; userRole: string; premiumUser: boolean; disabledPersonalKeyCreation: boolean; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":8613,"length":49,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ token: string; accessToken: string; userId: string; userEmail: string; userRole: string; premiumUser: boolean; disabledPersonalKeyCreation: boolean; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ token: string; accessToken: string; userId: string; userEmail: string; userRole: string; premiumUser: boolean; disabledPersonalKeyCreation: boolean; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":9408,"length":43,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ token: string; accessToken: string; userId: string; userEmail: string; userRole: string; premiumUser: boolean; disabledPersonalKeyCreation: boolean; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ token: string; accessToken: string; userId: string; userEmail: string; userRole: string; premiumUser: boolean; disabledPersonalKeyCreation: boolean; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":10172,"length":49,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ token: string; accessToken: string; userId: string; userEmail: string; userRole: string; premiumUser: boolean; disabledPersonalKeyCreation: boolean; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ token: string; accessToken: string; userId: string; userEmail: string; userRole: string; premiumUser: boolean; disabledPersonalKeyCreation: boolean; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":10857,"length":56,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ token: string; accessToken: string; userId: string; userEmail: string; userRole: string; premiumUser: boolean; disabledPersonalKeyCreation: boolean; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ token: string; accessToken: string; userId: string; userEmail: string; userRole: string; premiumUser: boolean; disabledPersonalKeyCreation: boolean; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":12152,"length":49,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ token: string; accessToken: string; userId: string; userEmail: string; userRole: string; premiumUser: boolean; disabledPersonalKeyCreation: boolean; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ token: string; accessToken: string; userId: string; userEmail: string; userRole: string; premiumUser: boolean; disabledPersonalKeyCreation: boolean; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}}]],[3825,[{"start":1457,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1501,"length":10,"messageText":"Cannot find name 'beforeEach'.","category":1,"code":2304},{"start":1553,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1638,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1723,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":2186,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2268,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2372,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2435,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2539,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":3054,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":3159,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":3589,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":3689,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304}]],[3826,[{"start":837,"length":10,"messageText":"Cannot find name 'beforeEach'.","category":1,"code":2304},{"start":1657,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1766,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1811,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":2092,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2179,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2275,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":2634,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2723,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":3113,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":3206,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":3312,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":3386,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":3463,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":3836,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":3910,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":4103,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":4162,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":4476,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":4653,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":4712,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":4861,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304}]],[3827,[{"start":1252,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1297,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1397,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1485,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1607,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1672,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1737,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1803,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1876,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":2004,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2064,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2144,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2233,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2310,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":2522,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2605,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":2824,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2890,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2961,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":3032,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":3103,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":3309,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":3394,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":3475,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":3817,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":3932,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":4671,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":4734,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":5304,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":5374,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":5440,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":5505,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":5578,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":5641,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":5727,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":5797,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":6393,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":6592,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":6683,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":7227,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":7304,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":7400,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":7860,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":7960,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":8244,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":8332,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":8909,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":8954,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":9049,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":9332,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":9411,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":9508,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":10243,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":10360,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":11117,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":11239,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":11449,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":11533,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":11879,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":11936,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":12000,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":12721,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":12801,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":13554,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":13656,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":13882,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":13958,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":14053,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":14462,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":14544,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":14668,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":14756,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":15229,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":15356,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":15394,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":15473,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":16161,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":16285,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":16811,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":16872,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":17019,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":17087,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":17372,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":17451,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":17526,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":17610,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":17890,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":17959,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":18037,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":18576,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":18643,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":18672,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":19069,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":19154,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":19236,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":19370,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":19456,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":19925,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":20014,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":20478,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":20573,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":20892,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":20976,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":21050,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":21421,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":21494,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":21569,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":21721,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":21817,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":22060,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":22342,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":22438,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":22811,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":22849,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":22926,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":23523,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":23648,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":23951,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":24039,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":24727,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":24807,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":25295,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":25389,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":25868,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":25906,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":25979,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":26530,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":26935,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":27010,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":27107,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":27685,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":27730,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":27779,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":27861,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":28098,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":28159,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":28260,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":28555,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":28600,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":28649,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":28728,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":28971,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":29057,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":29418,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":29534,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":29671,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":29781,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":30016,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":30194,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":30258,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":30321,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":30392,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":30471,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":30643,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":30730,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":30825,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":31110,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":31194,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":31513,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":31551,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":31624,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":31788,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":31887,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":32028,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":32120,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":32361,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":32420,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":32483,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":32845,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":32962,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":33022,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":33227,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":33342,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":33451,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":33832,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":33929,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":34196,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":34322,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":34477,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":34648,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":34758,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":35083,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":35200,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":35534,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":35572,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":35643,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":36091,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":36129,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":36194,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":36466,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":36537,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":37097,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":37218,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":37701,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":37825,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":38027,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":38319,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":38406,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":38814,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":38932,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":38993,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":39471,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":39558,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":39652,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":39934,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304}]],[3828,[{"start":10021,"length":28,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ data: ComplexityScorerDefaults; isPending: boolean; isError: boolean; refetch: Mock; }' is not assignable to parameter of type 'UseQueryResult'.","category":1,"code":2345,"next":[{"messageText":"Type '{ data: ComplexityScorerDefaults; isPending: boolean; isError: boolean; refetch: Mock; }' is not assignable to type 'QueryObserverRefetchErrorResult | QueryObserverSuccessResult | QueryObserverPlaceholderResult<...>'.","category":1,"code":2322,"next":[{"messageText":"Type '{ data: ComplexityScorerDefaults; isPending: boolean; isError: boolean; refetch: Mock; }' is missing the following properties from type 'QueryObserverPlaceholderResult': error, isLoading, isLoadingError, isRefetchError, and 18 more.","category":1,"code":2740,"canonicalHead":{"code":2322,"messageText":"Type '{ data: ComplexityScorerDefaults; isPending: boolean; isError: boolean; refetch: Mock; }' is not assignable to type 'QueryObserverPlaceholderResult'."}}]}]}},{"start":11180,"length":28,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ data: ComplexityScorerDefaults; isPending: boolean; isError: boolean; refetch: Mock; }' is not assignable to parameter of type 'UseQueryResult'.","category":1,"code":2345,"next":[{"messageText":"Type '{ data: ComplexityScorerDefaults; isPending: boolean; isError: boolean; refetch: Mock; }' is not assignable to type 'QueryObserverRefetchErrorResult | QueryObserverSuccessResult | QueryObserverPlaceholderResult<...>'.","category":1,"code":2322,"next":[{"messageText":"Type '{ data: ComplexityScorerDefaults; isPending: boolean; isError: boolean; refetch: Mock; }' is missing the following properties from type 'QueryObserverPlaceholderResult': error, isLoading, isLoadingError, isRefetchError, and 18 more.","category":1,"code":2740,"canonicalHead":{"code":2322,"messageText":"Type '{ data: ComplexityScorerDefaults; isPending: boolean; isError: boolean; refetch: Mock; }' is not assignable to type 'QueryObserverPlaceholderResult'."}}]}]}}]],[3830,[{"start":670,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":716,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":995,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1089,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1162,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1222,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1294,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1454,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1549,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1753,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1842,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":2056,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304}]],[3831,[{"start":2660,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":5044,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":5083,"length":10,"messageText":"Cannot find name 'beforeEach'.","category":1,"code":2304},{"start":5700,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":5820,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":5985,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":6224,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":6340,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":6430,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":6741,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":6830,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":6921,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":7054,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":7134,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":7348,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":7417,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":7762,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":8358,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":8417,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":8824,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":9321,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":9487,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":9580,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":9647,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":10141,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":10329,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":10413,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":10510,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":11197,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":11289,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":11379,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":12116,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":12175,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":12378,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":12879,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":12972,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":13039,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":13463,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":13676,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":13735,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":14087,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":14784,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":14843,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":15008,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":15620,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":15679,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":15835,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":16261,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":16498,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":16557,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":16716,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":17347,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":17406,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":17690,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":17933,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":18037,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":18074,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":18445,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":18533,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":19811,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":19958,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":19999,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":20060,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":20118,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":20265,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":20382,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":20453,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":21259,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":21518,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":21610,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":21716,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":21757,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":22219,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":22279,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":22627,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":22724,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":22945,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":23136,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":23196,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":23296,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":23700,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":24038,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":24164,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":24250,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":24555,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":24877,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":24974,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":25285,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":25502,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":25600,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":25919,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":26094,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":26451,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":26984,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":27045,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":27747,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":28208,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":28883,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":29051,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":29096,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":29152,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":29227,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":29907,"length":10,"messageText":"Cannot find name 'beforeEach'.","category":1,"code":2304},{"start":30058,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":30451,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":30774,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":30964,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":31035,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":31370,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":31712,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":31880,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":31925,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":31972,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":32047,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":32090,"length":10,"messageText":"Cannot find name 'beforeEach'.","category":1,"code":2304},{"start":32191,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":32649,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":32710,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":32875,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":33555,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":33616,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":33793,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":34590,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":34970,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":35060,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":35163,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":35573,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":35712,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":35994,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":36055,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":36509,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":36923,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":37119,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":37227,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":37431,"length":6,"messageText":"Parameter '_label' implicitly has an 'any' type.","category":1,"code":7006},{"start":37439,"length":9,"messageText":"Parameter 'modelName' implicitly has an 'any' type.","category":1,"code":7006},{"start":37789,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":37876,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":37963,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":38516,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":38880,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":38970,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":39073,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":39436,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":39766,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":39827,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304}]],[3834,[{"start":793,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":840,"length":10,"messageText":"Cannot find name 'beforeEach'.","category":1,"code":2304},{"start":892,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1224,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1269,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1342,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1419,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1501,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1794,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1869,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1948,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2022,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":2531,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2612,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2703,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2810,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2889,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":3304,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304}]],[3857,[{"start":3670,"length":6,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ metadata: { key: string; value?: string | undefined; }[]; }' is not assignable to parameter of type '{ metadata?: MetadataPair[] | undefined; }'.","category":1,"code":2345,"next":[{"messageText":"Types of property 'metadata' are incompatible.","category":1,"code":2326,"next":[{"messageText":"Type '{ key: string; value?: string | undefined; }[]' is not assignable to type 'MetadataPair[]'.","category":1,"code":2322,"next":[{"messageText":"Type '{ key: string; value?: string | undefined; }' is not assignable to type 'MetadataPair'.","category":1,"code":2322,"next":[{"messageText":"Types of property 'value' are incompatible.","category":1,"code":2326,"next":[{"messageText":"Type 'string | undefined' is not assignable to type 'string'.","category":1,"code":2322,"next":[{"messageText":"Type 'undefined' is not assignable to type 'string'.","category":1,"code":2322}],"canonicalHead":{"code":2322,"messageText":"Type '{ key: string; value?: string | undefined; }' is not assignable to type 'MetadataPair'."}}]}]}]}]}]}}]],[3862,[{"start":806,"length":13,"code":2322,"category":1,"messageText":{"messageText":"Type '{ organization_id: string; organization_alias: string; budget_id: string; metadata: {}; models: never[]; spend: number; model_spend: {}; created_at: string; created_by: string; updated_at: string; }[]' is not assignable to type 'Organization[]'.","category":1,"code":2322,"next":[{"messageText":"Type '{ organization_id: string; organization_alias: string; budget_id: string; metadata: {}; models: never[]; spend: number; model_spend: {}; created_at: string; created_by: string; updated_at: string; }' is missing the following properties from type 'Organization': updated_by, litellm_budget_table, teams, users, members","category":1,"code":2739,"canonicalHead":{"code":2322,"messageText":"Type '{ organization_id: string; organization_alias: string; budget_id: string; metadata: {}; models: never[]; spend: number; model_spend: {}; created_at: string; created_by: string; updated_at: string; }' is not assignable to type 'Organization'."}}]},"relatedInformation":[{"file":"./src/components/common_components/organizationdropdown.tsx","start":179,"length":13,"messageText":"The expected type comes from property 'organizations' which is declared here on type 'IntrinsicAttributes & OrganizationDropdownProps'","category":3,"code":6500}]},{"start":1045,"length":13,"code":2322,"category":1,"messageText":{"messageText":"Type '{ organization_id: string; organization_alias: string; budget_id: string; metadata: {}; models: never[]; spend: number; model_spend: {}; created_at: string; created_by: string; updated_at: string; }[]' is not assignable to type 'Organization[]'.","category":1,"code":2322,"next":[{"messageText":"Type '{ organization_id: string; organization_alias: string; budget_id: string; metadata: {}; models: never[]; spend: number; model_spend: {}; created_at: string; created_by: string; updated_at: string; }' is missing the following properties from type 'Organization': updated_by, litellm_budget_table, teams, users, members","category":1,"code":2739,"canonicalHead":{"code":2322,"messageText":"Type '{ organization_id: string; organization_alias: string; budget_id: string; metadata: {}; models: never[]; spend: number; model_spend: {}; created_at: string; created_by: string; updated_at: string; }' is not assignable to type 'Organization'."}}]},"relatedInformation":[{"file":"./src/components/common_components/organizationdropdown.tsx","start":179,"length":13,"messageText":"The expected type comes from property 'organizations' which is declared here on type 'IntrinsicAttributes & OrganizationDropdownProps'","category":3,"code":6500}]},{"start":1459,"length":13,"code":2322,"category":1,"messageText":{"messageText":"Type '{ organization_id: string; organization_alias: string; budget_id: string; metadata: {}; models: never[]; spend: number; model_spend: {}; created_at: string; created_by: string; updated_at: string; }[]' is not assignable to type 'Organization[]'.","category":1,"code":2322,"next":[{"messageText":"Type '{ organization_id: string; organization_alias: string; budget_id: string; metadata: {}; models: never[]; spend: number; model_spend: {}; created_at: string; created_by: string; updated_at: string; }' is missing the following properties from type 'Organization': updated_by, litellm_budget_table, teams, users, members","category":1,"code":2739,"canonicalHead":{"code":2322,"messageText":"Type '{ organization_id: string; organization_alias: string; budget_id: string; metadata: {}; models: never[]; spend: number; model_spend: {}; created_at: string; created_by: string; updated_at: string; }' is not assignable to type 'Organization'."}}]},"relatedInformation":[{"file":"./src/components/common_components/organizationdropdown.tsx","start":179,"length":13,"messageText":"The expected type comes from property 'organizations' which is declared here on type 'IntrinsicAttributes & OrganizationDropdownProps'","category":3,"code":6500}]},{"start":1865,"length":13,"code":2322,"category":1,"messageText":{"messageText":"Type '{ organization_id: string; organization_alias: string; budget_id: string; metadata: {}; models: never[]; spend: number; model_spend: {}; created_at: string; created_by: string; updated_at: string; }[]' is not assignable to type 'Organization[]'.","category":1,"code":2322,"next":[{"messageText":"Type '{ organization_id: string; organization_alias: string; budget_id: string; metadata: {}; models: never[]; spend: number; model_spend: {}; created_at: string; created_by: string; updated_at: string; }' is missing the following properties from type 'Organization': updated_by, litellm_budget_table, teams, users, members","category":1,"code":2739,"canonicalHead":{"code":2322,"messageText":"Type '{ organization_id: string; organization_alias: string; budget_id: string; metadata: {}; models: never[]; spend: number; model_spend: {}; created_at: string; created_by: string; updated_at: string; }' is not assignable to type 'Organization'."}}]},"relatedInformation":[{"file":"./src/components/common_components/organizationdropdown.tsx","start":179,"length":13,"messageText":"The expected type comes from property 'organizations' which is declared here on type 'IntrinsicAttributes & OrganizationDropdownProps'","category":3,"code":6500}]},{"start":2328,"length":13,"code":2322,"category":1,"messageText":{"messageText":"Type '{ organization_id: string; organization_alias: string; budget_id: string; metadata: {}; models: never[]; spend: number; model_spend: {}; created_at: string; created_by: string; updated_at: string; }[]' is not assignable to type 'Organization[]'.","category":1,"code":2322,"next":[{"messageText":"Type '{ organization_id: string; organization_alias: string; budget_id: string; metadata: {}; models: never[]; spend: number; model_spend: {}; created_at: string; created_by: string; updated_at: string; }' is missing the following properties from type 'Organization': updated_by, litellm_budget_table, teams, users, members","category":1,"code":2739,"canonicalHead":{"code":2322,"messageText":"Type '{ organization_id: string; organization_alias: string; budget_id: string; metadata: {}; models: never[]; spend: number; model_spend: {}; created_at: string; created_by: string; updated_at: string; }' is not assignable to type 'Organization'."}}]},"relatedInformation":[{"file":"./src/components/common_components/organizationdropdown.tsx","start":179,"length":13,"messageText":"The expected type comes from property 'organizations' which is declared here on type 'IntrinsicAttributes & OrganizationDropdownProps'","category":3,"code":6500}]}]],[3865,[{"start":221,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":265,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":376,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":454,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":589,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":667,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":802,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":880,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1023,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1104,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1445,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304}]],[3963,[{"start":2922,"length":304,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ isLoading: false; isAuthorized: true; userId: string; userRole: string; accessToken: string; token: string; userEmail: string; premiumUser: boolean; disabledPersonalKeyCreation: null; showSSOBanner: false; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ isLoading: false; isAuthorized: true; userId: string; userRole: string; accessToken: string; token: string; userEmail: string; premiumUser: boolean; disabledPersonalKeyCreation: null; showSSOBanner: false; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': userRoleLabel, isViewOnly","category":1,"code":2739}]}}]],[3969,[{"start":5143,"length":13,"code":2739,"category":1,"messageText":"Type '{ token: string; token_id: string; key_name: string; key_alias: string; spend: number; max_budget: number; expires: string; models: never[]; aliases: {}; config: {}; user_id: string; team_id: null; max_parallel_requests: number; ... 44 more ...; key_rotation_at: undefined; }' is missing the following properties from type 'KeyResponse': project_id, key_type, last_active","canonicalHead":{"code":2322,"messageText":"Type '{ token: string; token_id: string; key_name: string; key_alias: string; spend: number; max_budget: number; expires: string; models: never[]; aliases: {}; config: {}; user_id: string; team_id: null; max_parallel_requests: number; ... 44 more ...; key_rotation_at: undefined; }' is not assignable to type 'KeyResponse'."}}]],[3970,[{"start":5009,"length":14,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ accessToken: string; userId: string; userRole: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; isLoading: boolean; isAuthorized: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ accessToken: string; userId: string; userRole: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; isLoading: boolean; isAuthorized: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":10433,"length":14,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ accessToken: string; userId: string; userRole: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; isLoading: boolean; isAuthorized: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ accessToken: string; userId: string; userRole: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; isLoading: boolean; isAuthorized: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': userRoleLabel, isViewOnly","category":1,"code":2739}]}}]],[3971,[{"start":3100,"length":13,"code":2739,"category":1,"messageText":"Type '{ token: string; token_id: string; key_name: string; key_alias: string; spend: number; max_budget: number; expires: string; models: never[]; aliases: {}; config: {}; user_id: string; team_id: null; project_id: null; ... 45 more ...; key_rotation_at: undefined; }' is missing the following properties from type 'KeyResponse': key_type, last_active","canonicalHead":{"code":2322,"messageText":"Type '{ token: string; token_id: string; key_name: string; key_alias: string; spend: number; max_budget: number; expires: string; models: never[]; aliases: {}; config: {}; user_id: string; team_id: null; project_id: null; ... 45 more ...; key_rotation_at: undefined; }' is not assignable to type 'KeyResponse'."}},{"start":5501,"length":21,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ accessToken: string; userId: string; userRole: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ accessToken: string; userId: string; userRole: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":6874,"length":21,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ accessToken: string; userId: string; userRole: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ accessToken: string; userId: string; userRole: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":7548,"length":21,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ accessToken: string; userId: string; userRole: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ accessToken: string; userId: string; userRole: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":7993,"length":21,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ accessToken: string; userId: string; userRole: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ accessToken: string; userId: string; userRole: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":8654,"length":21,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ accessToken: string; userId: string; userRole: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ accessToken: string; userId: string; userRole: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":9411,"length":21,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ accessToken: string; userId: string; userRole: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ accessToken: string; userId: string; userRole: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":10043,"length":104,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ userId: string; userRole: string; accessToken: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ userId: string; userRole: string; accessToken: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":11330,"length":94,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ userId: string; userRole: string; accessToken: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ userId: string; userRole: string; accessToken: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":12106,"length":94,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ userId: string; userRole: string; accessToken: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ userId: string; userRole: string; accessToken: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":12901,"length":94,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ userId: string; userRole: string; accessToken: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ userId: string; userRole: string; accessToken: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":13663,"length":115,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ userId: string; userRole: string; accessToken: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ userId: string; userRole: string; accessToken: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":15005,"length":96,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ userId: string; userRole: string; accessToken: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ userId: string; userRole: string; accessToken: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":16135,"length":21,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ accessToken: string; userId: string; userRole: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ accessToken: string; userId: string; userRole: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":18669,"length":21,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ accessToken: string; userId: string; userRole: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ accessToken: string; userId: string; userRole: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":19912,"length":115,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ userId: string; userRole: string; accessToken: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ userId: string; userRole: string; accessToken: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":20358,"length":111,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ userId: string; userRole: string; accessToken: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ userId: string; userRole: string; accessToken: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":20814,"length":115,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ userId: string; userRole: string; accessToken: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ userId: string; userRole: string; accessToken: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":21298,"length":113,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ userId: string; userRole: string; accessToken: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ userId: string; userRole: string; accessToken: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":22406,"length":102,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ userId: string; userRole: string; accessToken: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ userId: string; userRole: string; accessToken: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":22827,"length":21,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ accessToken: string; userId: string; userRole: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ accessToken: string; userId: string; userRole: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":23458,"length":21,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ accessToken: string; userId: string; userRole: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ accessToken: string; userId: string; userRole: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":24088,"length":21,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ accessToken: string; userId: string; userRole: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ accessToken: string; userId: string; userRole: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":24671,"length":112,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ userId: string; userRole: string; accessToken: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ userId: string; userRole: string; accessToken: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":25867,"length":102,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ userId: string; userRole: string; accessToken: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ userId: string; userRole: string; accessToken: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":26622,"length":102,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ userId: string; userRole: string; accessToken: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ userId: string; userRole: string; accessToken: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":27508,"length":112,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ userId: string; userRole: string; accessToken: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ userId: string; userRole: string; accessToken: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":28369,"length":112,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ userId: string; userRole: string; accessToken: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ userId: string; userRole: string; accessToken: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":29570,"length":112,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ userId: string; userRole: string; accessToken: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ userId: string; userRole: string; accessToken: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":32974,"length":112,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ userId: string; userRole: string; accessToken: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ userId: string; userRole: string; accessToken: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":40532,"length":112,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ userId: string; userRole: string; accessToken: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ userId: string; userRole: string; accessToken: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}}]],[4022,[{"start":1980,"length":293,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ token: string; accessToken: string; userId: string; userEmail: string; userRole: string; premiumUser: boolean; disabledPersonalKeyCreation: boolean; showSSOBanner: false; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ token: string; accessToken: string; userId: string; userEmail: string; userRole: string; premiumUser: boolean; disabledPersonalKeyCreation: boolean; showSSOBanner: false; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":2424,"length":10,"code":2739,"category":1,"messageText":"Type '{ showTags: false; topKeys: never[]; accessToken: string; userID: string; userRole: string; teams: null; premiumUser: boolean; }' is missing the following properties from type 'TopKeyViewProps': topKeysLimit, setTopKeysLimit","canonicalHead":{"code":2322,"messageText":"Type '{ showTags: false; topKeys: never[]; accessToken: string; userID: string; userRole: string; teams: null; premiumUser: boolean; }' is not assignable to type 'TopKeyViewProps'."}},{"start":2638,"length":10,"code":2739,"category":1,"messageText":"Type '{ showTags: true; topKeys: never[]; accessToken: string; userID: string; userRole: string; teams: null; premiumUser: boolean; }' is missing the following properties from type 'TopKeyViewProps': topKeysLimit, setTopKeysLimit","canonicalHead":{"code":2322,"messageText":"Type '{ showTags: true; topKeys: never[]; accessToken: string; userID: string; userRole: string; teams: null; premiumUser: boolean; }' is not assignable to type 'TopKeyViewProps'."}},{"start":2857,"length":10,"code":2739,"category":1,"messageText":"Type '{ topKeys: { api_key: string; key_alias: string; tags: TagUsage[]; spend: number; }[]; showTags: true; accessToken: string; userID: string; userRole: string; teams: null; premiumUser: boolean; }' is missing the following properties from type 'TopKeyViewProps': topKeysLimit, setTopKeysLimit","canonicalHead":{"code":2322,"messageText":"Type '{ topKeys: { api_key: string; key_alias: string; tags: TagUsage[]; spend: number; }[]; showTags: true; accessToken: string; userID: string; userRole: string; teams: null; premiumUser: boolean; }' is not assignable to type 'TopKeyViewProps'."}},{"start":5736,"length":10,"code":2739,"category":1,"messageText":"Type '{ topKeys: { api_key: string; key_alias: string; tags: TagUsage[]; spend: number; }[]; showTags: true; accessToken: string; userID: string; userRole: string; teams: null; premiumUser: boolean; }' is missing the following properties from type 'TopKeyViewProps': topKeysLimit, setTopKeysLimit","canonicalHead":{"code":2322,"messageText":"Type '{ topKeys: { api_key: string; key_alias: string; tags: TagUsage[]; spend: number; }[]; showTags: true; accessToken: string; userID: string; userRole: string; teams: null; premiumUser: boolean; }' is not assignable to type 'TopKeyViewProps'."}},{"start":6118,"length":10,"code":2739,"category":1,"messageText":"Type '{ topKeys: { api_key: string; key_alias: string; tags: TagUsage[]; spend: number; }[]; showTags: true; accessToken: string; userID: string; userRole: string; teams: null; premiumUser: boolean; }' is missing the following properties from type 'TopKeyViewProps': topKeysLimit, setTopKeysLimit","canonicalHead":{"code":2322,"messageText":"Type '{ topKeys: { api_key: string; key_alias: string; tags: TagUsage[]; spend: number; }[]; showTags: true; accessToken: string; userID: string; userRole: string; teams: null; premiumUser: boolean; }' is not assignable to type 'TopKeyViewProps'."}},{"start":6926,"length":10,"code":2739,"category":1,"messageText":"Type '{ topKeys: { api_key: string; key_alias: string; tags: never[]; spend: number; }[]; showTags: true; accessToken: string; userID: string; userRole: string; teams: null; premiumUser: boolean; }' is missing the following properties from type 'TopKeyViewProps': topKeysLimit, setTopKeysLimit","canonicalHead":{"code":2322,"messageText":"Type '{ topKeys: { api_key: string; key_alias: string; tags: never[]; spend: number; }[]; showTags: true; accessToken: string; userID: string; userRole: string; teams: null; premiumUser: boolean; }' is not assignable to type 'TopKeyViewProps'."}},{"start":7351,"length":10,"code":2739,"category":1,"messageText":"Type '{ topKeys: { api_key: string; key_alias: string; tags: undefined; spend: number; }[]; showTags: true; accessToken: string; userID: string; userRole: string; teams: null; premiumUser: boolean; }' is missing the following properties from type 'TopKeyViewProps': topKeysLimit, setTopKeysLimit","canonicalHead":{"code":2322,"messageText":"Type '{ topKeys: { api_key: string; key_alias: string; tags: undefined; spend: number; }[]; showTags: true; accessToken: string; userID: string; userRole: string; teams: null; premiumUser: boolean; }' is not assignable to type 'TopKeyViewProps'."}},{"start":7757,"length":10,"code":2739,"category":1,"messageText":"Type '{ topKeys: { api_key: string; key_alias: string; tags: null; spend: number; }[]; showTags: true; accessToken: string; userID: string; userRole: string; teams: null; premiumUser: boolean; }' is missing the following properties from type 'TopKeyViewProps': topKeysLimit, setTopKeysLimit","canonicalHead":{"code":2322,"messageText":"Type '{ topKeys: { api_key: string; key_alias: string; tags: null; spend: number; }[]; showTags: true; accessToken: string; userID: string; userRole: string; teams: null; premiumUser: boolean; }' is not assignable to type 'TopKeyViewProps'."}},{"start":8309,"length":10,"code":2739,"category":1,"messageText":"Type '{ topKeys: { api_key: string; key_alias: string; tags: TagUsage[]; spend: number; }[]; showTags: true; accessToken: string; userID: string; userRole: string; teams: null; premiumUser: boolean; }' is missing the following properties from type 'TopKeyViewProps': topKeysLimit, setTopKeysLimit","canonicalHead":{"code":2322,"messageText":"Type '{ topKeys: { api_key: string; key_alias: string; tags: TagUsage[]; spend: number; }[]; showTags: true; accessToken: string; userID: string; userRole: string; teams: null; premiumUser: boolean; }' is not assignable to type 'TopKeyViewProps'."}},{"start":9294,"length":10,"code":2739,"category":1,"messageText":"Type '{ topKeys: { api_key: string; key_alias: string; tags: TagUsage[]; spend: number; }[]; showTags: true; accessToken: string; userID: string; userRole: string; teams: null; premiumUser: boolean; }' is missing the following properties from type 'TopKeyViewProps': topKeysLimit, setTopKeysLimit","canonicalHead":{"code":2322,"messageText":"Type '{ topKeys: { api_key: string; key_alias: string; tags: TagUsage[]; spend: number; }[]; showTags: true; accessToken: string; userID: string; userRole: string; teams: null; premiumUser: boolean; }' is not assignable to type 'TopKeyViewProps'."}},{"start":9836,"length":10,"code":2739,"category":1,"messageText":"Type '{ showTags: true; topKeys: never[]; accessToken: string; userID: string; userRole: string; teams: null; premiumUser: boolean; }' is missing the following properties from type 'TopKeyViewProps': topKeysLimit, setTopKeysLimit","canonicalHead":{"code":2322,"messageText":"Type '{ showTags: true; topKeys: never[]; accessToken: string; userID: string; userRole: string; teams: null; premiumUser: boolean; }' is not assignable to type 'TopKeyViewProps'."}},{"start":10256,"length":10,"code":2739,"category":1,"messageText":"Type '{ showTags: false; topKeys: never[]; accessToken: string; userID: string; userRole: string; teams: null; premiumUser: boolean; }' is missing the following properties from type 'TopKeyViewProps': topKeysLimit, setTopKeysLimit","canonicalHead":{"code":2322,"messageText":"Type '{ showTags: false; topKeys: never[]; accessToken: string; userID: string; userRole: string; teams: null; premiumUser: boolean; }' is not assignable to type 'TopKeyViewProps'."}},{"start":10874,"length":10,"code":2739,"category":1,"messageText":"Type '{ topKeys: { api_key: string; key_alias: string; tags: never[]; spend: number; }[]; showTags: true; accessToken: string; userID: string; userRole: string; teams: null; premiumUser: boolean; }' is missing the following properties from type 'TopKeyViewProps': topKeysLimit, setTopKeysLimit","canonicalHead":{"code":2322,"messageText":"Type '{ topKeys: { api_key: string; key_alias: string; tags: never[]; spend: number; }[]; showTags: true; accessToken: string; userID: string; userRole: string; teams: null; premiumUser: boolean; }' is not assignable to type 'TopKeyViewProps'."}}]]],"affectedFilesPendingEmit":[4024,2598,2600,2602,2604,2591,2765,2756,1263,1262,1261,2762,2755,2753,2764,2754,2763,2759,2758,2757,1184,2760,2790,2788,2789,2721,2806,2807,2796,2808,2794,1264,2809,2798,1266,1265,2793,2810,2811,2799,1268,2812,2797,2791,2804,2802,2805,2801,2800,2792,2795,2803,2813,2749,2814,2819,2816,2815,2818,2827,2820,2828,2824,1270,1269,2826,2822,2821,1271,2829,2823,2825,2843,2841,2844,2832,2835,2834,1272,1274,1273,2846,2847,2836,2845,2833,1275,2838,2837,2848,2839,1277,1276,2849,2850,2840,1067,2831,2842,2628,1279,1278,2947,2944,2948,2940,1282,1281,2949,2950,2945,1284,1283,2951,2941,2952,2852,2953,2942,2954,2943,2955,2851,1289,2956,1291,1293,1292,2946,2958,1304,2959,2960,1302,2961,2962,1321,2963,1317,1322,2966,1313,2967,1311,2968,1310,1345,1309,1305,1346,1312,2964,1301,1323,1318,2965,1303,1296,1343,1319,1344,1320,2957,3040,3030,3042,3041,3043,3033,3044,3036,3045,3035,3046,3034,3039,3038,3007,3008,2985,1351,2988,3018,2976,2974,3019,2977,3020,2989,3021,2990,3022,3023,2970,1352,3024,2971,2973,3025,2969,2972,3026,1638,3027,2975,3028,1353,1354,3009,2997,3010,2995,1347,1350,1349,3011,2996,3012,3013,2991,3014,1348,2979,2980,3015,2987,2978,3004,2999,2986,3001,2993,3002,2994,3003,2992,2981,3016,2982,3017,2983,3005,3006,2998,3029,2984,3000,1376,1377,1375,1378,1379,1381,1380,1095,1382,1384,1383,1408,1410,1409,1412,1411,1414,1413,1416,1415,1419,1418,1420,1089,3048,1407,1421,1423,1422,1424,1425,1427,1426,1429,1428,1431,1430,1432,1433,1435,1434,1437,1438,1436,1439,1441,1440,1442,1443,1444,1445,1446,1448,1447,1450,1449,1452,1451,1453,1455,1454,1456,1157,1458,1457,1459,1358,1462,1461,1464,1463,1466,1465,1467,1460,1469,1468,1471,1470,1473,1472,1371,1475,1474,1476,1478,1480,1479,1482,1481,1484,1483,1486,1485,1488,1487,1489,1491,1490,1493,1492,1495,1494,1496,1090,1499,1498,1500,1497,1502,1501,1355,1356,1091,1360,1362,1363,1365,1364,1367,1366,1368,1369,1359,1372,1504,1503,1506,1505,1508,1507,3047,1374,2725,2722,2720,3061,3081,3086,3126,3127,3106,1510,1509,1513,1512,3091,1515,1516,1514,3128,3103,3094,3124,3144,3107,3145,3096,3146,3115,3147,3095,3148,3110,3149,3150,3109,3151,3111,3152,3118,3153,3097,3154,3123,1518,1517,3143,1519,3131,3129,3102,3130,3114,3132,3099,3133,3108,3134,3082,3083,3136,3085,3135,3084,1521,1520,3137,3089,3087,3101,3138,3100,3139,3092,3098,1599,3088,3093,3119,1601,1600,3140,3120,3141,3090,3142,3117,3155,1511,3125,3163,3156,3164,3157,3165,3159,3158,3166,3160,3162,3161,3185,3260,3213,3261,3212,1613,1612,3264,3220,3219,3218,1615,1614,3262,3251,3211,3263,3256,1608,1607,3259,3258,3265,3230,3214,3221,3266,3250,3235,3254,3252,3246,3257,1609,1617,1616,1183,3271,3269,3270,3285,3283,3286,3282,3281,3276,3275,3284,2751,2750,3392,3414,3384,3415,3406,3416,3393,3417,3385,1619,3394,3386,3418,3387,3419,3401,3420,3405,3421,3395,3388,3422,3389,3423,3390,3424,3391,3425,3404,3399,3402,3398,3400,3403,1621,1620,3426,3411,3427,3409,3428,3407,3429,3410,3431,3430,3432,3408,1624,1623,3288,1629,1628,1631,3308,3433,3376,3434,3377,3435,3378,3436,3379,1622,3380,3381,3383,3413,3412,3457,3447,3458,3441,3459,3452,3455,3444,3443,1634,1633,3460,3450,3461,3442,3462,3445,3463,3453,3464,3439,3465,3440,3466,3449,3467,3448,3456,3438,3437,1636,1635,3468,3451,3446,3454,3479,3474,3480,3473,3481,3472,3471,3484,3485,3469,3486,3487,3470,3488,1913,1637,1915,1914,3482,3477,3483,3476,3475,3478,3517,3494,3518,3514,3513,3530,3503,3535,3508,3531,3504,3532,3507,3533,3505,1919,1920,3534,3502,3506,3522,3500,3510,3512,3523,3497,3524,3492,3525,3496,3526,3501,3527,3509,3528,3498,1916,1918,1917,3529,3511,3519,3493,3489,3516,3491,3490,3520,3495,3521,3499,3515,3537,2939,3536,3548,3549,3540,3546,3550,3538,1922,1921,3554,3555,3545,3551,3542,3541,3552,3543,3553,3544,3539,3547,3563,3556,3561,3559,3562,3558,3557,3560,3573,3567,3571,3568,3572,3564,3570,3566,3565,3569,3582,3589,3592,3591,3590,3595,3594,3593,3619,3603,3620,3604,3621,3605,3618,3606,3622,3610,1925,1927,1926,3623,3611,3624,3609,1924,1923,3608,3616,3612,3617,3614,3625,3613,1928,1290,3615,3636,3627,3639,3629,1931,1930,1932,1929,3634,3637,3626,3638,3633,3641,3642,3632,3640,3631,3630,3635,3656,3657,3652,3658,3650,3649,3666,3654,1177,3659,1176,1175,3660,3651,3661,3653,3667,3668,3648,3662,3663,3646,3664,3645,3644,3665,3647,3655,3672,3671,3670,3669,3680,3682,3685,3674,3673,3687,3678,3677,3689,3691,3690,3693,3692,2614,3695,3696,3694,3697,3698,3699,3700,3702,3701,3706,3705,3707,3708,3704,3709,3703,3710,3730,3597,2020,1082,3831,3217,3228,3824,3229,3833,3222,3834,3187,1610,3825,3216,1982,1981,1984,1983,1985,1105,3835,3191,1099,3826,1094,1986,1093,1074,1987,1103,3827,1102,3836,3223,1100,3215,3837,3225,1988,1097,3828,1098,1104,3838,3224,3839,3226,2021,3840,3227,3829,2022,3830,1101,3731,3241,3841,1639,1267,3754,3167,3760,3168,3761,3170,3762,3172,3755,3169,3756,3184,3757,3173,3179,3758,3177,3759,3176,3051,3842,3050,3711,1939,3732,3628,1877,3675,1997,3843,1996,3844,3684,1995,3679,3845,3686,3846,3683,3847,3676,3681,1989,3688,1998,1990,3848,3182,3396,1618,3849,3397,3850,1626,1627,2000,1999,3180,3178,628,3733,3598,3763,3057,3764,3765,3054,3766,3052,3053,3767,3056,1952,1951,3768,3769,3055,1417,1316,1640,2730,1641,1065,3851,2727,3852,2731,3853,3199,2723,3872,3272,3873,3273,3874,3274,2001,3875,3174,3876,3175,3854,1642,3855,2728,3856,2627,3206,3857,3198,3858,1875,3859,1874,3860,1064,3861,1940,3862,1894,3863,3240,1876,3239,3864,1880,1895,3865,1881,3866,1891,2003,2002,3867,2732,3869,1297,1893,3870,3607,3871,3195,3868,3599,2766,3712,1900,3713,2624,3714,2629,3770,3064,3771,3063,3062,3772,3067,3773,3066,3065,3715,2817,2024,2025,2023,3877,2026,2027,627,3734,3049,3774,1961,3775,1956,3776,1957,3777,1958,1963,1955,3778,1962,1964,1960,3878,2740,2028,3716,3200,3031,3779,3032,1965,3717,1314,3735,2214,1933,1165,3879,1901,1902,3881,1078,2030,2029,626,3880,1903,2032,2031,3736,3236,3737,1948,3718,2631,3882,3287,1630,3883,1079,2034,2033,3884,3382,3738,2733,2035,3885,1904,3886,1907,3887,3116,1068,1906,3888,3306,3889,1066,2037,2036,3890,3231,3891,3234,3892,3233,3232,3893,3188,3894,3249,3895,3248,3247,3896,3210,2038,3171,3253,3739,3194,3192,3780,2752,1967,1966,3897,3186,3898,1300,3899,2931,3740,2626,3782,2617,3783,2619,1968,1941,1969,3784,2620,3785,2625,3781,2622,3786,2623,1934,1182,3719,2630,625,2737,3741,1899,3902,3903,1912,2039,1910,3900,3901,2738,2041,2040,2042,1911,2045,2044,3905,3278,2047,2046,3906,3277,2043,3904,3280,1935,1950,1949,3742,3242,3787,3244,3243,3788,3245,3743,3601,2736,3907,2735,2734,3908,2741,1632,3744,3255,3745,1299,3746,3183,3181,3747,3237,3748,3238,3914,2853,3909,1882,3910,1883,3911,1886,3912,1884,3913,1885,3917,2938,3915,2937,2049,2048,3916,2936,2935,2934,2050,1477,3720,2767,3918,3201,3749,3060,1970,3789,2782,3790,2784,3791,2783,3792,2768,3793,3113,3794,3112,1972,1971,3795,2785,1973,1974,3801,2771,3802,2770,3803,2772,3804,3805,2773,3796,2774,3797,2775,3798,2778,3799,2776,3800,2777,1976,1975,3806,2779,3807,2780,3808,2781,3809,3059,3058,1977,3810,1890,3811,1887,3812,2932,1888,3814,2933,3813,1889,3037,3931,2830,3919,1897,3920,3279,3932,3600,3940,2198,3941,2199,3942,2200,3943,2197,2051,3944,2201,2203,3945,2202,3921,1942,3922,1908,1144,3933,3934,1148,3935,1150,3936,1147,3937,1152,3938,1155,3939,1154,1153,1156,1143,1954,3923,1163,2739,3947,1063,3946,1896,3196,3190,3924,1168,3925,2724,3926,1072,1878,3927,3578,3928,1892,2769,3929,1075,3948,1158,1159,3949,1160,3950,1162,3951,1164,1172,3952,1166,3953,1167,3954,1170,3955,1171,3930,2616,3815,1945,3722,1947,3721,2786,3956,3307,623,3957,3576,3575,3574,2743,3958,3959,3202,3197,3960,1879,3965,3204,2205,2204,3961,3205,3966,3203,2207,2206,3962,3209,3963,3207,2209,2208,3964,3208,2210,3724,3581,3816,3580,3579,3723,3577,2212,2211,3969,2744,3970,3971,2745,2213,2216,2215,2742,3967,2729,3968,3725,3584,3817,3583,3818,3587,1978,3819,3586,3820,3585,3726,3588,3972,1294,3973,1943,3974,1096,3975,2615,2618,3976,1069,1073,3977,2196,1151,1077,1071,1092,1308,2726,1070,632,1061,3978,1169,1944,1080,3979,1937,3980,716,1062,1149,1938,1145,1081,2613,1076,1146,1295,633,3981,1025,3982,1307,3727,2787,3728,3750,3189,3822,3268,3821,3596,1280,1980,1979,3751,3602,3752,2748,3729,2719,1106,3983,1909,3753,3643,3995,3070,3071,3984,3069,3068,2223,3985,2234,2217,3986,2233,2232,2221,3996,2220,2230,2229,3997,2231,3998,2228,3991,3992,3080,3993,3072,2218,3999,2224,4000,2253,2222,2226,4001,2256,2263,4002,2257,4003,2240,4004,2261,4005,2262,4006,2258,2250,2251,4007,2260,4008,2259,4009,1178,4010,2252,4011,2255,4012,2254,4013,2237,4014,2236,2227,2264,2241,3994,3073,3074,3987,3075,3988,3079,3078,3989,3077,2244,2249,2245,2246,2247,4015,2248,2242,2265,2243,3990,3076,2219,2235,3193,3267,2746,3823,2747,2611,1991,4016,2621,2612,1936,2271,2269,2268,2270,2267,2266,2272,4019,2275,1306,4017,3104,3105,4018,3121,3122,2273,2274,2276,1298,2279,2278,631,2282,2281,2284,2283,4020,2019,2285,2286,1288,2287,616,2288,1179,2289,1180,1181,2280,617,614,2290,2291,1357,2292,620,2293,1161,1406,1174,2294,2296,2295,2297,622,2557,2556,2559,2558,2560,1946,2561,1361,2562,2564,2563,2565,619,2566,1905,2567,1173,2568,1611,2569,2570,1625,2571,1370,2574,2573,2577,2576,2578,2575,2579,1083,2580,1084,618,2581,1373,2582,1953,2583,1060,4021,2599,2601,2603,2605,2588,2590,2592,2606,3832,2593,2597,2761,4022,613],"version":"5.9.3"} \ No newline at end of file +{"fileNames":["./node_modules/typescript/lib/lib.es5.d.ts","./node_modules/typescript/lib/lib.es2015.d.ts","./node_modules/typescript/lib/lib.es2016.d.ts","./node_modules/typescript/lib/lib.es2017.d.ts","./node_modules/typescript/lib/lib.es2018.d.ts","./node_modules/typescript/lib/lib.es2019.d.ts","./node_modules/typescript/lib/lib.es2020.d.ts","./node_modules/typescript/lib/lib.es2021.d.ts","./node_modules/typescript/lib/lib.es2022.d.ts","./node_modules/typescript/lib/lib.es2023.d.ts","./node_modules/typescript/lib/lib.es2024.d.ts","./node_modules/typescript/lib/lib.esnext.d.ts","./node_modules/typescript/lib/lib.dom.d.ts","./node_modules/typescript/lib/lib.dom.iterable.d.ts","./node_modules/typescript/lib/lib.es2015.core.d.ts","./node_modules/typescript/lib/lib.es2015.collection.d.ts","./node_modules/typescript/lib/lib.es2015.generator.d.ts","./node_modules/typescript/lib/lib.es2015.iterable.d.ts","./node_modules/typescript/lib/lib.es2015.promise.d.ts","./node_modules/typescript/lib/lib.es2015.proxy.d.ts","./node_modules/typescript/lib/lib.es2015.reflect.d.ts","./node_modules/typescript/lib/lib.es2015.symbol.d.ts","./node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","./node_modules/typescript/lib/lib.es2016.array.include.d.ts","./node_modules/typescript/lib/lib.es2016.intl.d.ts","./node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","./node_modules/typescript/lib/lib.es2017.date.d.ts","./node_modules/typescript/lib/lib.es2017.object.d.ts","./node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","./node_modules/typescript/lib/lib.es2017.string.d.ts","./node_modules/typescript/lib/lib.es2017.intl.d.ts","./node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","./node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","./node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","./node_modules/typescript/lib/lib.es2018.intl.d.ts","./node_modules/typescript/lib/lib.es2018.promise.d.ts","./node_modules/typescript/lib/lib.es2018.regexp.d.ts","./node_modules/typescript/lib/lib.es2019.array.d.ts","./node_modules/typescript/lib/lib.es2019.object.d.ts","./node_modules/typescript/lib/lib.es2019.string.d.ts","./node_modules/typescript/lib/lib.es2019.symbol.d.ts","./node_modules/typescript/lib/lib.es2019.intl.d.ts","./node_modules/typescript/lib/lib.es2020.bigint.d.ts","./node_modules/typescript/lib/lib.es2020.date.d.ts","./node_modules/typescript/lib/lib.es2020.promise.d.ts","./node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","./node_modules/typescript/lib/lib.es2020.string.d.ts","./node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","./node_modules/typescript/lib/lib.es2020.intl.d.ts","./node_modules/typescript/lib/lib.es2020.number.d.ts","./node_modules/typescript/lib/lib.es2021.promise.d.ts","./node_modules/typescript/lib/lib.es2021.string.d.ts","./node_modules/typescript/lib/lib.es2021.weakref.d.ts","./node_modules/typescript/lib/lib.es2021.intl.d.ts","./node_modules/typescript/lib/lib.es2022.array.d.ts","./node_modules/typescript/lib/lib.es2022.error.d.ts","./node_modules/typescript/lib/lib.es2022.intl.d.ts","./node_modules/typescript/lib/lib.es2022.object.d.ts","./node_modules/typescript/lib/lib.es2022.string.d.ts","./node_modules/typescript/lib/lib.es2022.regexp.d.ts","./node_modules/typescript/lib/lib.es2023.array.d.ts","./node_modules/typescript/lib/lib.es2023.collection.d.ts","./node_modules/typescript/lib/lib.es2023.intl.d.ts","./node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts","./node_modules/typescript/lib/lib.es2024.collection.d.ts","./node_modules/typescript/lib/lib.es2024.object.d.ts","./node_modules/typescript/lib/lib.es2024.promise.d.ts","./node_modules/typescript/lib/lib.es2024.regexp.d.ts","./node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts","./node_modules/typescript/lib/lib.es2024.string.d.ts","./node_modules/typescript/lib/lib.esnext.array.d.ts","./node_modules/typescript/lib/lib.esnext.collection.d.ts","./node_modules/typescript/lib/lib.esnext.intl.d.ts","./node_modules/typescript/lib/lib.esnext.disposable.d.ts","./node_modules/typescript/lib/lib.esnext.promise.d.ts","./node_modules/typescript/lib/lib.esnext.decorators.d.ts","./node_modules/typescript/lib/lib.esnext.iterator.d.ts","./node_modules/typescript/lib/lib.esnext.float16.d.ts","./node_modules/typescript/lib/lib.esnext.error.d.ts","./node_modules/typescript/lib/lib.esnext.sharedmemory.d.ts","./node_modules/typescript/lib/lib.decorators.d.ts","./node_modules/typescript/lib/lib.decorators.legacy.d.ts","./node_modules/@types/react/global.d.ts","./node_modules/csstype/index.d.ts","./node_modules/@types/react/index.d.ts","./node_modules/next/dist/styled-jsx/types/css.d.ts","./node_modules/next/dist/styled-jsx/types/macro.d.ts","./node_modules/next/dist/styled-jsx/types/style.d.ts","./node_modules/next/dist/styled-jsx/types/global.d.ts","./node_modules/next/dist/styled-jsx/types/index.d.ts","./node_modules/next/dist/server/get-page-files.d.ts","./node_modules/@types/node/compatibility/disposable.d.ts","./node_modules/@types/node/compatibility/indexable.d.ts","./node_modules/@types/node/compatibility/iterators.d.ts","./node_modules/@types/node/compatibility/index.d.ts","./node_modules/@types/node/globals.typedarray.d.ts","./node_modules/@types/node/buffer.buffer.d.ts","./node_modules/@types/node/globals.d.ts","./node_modules/@types/node/web-globals/abortcontroller.d.ts","./node_modules/@types/node/web-globals/domexception.d.ts","./node_modules/@types/node/web-globals/events.d.ts","./node_modules/undici-types/header.d.ts","./node_modules/undici-types/readable.d.ts","./node_modules/undici-types/file.d.ts","./node_modules/undici-types/fetch.d.ts","./node_modules/undici-types/formdata.d.ts","./node_modules/undici-types/connector.d.ts","./node_modules/undici-types/client.d.ts","./node_modules/undici-types/errors.d.ts","./node_modules/undici-types/dispatcher.d.ts","./node_modules/undici-types/global-dispatcher.d.ts","./node_modules/undici-types/global-origin.d.ts","./node_modules/undici-types/pool-stats.d.ts","./node_modules/undici-types/pool.d.ts","./node_modules/undici-types/handlers.d.ts","./node_modules/undici-types/balanced-pool.d.ts","./node_modules/undici-types/agent.d.ts","./node_modules/undici-types/mock-interceptor.d.ts","./node_modules/undici-types/mock-agent.d.ts","./node_modules/undici-types/mock-client.d.ts","./node_modules/undici-types/mock-pool.d.ts","./node_modules/undici-types/mock-errors.d.ts","./node_modules/undici-types/proxy-agent.d.ts","./node_modules/undici-types/env-http-proxy-agent.d.ts","./node_modules/undici-types/retry-handler.d.ts","./node_modules/undici-types/retry-agent.d.ts","./node_modules/undici-types/api.d.ts","./node_modules/undici-types/interceptors.d.ts","./node_modules/undici-types/util.d.ts","./node_modules/undici-types/cookies.d.ts","./node_modules/undici-types/patch.d.ts","./node_modules/undici-types/websocket.d.ts","./node_modules/undici-types/eventsource.d.ts","./node_modules/undici-types/filereader.d.ts","./node_modules/undici-types/diagnostics-channel.d.ts","./node_modules/undici-types/content-type.d.ts","./node_modules/undici-types/cache.d.ts","./node_modules/undici-types/index.d.ts","./node_modules/@types/node/web-globals/fetch.d.ts","./node_modules/@types/node/assert.d.ts","./node_modules/@types/node/assert/strict.d.ts","./node_modules/@types/node/async_hooks.d.ts","./node_modules/@types/node/buffer.d.ts","./node_modules/@types/node/child_process.d.ts","./node_modules/@types/node/cluster.d.ts","./node_modules/@types/node/console.d.ts","./node_modules/@types/node/constants.d.ts","./node_modules/@types/node/crypto.d.ts","./node_modules/@types/node/dgram.d.ts","./node_modules/@types/node/diagnostics_channel.d.ts","./node_modules/@types/node/dns.d.ts","./node_modules/@types/node/dns/promises.d.ts","./node_modules/@types/node/domain.d.ts","./node_modules/@types/node/events.d.ts","./node_modules/@types/node/fs.d.ts","./node_modules/@types/node/fs/promises.d.ts","./node_modules/@types/node/http.d.ts","./node_modules/@types/node/http2.d.ts","./node_modules/@types/node/https.d.ts","./node_modules/@types/node/inspector.generated.d.ts","./node_modules/@types/node/module.d.ts","./node_modules/@types/node/net.d.ts","./node_modules/@types/node/os.d.ts","./node_modules/@types/node/path.d.ts","./node_modules/@types/node/perf_hooks.d.ts","./node_modules/@types/node/process.d.ts","./node_modules/@types/node/punycode.d.ts","./node_modules/@types/node/querystring.d.ts","./node_modules/@types/node/readline.d.ts","./node_modules/@types/node/readline/promises.d.ts","./node_modules/@types/node/repl.d.ts","./node_modules/@types/node/sea.d.ts","./node_modules/@types/node/stream.d.ts","./node_modules/@types/node/stream/promises.d.ts","./node_modules/@types/node/stream/consumers.d.ts","./node_modules/@types/node/stream/web.d.ts","./node_modules/@types/node/string_decoder.d.ts","./node_modules/@types/node/test.d.ts","./node_modules/@types/node/timers.d.ts","./node_modules/@types/node/timers/promises.d.ts","./node_modules/@types/node/tls.d.ts","./node_modules/@types/node/trace_events.d.ts","./node_modules/@types/node/tty.d.ts","./node_modules/@types/node/url.d.ts","./node_modules/@types/node/util.d.ts","./node_modules/@types/node/v8.d.ts","./node_modules/@types/node/vm.d.ts","./node_modules/@types/node/wasi.d.ts","./node_modules/@types/node/worker_threads.d.ts","./node_modules/@types/node/zlib.d.ts","./node_modules/@types/node/index.d.ts","./node_modules/@types/react/canary.d.ts","./node_modules/@types/react/experimental.d.ts","./node_modules/@types/react-dom/index.d.ts","./node_modules/@types/react-dom/canary.d.ts","./node_modules/@types/react-dom/experimental.d.ts","./node_modules/next/dist/lib/fallback.d.ts","./node_modules/next/dist/compiled/webpack/webpack.d.ts","./node_modules/next/dist/shared/lib/modern-browserslist-target.d.ts","./node_modules/next/dist/shared/lib/entry-constants.d.ts","./node_modules/next/dist/shared/lib/constants.d.ts","./node_modules/next/dist/lib/bundler.d.ts","./node_modules/next/dist/server/config.d.ts","./node_modules/next/dist/lib/load-custom-routes.d.ts","./node_modules/next/dist/shared/lib/image-config.d.ts","./node_modules/next/dist/build/webpack/plugins/subresource-integrity-plugin.d.ts","./node_modules/next/dist/server/body-streams.d.ts","./node_modules/next/dist/server/request/search-params.d.ts","./node_modules/next/dist/shared/lib/segment-cache/vary-params-decoding.d.ts","./node_modules/next/dist/server/app-render/vary-params.d.ts","./node_modules/next/dist/server/request/params.d.ts","./node_modules/next/dist/server/route-kind.d.ts","./node_modules/next/dist/server/route-definitions/route-definition.d.ts","./node_modules/next/dist/server/route-matches/route-match.d.ts","./node_modules/next/dist/client/components/app-router-headers.d.ts","./node_modules/next/dist/server/lib/cache-control.d.ts","./node_modules/next/dist/shared/lib/app-router-types.d.ts","./node_modules/next/dist/server/lib/cache-handlers/types.d.ts","./node_modules/next/dist/server/use-cache/use-cache-wrapper.d.ts","./node_modules/next/dist/server/resume-data-cache/cache-store.d.ts","./node_modules/next/dist/server/resume-data-cache/resume-data-cache.d.ts","./node_modules/next/dist/lib/constants.d.ts","./node_modules/next/dist/server/render-result.d.ts","./node_modules/next/dist/server/response-cache/types.d.ts","./node_modules/next/dist/server/response-cache/index.d.ts","./node_modules/@types/react/jsx-runtime.d.ts","./node_modules/next/dist/next-devtools/userspace/pages/pages-dev-overlay-setup.d.ts","./node_modules/next/dist/build/static-paths/types.d.ts","./node_modules/next/dist/server/route-definitions/app-page-route-definition.d.ts","./node_modules/next/dist/build/adapter/setup-node-env.external.d.ts","./node_modules/next/dist/server/instrumentation/types.d.ts","./node_modules/next/dist/lib/setup-exception-listeners.d.ts","./node_modules/next/dist/lib/worker.d.ts","./node_modules/next/dist/server/lib/experimental/ppr.d.ts","./node_modules/next/dist/lib/page-types.d.ts","./node_modules/next/dist/build/segment-config/app/app-segment-config.d.ts","./node_modules/next/dist/build/segment-config/pages/pages-segment-config.d.ts","./node_modules/next/dist/build/analysis/get-page-static-info.d.ts","./node_modules/next/dist/build/webpack/loaders/get-module-build-info.d.ts","./node_modules/next/dist/build/webpack/plugins/middleware-plugin.d.ts","./node_modules/next/dist/server/require-hook.d.ts","./node_modules/next/dist/server/node-polyfill-crypto.d.ts","./node_modules/next/dist/server/node-environment-baseline.d.ts","./node_modules/next/dist/server/node-environment-extensions/error-inspect.d.ts","./node_modules/next/dist/server/node-environment-extensions/console-file.d.ts","./node_modules/next/dist/server/node-environment-extensions/console-exit.d.ts","./node_modules/next/dist/server/node-environment-extensions/console-dim.external.d.ts","./node_modules/next/dist/server/node-environment-extensions/unhandled-rejection.external.d.ts","./node_modules/next/dist/server/node-environment-extensions/random.d.ts","./node_modules/next/dist/server/node-environment-extensions/date.d.ts","./node_modules/next/dist/server/node-environment-extensions/web-crypto.d.ts","./node_modules/next/dist/server/node-environment-extensions/node-crypto.d.ts","./node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.d.ts","./node_modules/next/dist/server/node-environment.d.ts","./node_modules/next/dist/build/page-extensions-type.d.ts","./node_modules/next/dist/server/route-modules/app-page/module.compiled.d.ts","./node_modules/next/dist/server/route-definitions/app-route-route-definition.d.ts","./node_modules/next/dist/server/lib/i18n-provider.d.ts","./node_modules/next/dist/server/web/next-url.d.ts","./node_modules/next/dist/compiled/@edge-runtime/cookies/index.d.ts","./node_modules/next/dist/server/web/spec-extension/cookies.d.ts","./node_modules/next/dist/server/web/spec-extension/request.d.ts","./node_modules/next/dist/shared/lib/deep-readonly.d.ts","./node_modules/next/dist/server/lib/incremental-cache/index.d.ts","./node_modules/next/dist/shared/lib/router/utils/middleware-route-matcher.d.ts","./node_modules/next/dist/build/webpack/plugins/flight-manifest-plugin.d.ts","./node_modules/next/dist/build/webpack/plugins/next-font-manifest-plugin.d.ts","./node_modules/next/dist/server/route-definitions/locale-route-definition.d.ts","./node_modules/next/dist/server/route-definitions/pages-route-definition.d.ts","./node_modules/next/dist/shared/lib/mitt.d.ts","./node_modules/next/dist/client/with-router.d.ts","./node_modules/next/dist/client/router.d.ts","./node_modules/next/dist/client/route-loader.d.ts","./node_modules/next/dist/client/page-loader.d.ts","./node_modules/next/dist/shared/lib/bloom-filter.d.ts","./node_modules/next/dist/shared/lib/router/router.d.ts","./node_modules/next/dist/shared/lib/router-context.shared-runtime.d.ts","./node_modules/next/dist/shared/lib/loadable-context.shared-runtime.d.ts","./node_modules/next/dist/shared/lib/loadable.shared-runtime.d.ts","./node_modules/next/dist/shared/lib/image-config-context.shared-runtime.d.ts","./node_modules/next/dist/client/components/readonly-url-search-params.d.ts","./node_modules/next/dist/shared/lib/hooks-client-context.shared-runtime.d.ts","./node_modules/next/dist/shared/lib/head-manager-context.shared-runtime.d.ts","./node_modules/next/dist/client/flight-data-helpers.d.ts","./node_modules/next/dist/client/components/segment-cache/cache-key.d.ts","./node_modules/next/dist/client/components/router-reducer/fetch-server-response.d.ts","./node_modules/next/dist/client/components/segment-cache/types.d.ts","./node_modules/next/dist/shared/lib/segment-cache/segment-value-encoding.d.ts","./node_modules/next/dist/client/components/segment-cache/scheduler.d.ts","./node_modules/next/dist/client/components/segment-cache/cache-map.d.ts","./node_modules/next/dist/client/components/segment-cache/vary-path.d.ts","./node_modules/next/dist/client/components/segment-cache/cache.d.ts","./node_modules/next/dist/client/components/router-reducer/ppr-navigations.d.ts","./node_modules/next/dist/client/components/segment-cache/navigation.d.ts","./node_modules/next/dist/client/components/router-reducer/router-reducer-types.d.ts","./node_modules/next/dist/shared/lib/app-router-context.shared-runtime.d.ts","./node_modules/next/dist/shared/lib/server-inserted-html.shared-runtime.d.ts","./node_modules/next/dist/server/route-modules/pages/vendored/contexts/entrypoints.d.ts","./node_modules/next/dist/server/route-modules/pages/module.compiled.d.ts","./node_modules/next/dist/build/templates/pages.d.ts","./node_modules/next/dist/server/route-modules/pages/module.d.ts","./node_modules/next/dist/server/render.d.ts","./node_modules/next/dist/build/webpack/plugins/pages-manifest-plugin.d.ts","./node_modules/next/dist/server/route-definitions/pages-api-route-definition.d.ts","./node_modules/next/dist/server/route-matches/pages-api-route-match.d.ts","./node_modules/next/dist/server/route-matchers/route-matcher.d.ts","./node_modules/next/dist/server/route-matcher-providers/route-matcher-provider.d.ts","./node_modules/next/dist/server/route-matcher-managers/route-matcher-manager.d.ts","./node_modules/next/dist/server/normalizers/normalizer.d.ts","./node_modules/next/dist/server/normalizers/locale-route-normalizer.d.ts","./node_modules/next/dist/server/normalizers/request/pathname-normalizer.d.ts","./node_modules/next/dist/server/normalizers/request/suffix.d.ts","./node_modules/next/dist/server/normalizers/request/rsc.d.ts","./node_modules/next/dist/server/normalizers/request/next-data.d.ts","./node_modules/next/dist/server/after/builtin-request-context.d.ts","./node_modules/next/dist/server/normalizers/request/segment-prefix-rsc.d.ts","./node_modules/next/dist/server/route-modules/pages/builtin/_error.d.ts","./node_modules/next/dist/server/load-default-error-components.d.ts","./node_modules/next/dist/server/base-server.d.ts","./node_modules/next/dist/server/after/after.d.ts","./node_modules/next/dist/server/after/after-context.d.ts","./node_modules/next/dist/server/use-cache/cache-life.d.ts","./node_modules/next/dist/server/app-render/work-async-storage-instance.d.ts","./node_modules/next/dist/server/lib/lazy-result.d.ts","./node_modules/next/dist/server/app-render/create-error-handler.d.ts","./node_modules/next/dist/shared/lib/action-revalidation-kind.d.ts","./node_modules/next/dist/server/app-render/work-async-storage.external.d.ts","./node_modules/next/dist/server/async-storage/work-store.d.ts","./node_modules/next/dist/server/web/http.d.ts","./node_modules/next/dist/client/components/hooks-server-context.d.ts","./node_modules/next/dist/server/route-modules/app-route/shared-modules.d.ts","./node_modules/next/dist/client/components/redirect-status-code.d.ts","./node_modules/next/dist/client/components/redirect-error.d.ts","./node_modules/next/dist/server/web/spec-extension/adapters/request-cookies.d.ts","./node_modules/next/dist/server/async-storage/draft-mode-provider.d.ts","./node_modules/next/dist/server/web/spec-extension/adapters/headers.d.ts","./node_modules/next/dist/server/app-render/cache-signal.d.ts","./node_modules/next/dist/server/app-render/instant-validation/boundary-tracking.d.ts","./node_modules/next/dist/server/app-render/instant-validation/instant-validation-error.d.ts","./node_modules/next/dist/shared/lib/router/utils/parse-relative-url.d.ts","./node_modules/next/dist/server/app-render/instant-validation/instant-samples.d.ts","./node_modules/next/dist/server/app-render/dynamic-rendering.d.ts","./node_modules/next/dist/server/app-render/work-unit-async-storage-instance.d.ts","./node_modules/next/dist/server/lib/implicit-tags.d.ts","./node_modules/next/dist/server/app-render/staged-rendering.d.ts","./node_modules/next/dist/server/app-render/work-unit-async-storage.external.d.ts","./node_modules/next/dist/build/templates/app-route.d.ts","./node_modules/next/dist/server/app-render/action-async-storage-instance.d.ts","./node_modules/next/dist/server/app-render/action-async-storage.external.d.ts","./node_modules/next/dist/server/route-modules/app-route/module.d.ts","./node_modules/next/dist/server/route-modules/app-route/module.compiled.d.ts","./node_modules/next/dist/build/segment-config/app/app-segments.d.ts","./node_modules/next/dist/build/get-supported-browsers.d.ts","./node_modules/next/dist/build/utils.d.ts","./node_modules/next/dist/build/rendering-mode.d.ts","./node_modules/next/dist/server/lib/router-utils/build-prefetch-segment-data-route.d.ts","./node_modules/next/dist/server/lib/cpu-profile.d.ts","./node_modules/next/dist/build/turborepo-access-trace/types.d.ts","./node_modules/next/dist/build/turborepo-access-trace/result.d.ts","./node_modules/next/dist/build/turborepo-access-trace/helpers.d.ts","./node_modules/next/dist/build/turborepo-access-trace/index.d.ts","./node_modules/next/dist/export/routes/types.d.ts","./node_modules/next/dist/export/types.d.ts","./node_modules/next/dist/export/worker.d.ts","./node_modules/next/dist/build/worker.d.ts","./node_modules/next/dist/build/index.d.ts","./node_modules/next/dist/lib/coalesced-function.d.ts","./node_modules/next/dist/server/lib/router-utils/types.d.ts","./node_modules/next/dist/trace/types.d.ts","./node_modules/next/dist/trace/trace.d.ts","./node_modules/next/dist/trace/shared.d.ts","./node_modules/next/dist/trace/index.d.ts","./node_modules/next/dist/build/load-jsconfig.d.ts","./node_modules/@next/env/dist/index.d.ts","./node_modules/next/dist/build/webpack/plugins/telemetry-plugin/use-cache-tracker-utils.d.ts","./node_modules/next/dist/build/webpack/plugins/telemetry-plugin/telemetry-plugin.d.ts","./node_modules/next/dist/telemetry/storage.d.ts","./node_modules/next/dist/build/build-context.d.ts","./node_modules/next/dist/build/webpack-config.d.ts","./node_modules/next/dist/build/swc/generated-native.d.ts","./node_modules/next/dist/build/define-env.d.ts","./node_modules/next/dist/build/swc/index.d.ts","./node_modules/next/dist/build/swc/types.d.ts","./node_modules/next/dist/server/dev/parse-version-info.d.ts","./node_modules/next/dist/next-devtools/shared/types.d.ts","./node_modules/next/dist/server/dev/dev-indicator-server-state.d.ts","./node_modules/next/dist/next-devtools/dev-overlay/cache-indicator.d.ts","./node_modules/next/dist/server/lib/parse-stack.d.ts","./node_modules/next/dist/next-devtools/server/shared.d.ts","./node_modules/next/dist/next-devtools/shared/stack-frame.d.ts","./node_modules/next/dist/next-devtools/dev-overlay/utils/get-error-by-type.d.ts","./node_modules/next/dist/next-devtools/dev-overlay/container/runtime-error/render-error.d.ts","./node_modules/next/dist/next-devtools/dev-overlay/shared.d.ts","./node_modules/next/dist/server/dev/debug-channel.d.ts","./node_modules/next/dist/server/dev/hot-reloader-types.d.ts","./node_modules/next/dist/server/web/spec-extension/fetch-event.d.ts","./node_modules/next/dist/server/web/spec-extension/response.d.ts","./node_modules/next/dist/build/segment-config/middleware/middleware-config.d.ts","./node_modules/next/dist/server/web/types.d.ts","./node_modules/next/dist/shared/lib/router/utils/parse-url.d.ts","./node_modules/next/dist/server/base-http/node.d.ts","./node_modules/next/dist/server/lib/async-callback-set.d.ts","./node_modules/next/dist/shared/lib/router/utils/route-regex.d.ts","./node_modules/next/dist/shared/lib/router/utils/route-matcher.d.ts","./node_modules/@img/colour/index.d.ts","./node_modules/sharp/dist/index.d.mts","./node_modules/next/dist/server/image-optimizer.d.ts","./node_modules/next/dist/server/next-server.d.ts","./node_modules/next/dist/server/lib/types.d.ts","./node_modules/next/dist/server/lib/lru-cache.d.ts","./node_modules/next/dist/server/lib/dev-bundler-service.d.ts","./node_modules/next/dist/server/dev/static-paths-worker.d.ts","./node_modules/next/dist/server/dev/next-dev-server.d.ts","./node_modules/next/dist/server/next.d.ts","./node_modules/next/dist/server/lib/render-server.d.ts","./node_modules/next/dist/server/lib/router-server.d.ts","./node_modules/next/dist/shared/lib/router/utils/path-match.d.ts","./node_modules/next/dist/server/lib/router-utils/filesystem.d.ts","./node_modules/next/dist/server/lib/router-utils/setup-dev-bundler.d.ts","./node_modules/next/dist/server/lib/router-utils/router-server-context.d.ts","./node_modules/next/dist/server/route-modules/route-module.d.ts","./node_modules/next/dist/server/load-components.d.ts","./node_modules/next/dist/server/web/adapter.d.ts","./node_modules/next/dist/server/app-render/types.d.ts","./node_modules/next/dist/build/webpack/loaders/metadata/types.d.ts","./node_modules/next/dist/build/webpack/loaders/next-app-loader/index.d.ts","./node_modules/next/dist/server/lib/app-dir-module.d.ts","./node_modules/next/dist/server/app-render/app-render.d.ts","./node_modules/next/dist/server/route-modules/app-page/vendored/contexts/entrypoints.d.ts","./node_modules/next/dist/client/components/error-boundary.d.ts","./node_modules/next/dist/client/components/layout-router.d.ts","./node_modules/next/dist/client/components/render-from-template-context.d.ts","./node_modules/next/dist/client/components/client-page.d.ts","./node_modules/next/dist/client/components/client-segment.d.ts","./node_modules/next/dist/client/components/http-access-fallback/error-boundary.d.ts","./node_modules/next/dist/lib/metadata/types/alternative-urls-types.d.ts","./node_modules/next/dist/lib/metadata/types/extra-types.d.ts","./node_modules/next/dist/lib/metadata/types/metadata-types.d.ts","./node_modules/next/dist/lib/metadata/types/manifest-types.d.ts","./node_modules/next/dist/lib/metadata/types/opengraph-types.d.ts","./node_modules/next/dist/lib/metadata/types/twitter-types.d.ts","./node_modules/next/dist/lib/metadata/types/metadata-interface.d.ts","./node_modules/next/dist/lib/metadata/types/resolvers.d.ts","./node_modules/next/dist/lib/metadata/types/icons.d.ts","./node_modules/next/dist/lib/metadata/resolve-metadata.d.ts","./node_modules/next/dist/lib/metadata/metadata.d.ts","./node_modules/next/dist/lib/framework/boundary-components.d.ts","./node_modules/next/dist/server/app-render/rsc/preloads.d.ts","./node_modules/next/dist/server/app-render/rsc/postpone.d.ts","./node_modules/next/dist/server/app-render/rsc/taint.d.ts","./node_modules/next/dist/server/app-render/collect-segment-data.d.ts","./node_modules/next/dist/server/app-render/instant-validation/instant-validation.d.ts","./node_modules/next/dist/next-devtools/userspace/app/segment-explorer-node.d.ts","./node_modules/next/dist/server/app-render/entry-base.d.ts","./node_modules/next/dist/build/templates/app-page.d.ts","./node_modules/next/dist/server/route-modules/app-page/helpers/prerender-manifest-matcher.d.ts","./node_modules/@types/react/jsx-dev-runtime.d.ts","./node_modules/@types/react/compiler-runtime.d.ts","./node_modules/next/dist/server/route-modules/app-page/vendored/rsc/entrypoints.d.ts","./node_modules/@types/react-dom/client.d.ts","./node_modules/@types/react-dom/static.d.ts","./node_modules/@types/react-dom/server.d.ts","./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/entrypoints.d.ts","./node_modules/next/dist/server/route-modules/app-page/module.d.ts","./node_modules/next/dist/server/request/fallback-params.d.ts","./node_modules/next/dist/server/web/spec-extension/image-response.d.ts","./node_modules/next/dist/server/web/spec-extension/user-agent.d.ts","./node_modules/next/dist/server/web/spec-extension/url-pattern.d.ts","./node_modules/next/dist/server/after/index.d.ts","./node_modules/next/dist/server/request/connection.d.ts","./node_modules/next/dist/server/web/exports/index.d.ts","./node_modules/next/dist/server/request-meta.d.ts","./node_modules/next/dist/cli/next-test.d.ts","./node_modules/next/dist/shared/lib/size-limit.d.ts","./node_modules/next/dist/server/config-shared.d.ts","./node_modules/next/dist/server/base-http/index.d.ts","./node_modules/next/dist/server/api-utils/index.d.ts","./node_modules/next/dist/build/adapter/build-complete.d.ts","./node_modules/next/dist/types.d.ts","./node_modules/next/dist/shared/lib/html-context.shared-runtime.d.ts","./node_modules/next/dist/shared/lib/utils.d.ts","./node_modules/next/dist/pages/_app.d.ts","./node_modules/next/app.d.ts","./node_modules/next/dist/server/web/spec-extension/unstable-cache.d.ts","./node_modules/next/dist/server/web/spec-extension/revalidate.d.ts","./node_modules/next/dist/server/web/spec-extension/unstable-no-store.d.ts","./node_modules/next/dist/server/use-cache/cache-tag.d.ts","./node_modules/next/cache.d.ts","./node_modules/next/dist/pages/_document.d.ts","./node_modules/next/document.d.ts","./node_modules/next/dist/shared/lib/dynamic.d.ts","./node_modules/next/dynamic.d.ts","./node_modules/next/dist/pages/_error.d.ts","./node_modules/next/dist/client/components/catch-error.d.ts","./node_modules/next/dist/api/error.d.ts","./node_modules/next/error.d.ts","./node_modules/next/dist/shared/lib/head.d.ts","./node_modules/next/head.d.ts","./node_modules/next/dist/server/request/cookies.d.ts","./node_modules/next/dist/server/request/headers.d.ts","./node_modules/next/dist/server/request/draft-mode.d.ts","./node_modules/next/headers.d.ts","./node_modules/next/dist/shared/lib/get-img-props.d.ts","./node_modules/next/dist/client/image-component.d.ts","./node_modules/next/dist/shared/lib/image-external.d.ts","./node_modules/next/image.d.ts","./node_modules/next/dist/client/link.d.ts","./node_modules/next/link.d.ts","./node_modules/next/dist/client/components/unrecognized-action-error.d.ts","./node_modules/next/dist/client/components/redirect.d.ts","./node_modules/next/dist/client/components/not-found.d.ts","./node_modules/next/dist/client/components/forbidden.d.ts","./node_modules/next/dist/client/components/unauthorized.d.ts","./node_modules/next/dist/client/components/unstable-rethrow.server.d.ts","./node_modules/next/dist/client/components/unstable-rethrow.d.ts","./node_modules/next/dist/client/components/navigation.react-server.d.ts","./node_modules/next/dist/client/components/navigation.d.ts","./node_modules/next/navigation.d.ts","./node_modules/next/router.d.ts","./node_modules/next/dist/client/script.d.ts","./node_modules/next/script.d.ts","./node_modules/next/dist/compiled/@edge-runtime/primitives/url.d.ts","./node_modules/next/dist/compiled/@vercel/og/satori/index.d.ts","./node_modules/next/dist/compiled/@vercel/og/types.d.ts","./node_modules/next/server.d.ts","./node_modules/next/types/global.d.ts","./node_modules/next/types/compiled.d.ts","./node_modules/next/types.d.ts","./node_modules/next/index.d.ts","./node_modules/next/image-types/global.d.ts","./.next/types/routes.d.ts","./next-env.d.ts","./node_modules/@vitest/spy/dist/index.d.ts","./node_modules/@vitest/pretty-format/dist/index.d.ts","./node_modules/@vitest/utils/dist/types.d.ts","./node_modules/@vitest/utils/dist/helpers.d.ts","./node_modules/tinyrainbow/dist/index-8b61d5bc.d.ts","./node_modules/tinyrainbow/dist/node.d.ts","./node_modules/@vitest/utils/dist/index.d.ts","./node_modules/@vitest/utils/dist/types.d-bcelap-c.d.ts","./node_modules/@vitest/utils/dist/diff.d.ts","./node_modules/@vitest/expect/dist/index.d.ts","./node_modules/vite/types/hmrpayload.d.ts","./node_modules/vite/dist/node/chunks/modulerunnertransport.d.ts","./node_modules/vite/types/customevent.d.ts","./node_modules/@types/estree/index.d.ts","./node_modules/rollup/dist/rollup.d.ts","./node_modules/rollup/dist/parseast.d.ts","./node_modules/vite/types/hot.d.ts","./node_modules/vite/dist/node/module-runner.d.ts","./node_modules/esbuild/lib/main.d.ts","./node_modules/vite/types/internal/terseroptions.d.ts","./node_modules/source-map-js/source-map.d.ts","./node_modules/postcss/lib/previous-map.d.ts","./node_modules/postcss/lib/input.d.ts","./node_modules/postcss/lib/css-syntax-error.d.ts","./node_modules/postcss/lib/declaration.d.ts","./node_modules/postcss/lib/root.d.ts","./node_modules/postcss/lib/warning.d.ts","./node_modules/postcss/lib/lazy-result.d.ts","./node_modules/postcss/lib/no-work-result.d.ts","./node_modules/postcss/lib/processor.d.ts","./node_modules/postcss/lib/result.d.ts","./node_modules/postcss/lib/document.d.ts","./node_modules/postcss/lib/rule.d.ts","./node_modules/postcss/lib/node.d.ts","./node_modules/postcss/lib/comment.d.ts","./node_modules/postcss/lib/container.d.ts","./node_modules/postcss/lib/at-rule.d.ts","./node_modules/postcss/lib/list.d.ts","./node_modules/postcss/lib/postcss.d.ts","./node_modules/postcss/lib/postcss.d.mts","./node_modules/vite/types/internal/csspreprocessoroptions.d.ts","./node_modules/lightningcss/node/ast.d.ts","./node_modules/lightningcss/node/targets.d.ts","./node_modules/lightningcss/node/index.d.ts","./node_modules/vite/types/internal/lightningcssoptions.d.ts","./node_modules/vite/types/importglob.d.ts","./node_modules/vite/types/metadata.d.ts","./node_modules/vite/dist/node/index.d.ts","./node_modules/@vitest/runner/dist/tasks.d-cksck4of.d.ts","./node_modules/@vitest/runner/dist/types.d.ts","./node_modules/@vitest/utils/dist/error.d.ts","./node_modules/@vitest/runner/dist/index.d.ts","./node_modules/vitest/optional-types.d.ts","./node_modules/vitest/dist/chunks/environment.d.cl3nlxbe.d.ts","./node_modules/@vitest/mocker/dist/registry.d-d765pazg.d.ts","./node_modules/@vitest/mocker/dist/types.d-d_arzrdy.d.ts","./node_modules/@vitest/mocker/dist/index.d.ts","./node_modules/@vitest/utils/dist/source-map.d.ts","./node_modules/vite-node/dist/trace-mapping.d-dlvdeqop.d.ts","./node_modules/vite-node/dist/index.d-dgmxd2u7.d.ts","./node_modules/vite-node/dist/index.d.ts","./node_modules/@vitest/snapshot/dist/environment.d-dhdq1csl.d.ts","./node_modules/@vitest/snapshot/dist/rawsnapshot.d-lfsmjfud.d.ts","./node_modules/@vitest/snapshot/dist/index.d.ts","./node_modules/@vitest/snapshot/dist/environment.d.ts","./node_modules/vitest/dist/chunks/config.d.bkdhh7zx.d.ts","./node_modules/vitest/dist/chunks/worker.d.cugipz9v.d.ts","./node_modules/@types/deep-eql/index.d.ts","./node_modules/assertion-error/index.d.ts","./node_modules/@types/chai/index.d.ts","./node_modules/@vitest/runner/dist/utils.d.ts","./node_modules/tinybench/dist/index.d.ts","./node_modules/vitest/dist/chunks/benchmark.d.bwvbvtda.d.ts","./node_modules/vite-node/dist/client.d.ts","./node_modules/vitest/dist/chunks/coverage.d.s9rmnxie.d.ts","./node_modules/@vitest/snapshot/dist/manager.d.ts","./node_modules/vitest/dist/chunks/reporters.d.buron0i0.d.ts","./node_modules/vitest/dist/chunks/vite.d.bnoppc46.d.ts","./node_modules/vitest/dist/config.d.ts","./node_modules/vitest/config.d.ts","./vitest.config.ts","./src/types.ts","./node_modules/sonner/dist/index.d.mts","./src/lib/http/client.ts","./src/lib/toast.ts","./src/utils/securestorage.ts","./src/utils/mcptokenstore.ts","./src/utils/cookieutils.ts","./node_modules/jwt-decode/build/esm/index.d.ts","./src/utils/jwtutils.ts","./src/components/tag_management/types.tsx","./src/lib/http/schema.d.ts","./src/components/object_permission_types.ts","./node_modules/@base-ui/react/internals/reason-parts.d.mts","./node_modules/@base-ui/react/internals/reasons.d.mts","./node_modules/@base-ui/react/internals/createbaseuieventdetails.d.mts","./node_modules/@base-ui/react/types/index.d.mts","./node_modules/@base-ui/react/internals/types.d.mts","./node_modules/@base-ui/react/accordion/root/accordionroot.d.mts","./node_modules/@base-ui/react/internals/usetransitionstatus.d.mts","./node_modules/@base-ui/react/collapsible/root/collapsibleroot.d.mts","./node_modules/@base-ui/react/collapsible/root/usecollapsibleroot.d.mts","./node_modules/@base-ui/react/accordion/item/accordionitem.d.mts","./node_modules/@base-ui/react/accordion/header/accordionheader.d.mts","./node_modules/@base-ui/react/accordion/trigger/accordiontrigger.d.mts","./node_modules/@base-ui/react/accordion/panel/accordionpanel.d.mts","./node_modules/@base-ui/react/accordion/index.parts.d.mts","./node_modules/@base-ui/react/accordion/index.d.mts","./node_modules/reselect/dist/reselect.d.ts","./node_modules/@base-ui/utils/store/createselector.d.mts","./node_modules/@base-ui/utils/store/createselectormemoized.d.mts","./node_modules/@base-ui/utils/fasthooks.d.mts","./node_modules/@base-ui/utils/store/store.d.mts","./node_modules/@base-ui/utils/store/usestore.d.mts","./node_modules/@base-ui/utils/store/reactstore.d.mts","./node_modules/@base-ui/utils/store/storeinspector.d.mts","./node_modules/@base-ui/utils/store/index.d.mts","./node_modules/@base-ui/utils/useenhancedclickhandler.d.mts","./node_modules/@floating-ui/utils/dist/floating-ui.utils.d.mts","./node_modules/@floating-ui/core/dist/floating-ui.core.d.mts","./node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.d.mts","./node_modules/@floating-ui/dom/dist/floating-ui.dom.d.mts","./node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.d.mts","./node_modules/@base-ui/react/utils/popups/inlinerect.d.mts","./node_modules/@base-ui/react/floating-ui-react/components/floatingtreestore.d.mts","./node_modules/@base-ui/react/floating-ui-react/components/floatingrootstore.d.mts","./node_modules/@base-ui/react/floating-ui-react/components/floatingfocusmanager.d.mts","./node_modules/@base-ui/react/internals/getstateattributesprops.d.mts","./node_modules/@base-ui/react/internals/userenderelement.d.mts","./node_modules/@base-ui/react/floating-ui-react/components/floatingportal.d.mts","./node_modules/@base-ui/react/floating-ui-react/hooks/useclientpoint.d.mts","./node_modules/@base-ui/react/floating-ui-react/hooks/usedismiss.d.mts","./node_modules/@base-ui/react/floating-ui-react/hooks/usefocus.d.mts","./node_modules/@base-ui/react/internals/shadowdom.d.mts","./node_modules/@base-ui/react/floating-ui-react/utils/element.d.mts","./node_modules/@base-ui/react/floating-ui-react/hooks/usehovershared.d.mts","./node_modules/@base-ui/react/floating-ui-react/hooks/usehover.d.mts","./node_modules/@base-ui/react/floating-ui-react/hooks/usehoverfloatinginteraction.d.mts","./node_modules/@base-ui/react/floating-ui-react/hooks/usehoverreferenceinteraction.d.mts","./node_modules/@base-ui/react/floating-ui-react/utils/composite.d.mts","./node_modules/@base-ui/react/floating-ui-react/hooks/gridnavigation.d.mts","./node_modules/@base-ui/react/floating-ui-react/hooks/uselistnavigation.d.mts","./node_modules/@base-ui/react/floating-ui-react/hooks/usetypeahead.d.mts","./node_modules/@base-ui/react/floating-ui-react/hooks/usefloatingrootcontext.d.mts","./node_modules/@base-ui/react/floating-ui-react/safepolygon.d.mts","./node_modules/@base-ui/react/floating-ui-react/components/floatingtree.d.mts","./node_modules/@base-ui/react/floating-ui-react/types.d.mts","./node_modules/@base-ui/react/floating-ui-react/components/floatingdelaygroup.d.mts","./node_modules/@base-ui/react/floating-ui-react/hooks/useclick.d.mts","./node_modules/@base-ui/react/floating-ui-react/hooks/usefloating.d.mts","./node_modules/@base-ui/react/floating-ui-react/hooks/usesyncedfloatingrootcontext.d.mts","./node_modules/@base-ui/react/floating-ui-react/index.d.mts","./node_modules/@base-ui/react/utils/popups/popuptriggermap.d.mts","./node_modules/@base-ui/react/utils/popups/store.d.mts","./node_modules/@base-ui/react/utils/popups/popupstoreutils.d.mts","./node_modules/@base-ui/react/utils/popups/index.d.mts","./node_modules/@base-ui/react/dialog/store/dialogstore.d.mts","./node_modules/@base-ui/react/dialog/store/dialoghandle.d.mts","./node_modules/@base-ui/react/dialog/root/dialogroot.d.mts","./node_modules/@base-ui/react/alert-dialog/handle.d.mts","./node_modules/@base-ui/react/alert-dialog/root/alertdialogroot.d.mts","./node_modules/@base-ui/react/dialog/backdrop/dialogbackdrop.d.mts","./node_modules/@base-ui/react/dialog/close/dialogclose.d.mts","./node_modules/@base-ui/react/dialog/description/dialogdescription.d.mts","./node_modules/@base-ui/react/dialog/popup/dialogpopup.d.mts","./node_modules/@base-ui/react/dialog/portal/dialogportal.d.mts","./node_modules/@base-ui/react/dialog/title/dialogtitle.d.mts","./node_modules/@base-ui/react/dialog/trigger/dialogtrigger.d.mts","./node_modules/@base-ui/react/alert-dialog/trigger/alertdialogtrigger.d.mts","./node_modules/@base-ui/react/dialog/viewport/dialogviewport.d.mts","./node_modules/@base-ui/react/alert-dialog/index.parts.d.mts","./node_modules/@base-ui/react/alert-dialog/index.d.mts","./node_modules/@base-ui/react/internals/resolvevaluelabel.d.mts","./node_modules/@base-ui/react/combobox/root/ariacombobox.d.mts","./node_modules/@base-ui/react/autocomplete/root/autocompleteroot.d.mts","./node_modules/@base-ui/react/autocomplete/value/autocompletevalue.d.mts","./node_modules/@base-ui/react/internals/form-context/formcontext.d.mts","./node_modules/@base-ui/react/form/form.d.mts","./node_modules/@base-ui/react/form/index.d.mts","./node_modules/@base-ui/react/field/root/fieldroot.d.mts","./node_modules/@base-ui/react/utils/useanchorpositioning.d.mts","./node_modules/@base-ui/react/autocomplete/trigger/autocompletetrigger.d.mts","./node_modules/@base-ui/react/combobox/input/comboboxinput.d.mts","./node_modules/@base-ui/react/autocomplete/input-group/autocompleteinputgroup.d.mts","./node_modules/@base-ui/react/combobox/icon/comboboxicon.d.mts","./node_modules/@base-ui/react/combobox/clear/comboboxclear.d.mts","./node_modules/@base-ui/react/combobox/list/comboboxlist.d.mts","./node_modules/@base-ui/react/combobox/status/comboboxstatus.d.mts","./node_modules/@base-ui/react/combobox/portal/comboboxportal.d.mts","./node_modules/@base-ui/react/combobox/backdrop/comboboxbackdrop.d.mts","./node_modules/@base-ui/react/combobox/positioner/comboboxpositioner.d.mts","./node_modules/@base-ui/react/combobox/popup/comboboxpopup.d.mts","./node_modules/@base-ui/react/combobox/arrow/comboboxarrow.d.mts","./node_modules/@base-ui/react/combobox/group/comboboxgroup.d.mts","./node_modules/@base-ui/react/combobox/group-label/comboboxgrouplabel.d.mts","./node_modules/@base-ui/react/autocomplete/item/autocompleteitem.d.mts","./node_modules/@base-ui/react/combobox/row/comboboxrow.d.mts","./node_modules/@base-ui/react/combobox/collection/comboboxcollection.d.mts","./node_modules/@base-ui/react/combobox/empty/comboboxempty.d.mts","./node_modules/@base-ui/react/separator/separator.d.mts","./node_modules/@base-ui/react/internals/filter.d.mts","./node_modules/@base-ui/react/combobox/root/utils/usefilter.d.mts","./node_modules/@base-ui/react/combobox/root/utils/usefiltereditems.d.mts","./node_modules/@base-ui/react/autocomplete/index.parts.d.mts","./node_modules/@base-ui/react/autocomplete/index.d.mts","./node_modules/@base-ui/react/avatar/root/avatarroot.d.mts","./node_modules/@base-ui/react/avatar/image/avatarimage.d.mts","./node_modules/@base-ui/react/avatar/fallback/avatarfallback.d.mts","./node_modules/@base-ui/react/avatar/index.parts.d.mts","./node_modules/@base-ui/react/avatar/index.d.mts","./node_modules/@base-ui/react/button/button.d.mts","./node_modules/@base-ui/react/button/index.d.mts","./node_modules/@base-ui/react/checkbox/root/checkboxroot.d.mts","./node_modules/@base-ui/react/checkbox/indicator/checkboxindicator.d.mts","./node_modules/@base-ui/react/checkbox/index.parts.d.mts","./node_modules/@base-ui/react/checkbox/index.d.mts","./node_modules/@base-ui/react/checkbox-group/checkboxgroup.d.mts","./node_modules/@base-ui/react/checkbox-group/index.d.mts","./node_modules/@base-ui/react/collapsible/trigger/collapsibletrigger.d.mts","./node_modules/@base-ui/react/collapsible/panel/collapsiblepanel.d.mts","./node_modules/@base-ui/react/collapsible/index.parts.d.mts","./node_modules/@base-ui/react/collapsible/index.d.mts","./node_modules/@base-ui/react/combobox/root/comboboxroot.d.mts","./node_modules/@base-ui/react/combobox/label/comboboxlabel.d.mts","./node_modules/@base-ui/react/combobox/value/comboboxvalue.d.mts","./node_modules/@base-ui/react/combobox/input-group/comboboxinputgroup.d.mts","./node_modules/@base-ui/react/combobox/trigger/comboboxtrigger.d.mts","./node_modules/@base-ui/react/combobox/item/comboboxitem.d.mts","./node_modules/@base-ui/react/combobox/item-indicator/comboboxitemindicator.d.mts","./node_modules/@base-ui/react/combobox/chips/comboboxchips.d.mts","./node_modules/@base-ui/react/combobox/chip/comboboxchip.d.mts","./node_modules/@base-ui/react/combobox/chip-remove/comboboxchipremove.d.mts","./node_modules/@base-ui/react/separator/index.d.mts","./node_modules/@base-ui/react/combobox/index.parts.d.mts","./node_modules/@base-ui/react/combobox/index.d.mts","./node_modules/@base-ui/react/menu/arrow/menuarrow.d.mts","./node_modules/@base-ui/react/menu/backdrop/menubackdrop.d.mts","./node_modules/@base-ui/react/menu/store/menustore.d.mts","./node_modules/@base-ui/react/menu/root/menurootcontext.d.mts","./node_modules/@base-ui/react/menubar/menubarcontext.d.mts","./node_modules/@base-ui/react/context-menu/root/contextmenurootcontext.d.mts","./node_modules/@base-ui/react/menu/store/menuhandle.d.mts","./node_modules/@base-ui/react/menu/root/menuroot.d.mts","./node_modules/@base-ui/react/menu/checkbox-item/menucheckboxitem.d.mts","./node_modules/@base-ui/react/menu/checkbox-item-indicator/menucheckboxitemindicator.d.mts","./node_modules/@base-ui/react/menu/group/menugroup.d.mts","./node_modules/@base-ui/react/menu/group-label/menugrouplabel.d.mts","./node_modules/@base-ui/react/menu/item/menuitem.d.mts","./node_modules/@base-ui/react/menu/link-item/menulinkitem.d.mts","./node_modules/@base-ui/react/menu/popup/menupopup.d.mts","./node_modules/@base-ui/react/menu/portal/menuportal.d.mts","./node_modules/@base-ui/react/menu/positioner/menupositioner.d.mts","./node_modules/@base-ui/react/menu/radio-group/menuradiogroup.d.mts","./node_modules/@base-ui/react/menu/radio-item/menuradioitem.d.mts","./node_modules/@base-ui/react/menu/radio-item-indicator/menuradioitemindicator.d.mts","./node_modules/@base-ui/react/menu/submenu-root/menusubmenurootcontext.d.mts","./node_modules/@base-ui/react/menu/submenu-root/menusubmenuroot.d.mts","./node_modules/@base-ui/react/menu/trigger/menutrigger.d.mts","./node_modules/@base-ui/react/menu/viewport/menuviewport.d.mts","./node_modules/@base-ui/react/menu/submenu-trigger/menusubmenutrigger.d.mts","./node_modules/@base-ui/react/menu/index.parts.d.mts","./node_modules/@base-ui/react/menu/index.d.mts","./node_modules/@base-ui/react/context-menu/root/contextmenuroot.d.mts","./node_modules/@base-ui/react/context-menu/trigger/contextmenutrigger.d.mts","./node_modules/@base-ui/react/context-menu/index.parts.d.mts","./node_modules/@base-ui/react/context-menu/index.d.mts","./node_modules/@base-ui/react/csp-provider/cspprovider.d.mts","./node_modules/@base-ui/react/csp-provider/index.parts.d.mts","./node_modules/@base-ui/react/csp-provider/index.d.mts","./node_modules/@base-ui/react/dialog/index.parts.d.mts","./node_modules/@base-ui/react/dialog/index.d.mts","./node_modules/@base-ui/react/internals/direction-context/directioncontext.d.mts","./node_modules/@base-ui/react/direction-provider/directionprovider.d.mts","./node_modules/@base-ui/react/direction-provider/index.parts.d.mts","./node_modules/@base-ui/react/direction-provider/index.d.mts","./node_modules/@base-ui/react/drawer/backdrop/drawerbackdrop.d.mts","./node_modules/@base-ui/react/drawer/close/drawerclose.d.mts","./node_modules/@base-ui/react/drawer/content/drawercontent.d.mts","./node_modules/@base-ui/react/drawer/description/drawerdescription.d.mts","./node_modules/@base-ui/react/drawer/indent/drawerindent.d.mts","./node_modules/@base-ui/react/drawer/indent-background/drawerindentbackground.d.mts","./node_modules/@base-ui/react/utils/useswipedismiss.d.mts","./node_modules/@base-ui/react/drawer/root/drawerroot.d.mts","./node_modules/@base-ui/react/drawer/root/drawerrootcontext.d.mts","./node_modules/@base-ui/react/drawer/popup/drawerpopup.d.mts","./node_modules/@base-ui/react/drawer/portal/drawerportal.d.mts","./node_modules/@base-ui/react/drawer/provider/drawerprovider.d.mts","./node_modules/@base-ui/react/drawer/swipe-area/drawerswipearea.d.mts","./node_modules/@base-ui/react/drawer/title/drawertitle.d.mts","./node_modules/@base-ui/react/drawer/trigger/drawertrigger.d.mts","./node_modules/@base-ui/react/drawer/viewport/drawerviewport.d.mts","./node_modules/@base-ui/react/drawer/virtual-keyboard-provider/drawervirtualkeyboardprovider.d.mts","./node_modules/@base-ui/react/drawer/index.parts.d.mts","./node_modules/@base-ui/react/drawer/index.d.mts","./node_modules/@base-ui/react/field/label/fieldlabel.d.mts","./node_modules/@base-ui/react/field/error/fielderror.d.mts","./node_modules/@base-ui/react/field/description/fielddescription.d.mts","./node_modules/@base-ui/react/field/control/fieldcontrol.d.mts","./node_modules/@base-ui/react/field/validity/fieldvalidity.d.mts","./node_modules/@base-ui/react/field/item/fielditem.d.mts","./node_modules/@base-ui/react/field/index.parts.d.mts","./node_modules/@base-ui/react/field/index.d.mts","./node_modules/@base-ui/react/fieldset/root/fieldsetroot.d.mts","./node_modules/@base-ui/react/fieldset/legend/fieldsetlegend.d.mts","./node_modules/@base-ui/react/fieldset/index.parts.d.mts","./node_modules/@base-ui/react/fieldset/index.d.mts","./node_modules/@base-ui/react/input/input.d.mts","./node_modules/@base-ui/react/input/index.d.mts","./node_modules/@base-ui/react/menubar/menubar.d.mts","./node_modules/@base-ui/react/menubar/index.d.mts","./node_modules/@base-ui/react/merge-props/mergeprops.d.mts","./node_modules/@base-ui/react/merge-props/index.d.mts","./node_modules/@base-ui/react/meter/root/meterroot.d.mts","./node_modules/@base-ui/react/meter/track/metertrack.d.mts","./node_modules/@base-ui/react/meter/indicator/meterindicator.d.mts","./node_modules/@base-ui/react/meter/value/metervalue.d.mts","./node_modules/@base-ui/react/meter/label/meterlabel.d.mts","./node_modules/@base-ui/react/meter/index.parts.d.mts","./node_modules/@base-ui/react/meter/index.d.mts","./node_modules/@base-ui/react/navigation-menu/root/navigationmenuroot.d.mts","./node_modules/@base-ui/react/navigation-menu/list/navigationmenulist.d.mts","./node_modules/@base-ui/react/navigation-menu/item/navigationmenuitem.d.mts","./node_modules/@base-ui/react/navigation-menu/content/navigationmenucontent.d.mts","./node_modules/@base-ui/react/navigation-menu/trigger/navigationmenutrigger.d.mts","./node_modules/@base-ui/react/navigation-menu/portal/navigationmenuportal.d.mts","./node_modules/@base-ui/react/navigation-menu/positioner/navigationmenupositioner.d.mts","./node_modules/@base-ui/react/navigation-menu/viewport/navigationmenuviewport.d.mts","./node_modules/@base-ui/react/navigation-menu/backdrop/navigationmenubackdrop.d.mts","./node_modules/@base-ui/react/navigation-menu/popup/navigationmenupopup.d.mts","./node_modules/@base-ui/react/navigation-menu/arrow/navigationmenuarrow.d.mts","./node_modules/@base-ui/react/navigation-menu/link/navigationmenulink.d.mts","./node_modules/@base-ui/react/navigation-menu/icon/navigationmenuicon.d.mts","./node_modules/@base-ui/react/navigation-menu/index.parts.d.mts","./node_modules/@base-ui/react/navigation-menu/index.d.mts","./node_modules/@base-ui/react/number-field/utils/types.d.mts","./node_modules/@base-ui/react/number-field/root/numberfieldroot.d.mts","./node_modules/@base-ui/react/number-field/group/numberfieldgroup.d.mts","./node_modules/@base-ui/react/number-field/increment/numberfieldincrement.d.mts","./node_modules/@base-ui/react/number-field/decrement/numberfielddecrement.d.mts","./node_modules/@base-ui/react/number-field/input/numberfieldinput.d.mts","./node_modules/@base-ui/react/number-field/scrub-area/numberfieldscrubarea.d.mts","./node_modules/@base-ui/react/number-field/scrub-area-cursor/numberfieldscrubareacursor.d.mts","./node_modules/@base-ui/react/number-field/index.parts.d.mts","./node_modules/@base-ui/react/number-field/index.d.mts","./node_modules/@base-ui/react/otp-field/utils/otp.d.mts","./node_modules/@base-ui/react/otp-field/root/otpfieldroot.d.mts","./node_modules/@base-ui/react/otp-field/input/otpfieldinput.d.mts","./node_modules/@base-ui/react/otp-field/index.parts.d.mts","./node_modules/@base-ui/react/otp-field/index.d.mts","./node_modules/@base-ui/utils/usetimeout.d.mts","./node_modules/@base-ui/react/popover/store/popoverstore.d.mts","./node_modules/@base-ui/react/popover/store/popoverhandle.d.mts","./node_modules/@base-ui/react/popover/root/popoverroot.d.mts","./node_modules/@base-ui/react/popover/trigger/popovertrigger.d.mts","./node_modules/@base-ui/react/popover/portal/popoverportal.d.mts","./node_modules/@base-ui/react/popover/positioner/popoverpositioner.d.mts","./node_modules/@base-ui/react/popover/popup/popoverpopup.d.mts","./node_modules/@base-ui/react/popover/arrow/popoverarrow.d.mts","./node_modules/@base-ui/react/popover/backdrop/popoverbackdrop.d.mts","./node_modules/@base-ui/react/popover/title/popovertitle.d.mts","./node_modules/@base-ui/react/popover/description/popoverdescription.d.mts","./node_modules/@base-ui/react/popover/close/popoverclose.d.mts","./node_modules/@base-ui/react/popover/viewport/popoverviewport.d.mts","./node_modules/@base-ui/react/popover/index.parts.d.mts","./node_modules/@base-ui/react/popover/index.d.mts","./node_modules/@base-ui/react/preview-card/store/previewcardstore.d.mts","./node_modules/@base-ui/react/preview-card/store/previewcardhandle.d.mts","./node_modules/@base-ui/react/preview-card/root/previewcardroot.d.mts","./node_modules/@base-ui/react/utils/floatingportallite.d.mts","./node_modules/@base-ui/react/preview-card/portal/previewcardportal.d.mts","./node_modules/@base-ui/react/preview-card/trigger/previewcardtrigger.d.mts","./node_modules/@base-ui/react/preview-card/positioner/previewcardpositioner.d.mts","./node_modules/@base-ui/react/preview-card/popup/previewcardpopup.d.mts","./node_modules/@base-ui/react/preview-card/arrow/previewcardarrow.d.mts","./node_modules/@base-ui/react/preview-card/backdrop/previewcardbackdrop.d.mts","./node_modules/@base-ui/react/preview-card/viewport/previewcardviewport.d.mts","./node_modules/@base-ui/react/preview-card/index.parts.d.mts","./node_modules/@base-ui/react/preview-card/index.d.mts","./node_modules/@base-ui/react/progress/root/progressroot.d.mts","./node_modules/@base-ui/react/progress/track/progresstrack.d.mts","./node_modules/@base-ui/react/progress/indicator/progressindicator.d.mts","./node_modules/@base-ui/react/progress/value/progressvalue.d.mts","./node_modules/@base-ui/react/progress/label/progresslabel.d.mts","./node_modules/@base-ui/react/progress/index.parts.d.mts","./node_modules/@base-ui/react/progress/index.d.mts","./node_modules/@base-ui/react/radio/root/radioroot.d.mts","./node_modules/@base-ui/react/radio/indicator/radioindicator.d.mts","./node_modules/@base-ui/react/radio/index.parts.d.mts","./node_modules/@base-ui/react/radio/index.d.mts","./node_modules/@base-ui/react/radio-group/radiogroup.d.mts","./node_modules/@base-ui/react/radio-group/index.d.mts","./node_modules/@base-ui/react/scroll-area/root/scrollarearoot.d.mts","./node_modules/@base-ui/react/scroll-area/viewport/scrollareaviewport.d.mts","./node_modules/@base-ui/react/scroll-area/scrollbar/scrollareascrollbar.d.mts","./node_modules/@base-ui/react/scroll-area/content/scrollareacontent.d.mts","./node_modules/@base-ui/react/scroll-area/thumb/scrollareathumb.d.mts","./node_modules/@base-ui/react/scroll-area/corner/scrollareacorner.d.mts","./node_modules/@base-ui/react/scroll-area/index.parts.d.mts","./node_modules/@base-ui/react/scroll-area/index.d.mts","./node_modules/@base-ui/react/select/root/selectroot.d.mts","./node_modules/@base-ui/react/select/label/selectlabel.d.mts","./node_modules/@base-ui/react/select/trigger/selecttrigger.d.mts","./node_modules/@base-ui/react/select/value/selectvalue.d.mts","./node_modules/@base-ui/react/select/icon/selecticon.d.mts","./node_modules/@base-ui/react/select/portal/selectportal.d.mts","./node_modules/@base-ui/react/select/backdrop/selectbackdrop.d.mts","./node_modules/@base-ui/react/select/positioner/selectpositioner.d.mts","./node_modules/@base-ui/react/select/popup/selectpopup.d.mts","./node_modules/@base-ui/react/select/list/selectlist.d.mts","./node_modules/@base-ui/react/select/item/selectitem.d.mts","./node_modules/@base-ui/react/select/item-indicator/selectitemindicator.d.mts","./node_modules/@base-ui/react/select/item-text/selectitemtext.d.mts","./node_modules/@base-ui/react/select/arrow/selectarrow.d.mts","./node_modules/@base-ui/react/select/scroll-down-arrow/selectscrolldownarrow.d.mts","./node_modules/@base-ui/react/select/scroll-up-arrow/selectscrolluparrow.d.mts","./node_modules/@base-ui/react/select/group/selectgroup.d.mts","./node_modules/@base-ui/react/select/group-label/selectgrouplabel.d.mts","./node_modules/@base-ui/react/select/index.parts.d.mts","./node_modules/@base-ui/react/select/index.d.mts","./node_modules/@base-ui/react/slider/root/sliderroot.d.mts","./node_modules/@base-ui/react/slider/label/sliderlabel.d.mts","./node_modules/@base-ui/react/slider/value/slidervalue.d.mts","./node_modules/@base-ui/react/slider/control/slidercontrol.d.mts","./node_modules/@base-ui/react/slider/track/slidertrack.d.mts","./node_modules/@base-ui/react/internals/labelable-provider/labelablecontext.d.mts","./node_modules/@base-ui/react/slider/thumb/sliderthumb.d.mts","./node_modules/@base-ui/react/slider/indicator/sliderindicator.d.mts","./node_modules/@base-ui/react/slider/index.parts.d.mts","./node_modules/@base-ui/react/slider/index.d.mts","./node_modules/@base-ui/react/switch/root/switchroot.d.mts","./node_modules/@base-ui/react/switch/thumb/switchthumb.d.mts","./node_modules/@base-ui/react/switch/index.parts.d.mts","./node_modules/@base-ui/react/switch/index.d.mts","./node_modules/@base-ui/react/tabs/tab/tabstab.d.mts","./node_modules/@base-ui/react/tabs/root/tabsroot.d.mts","./node_modules/@base-ui/react/tabs/indicator/tabsindicator.d.mts","./node_modules/@base-ui/react/tabs/panel/tabspanel.d.mts","./node_modules/@base-ui/react/tabs/list/tabslist.d.mts","./node_modules/@base-ui/react/tabs/index.parts.d.mts","./node_modules/@base-ui/react/tabs/index.d.mts","./node_modules/@base-ui/react/toast/positioner/toastpositioner.d.mts","./node_modules/@base-ui/react/toast/usetoastmanager.d.mts","./node_modules/@base-ui/react/toast/createtoastmanager.d.mts","./node_modules/@base-ui/react/toast/provider/toastprovider.d.mts","./node_modules/@base-ui/react/toast/viewport/toastviewport.d.mts","./node_modules/@base-ui/react/toast/root/toastroot.d.mts","./node_modules/@base-ui/react/toast/content/toastcontent.d.mts","./node_modules/@base-ui/react/toast/description/toastdescription.d.mts","./node_modules/@base-ui/react/toast/title/toasttitle.d.mts","./node_modules/@base-ui/react/toast/close/toastclose.d.mts","./node_modules/@base-ui/react/toast/action/toastaction.d.mts","./node_modules/@base-ui/react/toast/portal/toastportal.d.mts","./node_modules/@base-ui/react/toast/arrow/toastarrow.d.mts","./node_modules/@base-ui/react/toast/index.parts.d.mts","./node_modules/@base-ui/react/toast/index.d.mts","./node_modules/@base-ui/react/toggle/toggle.d.mts","./node_modules/@base-ui/react/toggle/index.d.mts","./node_modules/@base-ui/react/toggle-group/togglegroup.d.mts","./node_modules/@base-ui/react/toggle-group/index.d.mts","./node_modules/@base-ui/react/toolbar/separator/toolbarseparator.d.mts","./node_modules/@base-ui/react/toolbar/root/toolbarroot.d.mts","./node_modules/@base-ui/react/toolbar/group/toolbargroup.d.mts","./node_modules/@base-ui/react/toolbar/button/toolbarbutton.d.mts","./node_modules/@base-ui/react/toolbar/link/toolbarlink.d.mts","./node_modules/@base-ui/react/toolbar/input/toolbarinput.d.mts","./node_modules/@base-ui/react/toolbar/index.parts.d.mts","./node_modules/@base-ui/react/toolbar/index.d.mts","./node_modules/@base-ui/react/tooltip/store/tooltipstore.d.mts","./node_modules/@base-ui/react/tooltip/store/tooltiphandle.d.mts","./node_modules/@base-ui/react/tooltip/root/tooltiproot.d.mts","./node_modules/@base-ui/react/tooltip/trigger/tooltiptrigger.d.mts","./node_modules/@base-ui/react/tooltip/portal/tooltipportal.d.mts","./node_modules/@base-ui/react/tooltip/positioner/tooltippositioner.d.mts","./node_modules/@base-ui/react/tooltip/popup/tooltippopup.d.mts","./node_modules/@base-ui/react/tooltip/arrow/tooltiparrow.d.mts","./node_modules/@base-ui/react/tooltip/provider/tooltipprovider.d.mts","./node_modules/@base-ui/react/tooltip/viewport/tooltipviewport.d.mts","./node_modules/@base-ui/react/tooltip/index.parts.d.mts","./node_modules/@base-ui/react/tooltip/index.d.mts","./node_modules/@base-ui/react/use-render/userender.d.mts","./node_modules/@base-ui/react/use-render/index.d.mts","./node_modules/@base-ui/react/index.d.mts","./node_modules/clsx/clsx.d.mts","./node_modules/tailwind-merge/dist/types.d.ts","./node_modules/class-variance-authority/dist/types.d.ts","./node_modules/class-variance-authority/dist/index.d.ts","./src/lib/cva.config.ts","./src/components/ui/button.tsx","./src/components/ui/input.tsx","./src/components/ui/textarea.tsx","./src/components/ui/input-group.tsx","./node_modules/lucide-react/dist/lucide-react.d.ts","./src/components/ui/combobox.tsx","./src/components/shared/searchselect.tsx","./src/components/ui/label.tsx","./src/components/ui/separator.tsx","./src/components/ui/field.tsx","./src/components/ui/select.tsx","./src/components/key_team_helpers/modelmaxbudgeteditor.tsx","./src/components/key_team_helpers/key_list.tsx","./src/components/email_events/types.ts","./src/components/claude_code_plugins/types.ts","./src/components/ui/tooltip.tsx","./node_modules/react-hook-form/dist/constants.d.ts","./node_modules/react-hook-form/dist/utils/createsubject.d.ts","./node_modules/react-hook-form/dist/types/events.d.ts","./node_modules/react-hook-form/dist/types/path/common.d.ts","./node_modules/react-hook-form/dist/types/path/eager.d.ts","./node_modules/react-hook-form/dist/types/path/index.d.ts","./node_modules/react-hook-form/dist/types/fieldarray.d.ts","./node_modules/react-hook-form/dist/types/resolvers.d.ts","./node_modules/react-hook-form/dist/types/form.d.ts","./node_modules/react-hook-form/dist/types/utils.d.ts","./node_modules/react-hook-form/dist/types/fields.d.ts","./node_modules/react-hook-form/dist/types/errors.d.ts","./node_modules/react-hook-form/dist/types/validator.d.ts","./node_modules/react-hook-form/dist/types/controller.d.ts","./node_modules/react-hook-form/dist/types/watch.d.ts","./node_modules/react-hook-form/dist/types/index.d.ts","./node_modules/react-hook-form/dist/controller.d.ts","./node_modules/react-hook-form/dist/fieldarray.d.ts","./node_modules/react-hook-form/dist/form.d.ts","./node_modules/react-hook-form/dist/formstatesubscribe.d.ts","./node_modules/react-hook-form/dist/logic/appenderrors.d.ts","./node_modules/react-hook-form/dist/logic/createformcontrol.d.ts","./node_modules/react-hook-form/dist/logic/index.d.ts","./node_modules/react-hook-form/dist/usecontroller.d.ts","./node_modules/react-hook-form/dist/usefieldarray.d.ts","./node_modules/react-hook-form/dist/useform.d.ts","./node_modules/react-hook-form/dist/useformcontext.d.ts","./node_modules/react-hook-form/dist/useformstate.d.ts","./node_modules/react-hook-form/dist/usewatch.d.ts","./node_modules/react-hook-form/dist/utils/get.d.ts","./node_modules/react-hook-form/dist/utils/set.d.ts","./node_modules/react-hook-form/dist/utils/index.d.ts","./node_modules/react-hook-form/dist/watch.d.ts","./node_modules/react-hook-form/dist/index.d.ts","./src/utils/textutils.ts","./src/components/common_components/mountedformfield.tsx","./src/components/common_components/check_openapi_schema.tsx","./src/components/mcp_tools/types.tsx","./src/app/(dashboard)/caching/_components/coordination_redis_settings/types.ts","./src/components/mcp_tools/constants.ts","./src/components/shared/multiselect.tsx","./src/components/ui/card.tsx","./src/components/add_model/complexity_router_keywords.ts","./src/components/ui/switch.tsx","./src/components/ui/collapsible.tsx","./src/components/key_team_helpers/fetch_available_models_team_key.tsx","./src/components/llm_calls/fetch_models.tsx","./src/components/ui/radio-group.tsx","./src/components/ui/slider.tsx","./src/components/add_model/adaptiveroutingconfig.tsx","./src/utils/returnurlutils.ts","./src/utils/roles.ts","./node_modules/@tanstack/query-core/build/modern/_tsup-dts-rollup.d.ts","./node_modules/@tanstack/query-core/build/modern/index.d.ts","./node_modules/@tanstack/react-query/build/modern/_tsup-dts-rollup.d.ts","./node_modules/@tanstack/react-query/build/modern/index.d.ts","./src/app/(dashboard)/hooks/common/querykeysfactory.ts","./src/app/(dashboard)/hooks/uiconfig/useuiconfig.ts","./src/app/(dashboard)/hooks/useauthorized.ts","./src/components/ui/dialog.tsx","./src/components/add_model/classifierprompteditorstate.ts","./src/components/add_model/classifierprompteditor.tsx","./src/app/(dashboard)/hooks/autorouter/usecomplexityscorerdefaults.ts","./src/components/ui/badge.tsx","./src/components/add_model/heuristic_scoring_knobs.ts","./src/components/add_model/heuristicscoringconfig.tsx","./src/components/add_model/classificationmethodconfig.tsx","./src/components/add_model/tiermodeleffortrows.tsx","./src/components/add_model/escalationkeywords.tsx","./src/components/add_model/semantickeywordmatching.tsx","./src/components/add_model/complexityrouterconfig.tsx","./src/components/add_model/tier_rows.ts","./src/components/add_model/complexity_router_tiers.ts","./src/components/add_model/keywordtierrules.tsx","./src/components/add_model/build_complexity_router_config.ts","./src/components/vector_store_management/types.tsx","./node_modules/@tanstack/table-core/build/lib/utils.d.ts","./node_modules/@tanstack/table-core/build/lib/core/table.d.ts","./node_modules/@tanstack/table-core/build/lib/features/columnvisibility.d.ts","./node_modules/@tanstack/table-core/build/lib/features/columnordering.d.ts","./node_modules/@tanstack/table-core/build/lib/features/columnpinning.d.ts","./node_modules/@tanstack/table-core/build/lib/features/rowpinning.d.ts","./node_modules/@tanstack/table-core/build/lib/core/headers.d.ts","./node_modules/@tanstack/table-core/build/lib/features/columnfaceting.d.ts","./node_modules/@tanstack/table-core/build/lib/features/globalfaceting.d.ts","./node_modules/@tanstack/table-core/build/lib/filterfns.d.ts","./node_modules/@tanstack/table-core/build/lib/features/columnfiltering.d.ts","./node_modules/@tanstack/table-core/build/lib/features/globalfiltering.d.ts","./node_modules/@tanstack/table-core/build/lib/sortingfns.d.ts","./node_modules/@tanstack/table-core/build/lib/features/rowsorting.d.ts","./node_modules/@tanstack/table-core/build/lib/aggregationfns.d.ts","./node_modules/@tanstack/table-core/build/lib/features/columngrouping.d.ts","./node_modules/@tanstack/table-core/build/lib/features/rowexpanding.d.ts","./node_modules/@tanstack/table-core/build/lib/features/columnsizing.d.ts","./node_modules/@tanstack/table-core/build/lib/features/rowpagination.d.ts","./node_modules/@tanstack/table-core/build/lib/features/rowselection.d.ts","./node_modules/@tanstack/table-core/build/lib/core/row.d.ts","./node_modules/@tanstack/table-core/build/lib/core/cell.d.ts","./node_modules/@tanstack/table-core/build/lib/core/column.d.ts","./node_modules/@tanstack/table-core/build/lib/types.d.ts","./node_modules/@tanstack/table-core/build/lib/columnhelper.d.ts","./node_modules/@tanstack/table-core/build/lib/utils/getcorerowmodel.d.ts","./node_modules/@tanstack/table-core/build/lib/utils/getexpandedrowmodel.d.ts","./node_modules/@tanstack/table-core/build/lib/utils/getfacetedminmaxvalues.d.ts","./node_modules/@tanstack/table-core/build/lib/utils/getfacetedrowmodel.d.ts","./node_modules/@tanstack/table-core/build/lib/utils/getfaceteduniquevalues.d.ts","./node_modules/@tanstack/table-core/build/lib/utils/getfilteredrowmodel.d.ts","./node_modules/@tanstack/table-core/build/lib/utils/getgroupedrowmodel.d.ts","./node_modules/@tanstack/table-core/build/lib/utils/getpaginationrowmodel.d.ts","./node_modules/@tanstack/table-core/build/lib/utils/getsortedrowmodel.d.ts","./node_modules/@tanstack/table-core/build/lib/index.d.ts","./node_modules/@tanstack/react-table/build/lib/index.d.ts","./src/components/shared/datatable/types.ts","./src/components/shared/datatable/columnmeta.ts","./src/components/ui/skeleton.tsx","./src/components/ui/table.tsx","./src/components/shared/datatable/datatablepagination.tsx","./src/components/shared/datatable/datatable.tsx","./src/components/ui/sheet.tsx","./src/components/shared/datatable/datatablefilterdrawer.tsx","./src/components/ui/checkbox.tsx","./src/components/shared/datatable/datatableselectioncolumn.tsx","./src/components/shared/datatable/datatableviewoptions.tsx","./src/components/shared/datatable/datatabletoolbar.tsx","./src/components/shared/datatable/datatablesortheader.tsx","./src/components/shared/datatable/index.ts","./src/app/(dashboard)/hooks/models/usemodels.ts","./src/components/shared/table_cells/autoroutertag.tsx","./src/components/shared/table_cells/cell_tooltip.tsx","./src/components/shared/table_cells/date_cell.tsx","./src/utils/datautils.ts","./src/components/shared/table_cells/id_cell.tsx","./src/components/shared/entitylink.tsx","./src/components/shared/table_cells/identity_cell.tsx","./src/components/key_scope.ts","./src/components/shared/table_cells/models_cell.tsx","./src/components/shared/table_cells/money_cell.tsx","./src/components/shared/inheritedbudgethint.tsx","./src/components/shared/meter.tsx","./src/components/shared/table_cells/spend_budget_cell.tsx","./src/components/shared/table_cells/status_badge.tsx","./src/components/shared/table_cells/index.ts","./src/utils/migratedpages.ts","./src/utils/entitylinks.ts","./src/app/(dashboard)/vector-stores/_components/indexestablecolumns.tsx","./src/app/(dashboard)/vector-stores/_components/indexestable.tsx","./src/app/(dashboard)/vector-stores/_components/indexestab.tsx","./src/components/view_logs/logdetailsdrawer/routingdecisioncard.tsx","./src/lib/http/resolveapibase.ts","./src/lib/http/runtime.ts","./src/lib/serverrootpath.ts","./src/components/networking.tsx","./src/app/(dashboard)/networking.ts","./src/app/(dashboard)/access-groups/_components/types.ts","./node_modules/vitest/dist/chunks/worker.d.uzwscv9x.d.ts","./node_modules/vitest/dist/chunks/global.d.mamajcmj.d.ts","./node_modules/vitest/dist/chunks/mocker.d.be_2ls6u.d.ts","./node_modules/vitest/dist/chunks/suite.d.fvehnv49.d.ts","./node_modules/expect-type/dist/utils.d.ts","./node_modules/expect-type/dist/overloads.d.ts","./node_modules/expect-type/dist/branding.d.ts","./node_modules/expect-type/dist/messages.d.ts","./node_modules/expect-type/dist/index.d.ts","./node_modules/vitest/dist/index.d.ts","./node_modules/zod/v4/core/standard-schema.d.cts","./node_modules/zod/v4/core/util.d.cts","./node_modules/zod/v4/core/versions.d.cts","./node_modules/zod/v4/core/schemas.d.cts","./node_modules/zod/v4/core/checks.d.cts","./node_modules/zod/v4/core/errors.d.cts","./node_modules/zod/v4/core/core.d.cts","./node_modules/zod/v4/core/parse.d.cts","./node_modules/zod/v4/core/regexes.d.cts","./node_modules/zod/v4/locales/ar.d.cts","./node_modules/zod/v4/locales/az.d.cts","./node_modules/zod/v4/locales/be.d.cts","./node_modules/zod/v4/locales/ca.d.cts","./node_modules/zod/v4/locales/cs.d.cts","./node_modules/zod/v4/locales/de.d.cts","./node_modules/zod/v4/locales/en.d.cts","./node_modules/zod/v4/locales/eo.d.cts","./node_modules/zod/v4/locales/es.d.cts","./node_modules/zod/v4/locales/fa.d.cts","./node_modules/zod/v4/locales/fi.d.cts","./node_modules/zod/v4/locales/fr.d.cts","./node_modules/zod/v4/locales/fr-ca.d.cts","./node_modules/zod/v4/locales/he.d.cts","./node_modules/zod/v4/locales/hu.d.cts","./node_modules/zod/v4/locales/id.d.cts","./node_modules/zod/v4/locales/it.d.cts","./node_modules/zod/v4/locales/ja.d.cts","./node_modules/zod/v4/locales/kh.d.cts","./node_modules/zod/v4/locales/ko.d.cts","./node_modules/zod/v4/locales/mk.d.cts","./node_modules/zod/v4/locales/ms.d.cts","./node_modules/zod/v4/locales/nl.d.cts","./node_modules/zod/v4/locales/no.d.cts","./node_modules/zod/v4/locales/ota.d.cts","./node_modules/zod/v4/locales/ps.d.cts","./node_modules/zod/v4/locales/pl.d.cts","./node_modules/zod/v4/locales/pt.d.cts","./node_modules/zod/v4/locales/ru.d.cts","./node_modules/zod/v4/locales/sl.d.cts","./node_modules/zod/v4/locales/sv.d.cts","./node_modules/zod/v4/locales/ta.d.cts","./node_modules/zod/v4/locales/th.d.cts","./node_modules/zod/v4/locales/tr.d.cts","./node_modules/zod/v4/locales/ua.d.cts","./node_modules/zod/v4/locales/ur.d.cts","./node_modules/zod/v4/locales/vi.d.cts","./node_modules/zod/v4/locales/zh-cn.d.cts","./node_modules/zod/v4/locales/zh-tw.d.cts","./node_modules/zod/v4/locales/index.d.cts","./node_modules/zod/v4/core/registries.d.cts","./node_modules/zod/v4/core/doc.d.cts","./node_modules/zod/v4/core/function.d.cts","./node_modules/zod/v4/core/api.d.cts","./node_modules/zod/v4/core/json-schema.d.cts","./node_modules/zod/v4/core/to-json-schema.d.cts","./node_modules/zod/v4/core/index.d.cts","./node_modules/zod/v4/classic/errors.d.cts","./node_modules/zod/v4/classic/parse.d.cts","./node_modules/zod/v4/classic/schemas.d.cts","./node_modules/zod/v4/classic/checks.d.cts","./node_modules/zod/v4/classic/compat.d.cts","./node_modules/zod/v4/classic/iso.d.cts","./node_modules/zod/v4/classic/coerce.d.cts","./node_modules/zod/v4/classic/external.d.cts","./node_modules/zod/v4/classic/index.d.cts","./node_modules/zod/v4/index.d.cts","./src/app/(dashboard)/access-groups/_components/access-group-create/schema.ts","./src/app/(dashboard)/access-groups/_components/access-group-create/mapper.ts","./src/app/(dashboard)/access-groups/_components/access-group-create/mapper.test.ts","./src/app/(dashboard)/agents/_components/agent_config.ts","./src/app/(dashboard)/agents/_components/agent_discovery_utils.ts","./src/app/(dashboard)/agents/_components/agent_discovery_utils.test.ts","./src/components/agents/types.ts","./src/app/(dashboard)/agents/_components/agent_type_utils.ts","./src/app/(dashboard)/budgets/_components/budgetprecision.ts","./src/app/(dashboard)/budgets/_components/budgetprecision.test.ts","./src/app/(dashboard)/budgets/_components/constants.ts","./src/app/(dashboard)/caching/_components/cache_settings/cachesettingsfields.ts","./src/app/(dashboard)/caching/_components/cache_settings/cachesettingsutils.ts","./src/app/(dashboard)/caching/_components/cache_settings/cachesettingsutils.test.ts","./src/app/(dashboard)/caching/_components/coordination_redis_settings/coordinationredisfields.ts","./src/app/(dashboard)/caching/_components/coordination_redis_settings/coordinationredisutils.ts","./src/app/(dashboard)/caching/_components/coordination_redis_settings/coordinationredisutils.test.ts","./src/app/(dashboard)/cost-optimization/_components/autorouterbenchmarks.ts","./src/app/(dashboard)/cost-optimization/_components/autorouterbenchmarks.test.ts","./src/components/usagepage/types.ts","./src/app/(dashboard)/cost-optimization/_components/costoptimizationutils.ts","./src/app/(dashboard)/cost-optimization/_components/costoptimizationutils.test.ts","./src/app/(dashboard)/cost-optimization/_components/helpers.ts","./src/app/(dashboard)/cost-optimization/_components/helpers.test.ts","./node_modules/openapi-typescript-helpers/dist/index.d.mts","./node_modules/openapi-fetch/dist/index.d.mts","./node_modules/openapi-react-query/dist/index.d.mts","./src/lib/http/api.ts","./src/app/(dashboard)/usage/_components/hooks/usepaginateddailyactivity.ts","./src/app/(dashboard)/cost-optimization/_components/usedailyactivityrange.ts","./src/app/(dashboard)/cost-optimization/_components/useautorouterbenchmarks.ts","./src/app/(dashboard)/cost-optimization/_components/useautorouterbenchmarks.test.ts","./src/app/(dashboard)/cost-optimization/_components/useshadoweval.ts","./src/app/(dashboard)/cost-optimization/_components/useshadoweval.test.ts","./src/components/ui/alert-dialog.tsx","./src/components/ui/tabs.tsx","./src/app/(dashboard)/cost-tracking/_components/types.ts","./src/components/common_components/simple_table.tsx","./src/lib/assetpaths.ts","./src/components/provider_info_helpers.tsx","./src/components/molecules/logo/logo.tsx","./src/app/(dashboard)/cost-tracking/_components/provider_discount_table.tsx","./src/app/(dashboard)/cost-tracking/_components/add_provider_form.tsx","./src/app/(dashboard)/cost-tracking/_components/provider_margin_table.tsx","./src/app/(dashboard)/cost-tracking/_components/add_margin_form.tsx","./src/app/(dashboard)/cost-tracking/_components/pricing_calculator/types.ts","./src/hooks/use-safe-layout-effect.ts","./src/components/ui/ui-loading-spinner.tsx","./src/components/ui/dropdown-menu.tsx","./src/app/(dashboard)/cost-tracking/_components/pricing_calculator/multi_export_utils.ts","./src/app/(dashboard)/cost-tracking/_components/pricing_calculator/multi_export_dropdown.tsx","./src/app/(dashboard)/cost-tracking/_components/pricing_calculator/multi_cost_results.tsx","./src/app/(dashboard)/cost-tracking/_components/pricing_calculator/use_multi_cost_estimate.ts","./src/app/(dashboard)/cost-tracking/_components/pricing_calculator/index.tsx","./src/components/helplink.tsx","./node_modules/@types/react-syntax-highlighter/index.d.ts","./node_modules/next-themes/dist/index.d.ts","./src/hooks/usesyntaxtheme.ts","./src/components/codeblock.tsx","./src/app/(dashboard)/cost-tracking/_components/how_it_works.tsx","./src/app/(dashboard)/cost-tracking/_components/provider_display_helpers.ts","./src/app/(dashboard)/cost-tracking/_components/use_discount_config.ts","./src/app/(dashboard)/cost-tracking/_components/use_margin_config.ts","./src/app/(dashboard)/cost-tracking/_components/use_block_unpriced_config.ts","./src/app/(dashboard)/cost-tracking/_components/cost_tracking_settings.tsx","./src/app/(dashboard)/cost-tracking/_components/index.ts","./src/app/(dashboard)/cost-tracking/_components/provider_display_helpers.test.ts","./node_modules/@types/aria-query/index.d.ts","./node_modules/@testing-library/dom/types/matches.d.ts","./node_modules/@testing-library/dom/types/wait-for.d.ts","./node_modules/@testing-library/dom/types/query-helpers.d.ts","./node_modules/@testing-library/dom/types/queries.d.ts","./node_modules/@testing-library/dom/types/get-queries-for-element.d.ts","./node_modules/pretty-format/build/types.d.ts","./node_modules/pretty-format/build/index.d.ts","./node_modules/@testing-library/dom/types/screen.d.ts","./node_modules/@testing-library/dom/types/wait-for-element-to-be-removed.d.ts","./node_modules/@testing-library/dom/types/get-node-text.d.ts","./node_modules/@testing-library/dom/types/events.d.ts","./node_modules/@testing-library/dom/types/pretty-dom.d.ts","./node_modules/@testing-library/dom/types/role-helpers.d.ts","./node_modules/@testing-library/dom/types/config.d.ts","./node_modules/@testing-library/dom/types/suggestions.d.ts","./node_modules/@testing-library/dom/types/index.d.ts","./node_modules/@types/react-dom/test-utils/index.d.ts","./node_modules/@testing-library/react/types/index.d.ts","./src/app/(dashboard)/cost-tracking/_components/use_block_unpriced_config.test.ts","./src/app/(dashboard)/cost-tracking/_components/use_discount_config.test.ts","./src/app/(dashboard)/cost-tracking/_components/use_margin_config.test.ts","./src/app/(dashboard)/cost-tracking/_components/pricing_calculator/multi_export_utils.test.ts","./src/app/(dashboard)/cost-tracking/_components/pricing_calculator/use_multi_cost_estimate.test.ts","./src/app/(dashboard)/guardrails/_components/guardrail_garden_configs.ts","./src/app/(dashboard)/guardrails/_components/guardrail_info_helpers.tsx","./src/app/(dashboard)/guardrails/_components/guardrail_garden_data.ts","./src/app/(dashboard)/guardrails/_components/guardrail_garden_data.test.ts","./src/app/(dashboard)/guardrails/_components/content_filter/action_options.ts","./src/app/(dashboard)/guardrails/_components/custom_code/customcodemodal.tsx","./src/app/(dashboard)/guardrails/_components/custom_code/index.ts","./src/app/(dashboard)/hooks/useauthorized.serverrootpath.test.ts","./src/app/(dashboard)/hooks/useauthorized.test.ts","./src/utils/capabilities.ts","./src/app/(dashboard)/hooks/organizations/useorganizations.ts","./src/app/(dashboard)/hooks/useisorgadmin.ts","./src/app/(dashboard)/hooks/usecan.ts","./src/utils/localstorageutils.ts","./src/app/(dashboard)/hooks/usedisableblogposts.ts","./src/app/(dashboard)/hooks/usedisablebouncingicon.ts","./src/app/(dashboard)/hooks/usedisableshownewbadge.ts","./src/app/(dashboard)/hooks/usedisableshownewbadge.test.ts","./src/app/(dashboard)/hooks/usedisableshowprompts.ts","./src/app/(dashboard)/hooks/usedisableshowprompts.test.ts","./src/app/(dashboard)/hooks/usehideautorouterannouncement.ts","./src/app/(dashboard)/hooks/useisorgadmin.test.ts","./src/utils/proxyutils.ts","./src/app/(dashboard)/hooks/proxysettings/useproxysettings.ts","./src/app/(dashboard)/hooks/uselogout.ts","./src/utils/tabroutes.ts","./src/app/(dashboard)/hooks/usetabrouting.ts","./src/app/(dashboard)/hooks/accessgroups/useaccessgroups.ts","./src/app/(dashboard)/hooks/accessgroups/useaccessgroupdetails.ts","./src/app/(dashboard)/hooks/accessgroups/useaccessgroups.test.ts","./src/app/(dashboard)/hooks/accessgroups/usedeleteaccessgroup.ts","./src/app/(dashboard)/hooks/accessgroups/useeditaccessgroup.ts","./src/app/(dashboard)/hooks/agents/useagents.ts","./src/app/(dashboard)/hooks/agents/useagents.test.ts","./src/app/(dashboard)/hooks/blogposts/useblogposts.ts","./src/app/(dashboard)/hooks/budgets/budgetfilters.ts","./src/app/(dashboard)/hooks/budgets/budgetfilters.test.ts","./node_modules/@tanstack/react-store/dist/createstorecontext.d.ts","./node_modules/@tanstack/store/dist/alien.d.ts","./node_modules/@tanstack/store/dist/types.d.ts","./node_modules/@tanstack/store/dist/atom.d.ts","./node_modules/@tanstack/store/dist/store.d.ts","./node_modules/@tanstack/store/dist/shallow.d.ts","./node_modules/@tanstack/store/dist/index.d.ts","./node_modules/@tanstack/react-store/dist/usecreateatom.d.ts","./node_modules/@tanstack/react-store/dist/usecreatestore.d.ts","./node_modules/@tanstack/react-store/dist/useselector.d.ts","./node_modules/@tanstack/react-store/dist/useatom.d.ts","./node_modules/@tanstack/react-store/dist/_usestore.d.ts","./node_modules/@tanstack/react-store/dist/usestore.d.ts","./node_modules/@tanstack/react-store/dist/index.d.ts","./node_modules/@tanstack/pacer/dist/types.d.ts","./node_modules/@tanstack/pacer/dist/debouncer.d.ts","./node_modules/@tanstack/react-pacer/dist/debouncer/usedebouncer.d.ts","./node_modules/@tanstack/react-pacer/dist/debouncer/usedebouncedcallback.d.ts","./node_modules/@tanstack/react-pacer/dist/debouncer/usedebouncedstate.d.ts","./node_modules/@tanstack/react-pacer/dist/debouncer/usedebouncedvalue.d.ts","./node_modules/@tanstack/react-pacer/dist/debouncer/index.d.ts","./src/utils/debounceconstants.ts","./src/app/(dashboard)/hooks/common/useresourcelist.ts","./src/app/(dashboard)/hooks/budgets/usebudgets.ts","./src/app/(dashboard)/hooks/caching/usecacheactivity.ts","./src/app/(dashboard)/hooks/caching/usecacheactivity.test.ts","./src/app/(dashboard)/hooks/cloudzero/usecloudzerocreate.ts","./src/app/(dashboard)/hooks/cloudzero/usecloudzerocreate.test.ts","./src/app/(dashboard)/hooks/cloudzero/usecloudzerodryrun.ts","./src/app/(dashboard)/hooks/cloudzero/usecloudzerodryrun.test.ts","./src/app/(dashboard)/hooks/cloudzero/usecloudzeroexport.ts","./src/app/(dashboard)/hooks/cloudzero/usecloudzeroexport.test.ts","./src/components/cloudzerocosttracking/types.ts","./src/app/(dashboard)/hooks/cloudzero/usecloudzerosettings.ts","./src/app/(dashboard)/hooks/cloudzero/usecloudzerosettings.test.ts","./src/app/(dashboard)/hooks/common/querykeysfactory.test.ts","./src/app/(dashboard)/hooks/configoverrides/hashicorpvaultapi.ts","./src/app/(dashboard)/hooks/configoverrides/usehashicorpvaultconfig.ts","./src/app/(dashboard)/hooks/configoverrides/usedeletehashicorpvaultconfig.ts","./src/app/(dashboard)/hooks/configoverrides/useupdatehashicorpvaultconfig.ts","./src/app/(dashboard)/hooks/coordinationredis/usecoordinationredissettings.ts","./src/app/(dashboard)/hooks/credentials/usecredentials.ts","./src/app/(dashboard)/hooks/credentials/usecredentials.test.ts","./src/app/(dashboard)/hooks/customers/usecustomers.ts","./src/app/(dashboard)/hooks/customers/usecustomers.test.ts","./src/app/(dashboard)/hooks/guardrails/useguardrails.ts","./src/app/(dashboard)/hooks/guardrails/useguardrails.test.ts","./src/app/(dashboard)/hooks/guardrails/useregisterguardrail.ts","./src/app/(dashboard)/hooks/healthreadiness/usehealthreadinessdetails.ts","./src/app/(dashboard)/hooks/keys/usekeyaliases.ts","./src/app/(dashboard)/hooks/keys/usekeyaliases.test.ts","./src/app/(dashboard)/hooks/keys/usekeys.ts","./src/app/(dashboard)/hooks/keys/usekeyinfo.ts","./src/app/(dashboard)/hooks/keys/usekeys.test.ts","./src/app/(dashboard)/hooks/keys/useresetkeyspend.ts","./src/app/(dashboard)/hooks/keys/usesetkeyblockedstate.ts","./src/app/(dashboard)/hooks/keys/usesetkeyblockedstate.test.ts","./src/app/(dashboard)/hooks/license/uselicenseinfo.ts","./src/app/(dashboard)/hooks/logdetails/uselogdetails.ts","./src/app/(dashboard)/hooks/login/uselogin.ts","./src/app/(dashboard)/hooks/mcpsemanticfiltersettings/usemcpsemanticfiltersettings.ts","./src/app/(dashboard)/hooks/mcpsemanticfiltersettings/useupdatemcpsemanticfiltersettings.ts","./src/app/(dashboard)/hooks/mcpservers/usemcpaccessgroups.ts","./src/app/(dashboard)/hooks/mcpservers/usemcpaccessgroups.test.ts","./src/app/(dashboard)/hooks/mcpservers/usemcpserverhealth.ts","./src/app/(dashboard)/hooks/mcpservers/usemcpserverhealth.test.ts","./src/app/(dashboard)/hooks/mcpservers/usemcpservers.ts","./src/app/(dashboard)/hooks/mcpservers/usemcpservers.test.ts","./src/app/(dashboard)/hooks/mcpservers/usemcptoolsets.ts","./src/app/(dashboard)/hooks/models/usemodelcostmap.ts","./src/app/(dashboard)/hooks/models/usemodelcostmap.test.ts","./src/app/(dashboard)/hooks/models/usemodels.test.ts","./src/app/(dashboard)/hooks/onboarding/useonboarding.ts","./src/app/(dashboard)/hooks/onboarding/useonboarding.test.ts","./src/app/(dashboard)/hooks/organizations/useorganizations.test.ts","./src/app/(dashboard)/hooks/projects/useprojects.ts","./src/app/(dashboard)/hooks/projects/usecreateproject.ts","./src/app/(dashboard)/hooks/projects/usecreateproject.test.ts","./src/app/(dashboard)/hooks/projects/usedeleteproject.ts","./src/app/(dashboard)/hooks/projects/usedeleteproject.test.ts","./src/app/(dashboard)/hooks/projects/useprojectdetails.ts","./src/app/(dashboard)/hooks/projects/useprojectdetails.test.ts","./src/app/(dashboard)/hooks/projects/useprojects.test.ts","./src/app/(dashboard)/hooks/projects/useupdateproject.ts","./src/app/(dashboard)/hooks/projects/useupdateproject.test.ts","./src/app/(dashboard)/hooks/providers/useproviderfields.ts","./src/app/(dashboard)/hooks/providers/useproviderfields.test.ts","./src/app/(dashboard)/hooks/proxyconfig/useproxyconfig.ts","./src/app/(dashboard)/hooks/proxyconfig/useproxyconfig.test.ts","./src/app/(dashboard)/hooks/router/userouterfields.ts","./src/app/(dashboard)/hooks/router/userouterfields.test.ts","./src/app/(dashboard)/hooks/routersettings/useupdateretrypolicy.ts","./src/components/routing_groups/types.ts","./src/app/(dashboard)/hooks/routinggroups/useroutinggroups.ts","./src/app/(dashboard)/hooks/spendlogs/usespendlogendusers.ts","./src/app/(dashboard)/hooks/spendlogs/usespendlogendusers.test.ts","./src/app/(dashboard)/hooks/spendlogs/usespendlogusers.ts","./src/app/(dashboard)/hooks/spendlogs/usespendlogusers.test.ts","./src/app/(dashboard)/hooks/sso/useeditssosettings.ts","./src/app/(dashboard)/hooks/sso/useeditssosettings.test.ts","./src/app/(dashboard)/hooks/sso/usessosettings.ts","./src/app/(dashboard)/hooks/sso/usessosettings.test.ts","./src/app/(dashboard)/hooks/storemodelindb/usestoremodelindb.ts","./src/app/(dashboard)/hooks/storemodelindb/usestoremodelindb.test.ts","./src/app/(dashboard)/hooks/storerequestinspendlogs/usestorerequestinspendlogs.ts","./src/app/(dashboard)/hooks/tags/usetags.ts","./src/app/(dashboard)/hooks/tags/usetags.test.ts","./src/app/(dashboard)/hooks/teams/useteammetadataschema.ts","./src/app/(dashboard)/hooks/teams/useteammetadataschema.test.ts","./src/app/(dashboard)/hooks/teams/useteams.ts","./src/app/(dashboard)/hooks/teams/useteams.test.ts","./src/app/(dashboard)/hooks/uiconfig/useuiconfig.test.ts","./src/app/(dashboard)/hooks/uisettings/useuisettings.ts","./src/app/(dashboard)/hooks/uisettings/useptucostattributionenabled.ts","./src/app/(dashboard)/hooks/uisettings/useptucostattributionenabled.test.ts","./src/app/(dashboard)/hooks/uisettings/useuisettings.test.ts","./src/app/(dashboard)/hooks/uisettings/useupdateuisettings.ts","./src/app/(dashboard)/hooks/uisettings/useupdateuisettings.test.ts","./src/app/(dashboard)/hooks/userbanner/useuserbanner.ts","./src/app/(dashboard)/hooks/userbanner/useupdateuserbanner.ts","./src/app/(dashboard)/hooks/users/usecurrentuser.ts","./src/app/(dashboard)/hooks/users/usecurrentuser.test.ts","./src/app/(dashboard)/hooks/users/useusers.ts","./src/app/(dashboard)/hooks/users/useusers.test.ts","./src/app/(dashboard)/mcp-servers/_components/createoauthuistate.ts","./src/app/(dashboard)/mcp-servers/_components/createoauthuistate.test.ts","./src/app/(dashboard)/mcp-servers/_components/utils.tsx","./src/app/(dashboard)/mcp-servers/_components/createserverpayload.ts","./src/app/(dashboard)/mcp-servers/_components/createserverpayload.test.ts","./src/app/(dashboard)/mcp-servers/_components/editserverpayload.ts","./src/app/(dashboard)/mcp-servers/_components/editserverpayload.differential.cases.ts","./src/app/(dashboard)/mcp-servers/_components/editserverpayload.differential.test.ts","./src/app/(dashboard)/mcp-servers/_components/mcpfieldrules.ts","./src/app/(dashboard)/mcp-servers/_components/mcpfieldrules.test.ts","./src/app/(dashboard)/mcp-servers/_components/mcpformstore.ts","./src/app/(dashboard)/mcp-servers/_components/mountedserverfields.ts","./src/app/(dashboard)/mcp-servers/_components/mountedserverfields.test.ts","./node_modules/@testing-library/user-event/dist/types/event/eventmap.d.ts","./node_modules/@testing-library/user-event/dist/types/event/types.d.ts","./node_modules/@testing-library/user-event/dist/types/event/dispatchevent.d.ts","./node_modules/@testing-library/user-event/dist/types/event/focus.d.ts","./node_modules/@testing-library/user-event/dist/types/event/input.d.ts","./node_modules/@testing-library/user-event/dist/types/utils/click/isclickableinput.d.ts","./node_modules/@testing-library/user-event/dist/types/utils/datatransfer/blob.d.ts","./node_modules/@testing-library/user-event/dist/types/utils/datatransfer/datatransfer.d.ts","./node_modules/@testing-library/user-event/dist/types/utils/datatransfer/filelist.d.ts","./node_modules/@testing-library/user-event/dist/types/utils/datatransfer/clipboard.d.ts","./node_modules/@testing-library/user-event/dist/types/utils/edit/timevalue.d.ts","./node_modules/@testing-library/user-event/dist/types/utils/edit/iscontenteditable.d.ts","./node_modules/@testing-library/user-event/dist/types/utils/edit/iseditable.d.ts","./node_modules/@testing-library/user-event/dist/types/utils/edit/maxlength.d.ts","./node_modules/@testing-library/user-event/dist/types/utils/edit/setfiles.d.ts","./node_modules/@testing-library/user-event/dist/types/utils/focus/cursor.d.ts","./node_modules/@testing-library/user-event/dist/types/utils/focus/getactiveelement.d.ts","./node_modules/@testing-library/user-event/dist/types/utils/focus/gettabdestination.d.ts","./node_modules/@testing-library/user-event/dist/types/utils/focus/isfocusable.d.ts","./node_modules/@testing-library/user-event/dist/types/utils/focus/selection.d.ts","./node_modules/@testing-library/user-event/dist/types/utils/focus/selector.d.ts","./node_modules/@testing-library/user-event/dist/types/utils/keydef/readnextdescriptor.d.ts","./node_modules/@testing-library/user-event/dist/types/utils/misc/cloneevent.d.ts","./node_modules/@testing-library/user-event/dist/types/utils/misc/findclosest.d.ts","./node_modules/@testing-library/user-event/dist/types/utils/misc/getdocumentfromnode.d.ts","./node_modules/@testing-library/user-event/dist/types/utils/misc/gettreediff.d.ts","./node_modules/@testing-library/user-event/dist/types/utils/misc/getwindow.d.ts","./node_modules/@testing-library/user-event/dist/types/utils/misc/isdescendantorself.d.ts","./node_modules/@testing-library/user-event/dist/types/utils/misc/iselementtype.d.ts","./node_modules/@testing-library/user-event/dist/types/utils/misc/isvisible.d.ts","./node_modules/@testing-library/user-event/dist/types/utils/misc/isdisabled.d.ts","./node_modules/@testing-library/user-event/dist/types/utils/misc/level.d.ts","./node_modules/@testing-library/user-event/dist/types/utils/misc/wait.d.ts","./node_modules/@testing-library/user-event/dist/types/utils/pointer/csspointerevents.d.ts","./node_modules/@testing-library/user-event/dist/types/utils/index.d.ts","./node_modules/@testing-library/user-event/dist/types/document/ui.d.ts","./node_modules/@testing-library/user-event/dist/types/document/getvalueortextcontent.d.ts","./node_modules/@testing-library/user-event/dist/types/document/copyselection.d.ts","./node_modules/@testing-library/user-event/dist/types/document/trackvalue.d.ts","./node_modules/@testing-library/user-event/dist/types/document/index.d.ts","./node_modules/@testing-library/user-event/dist/types/event/selection/getinputrange.d.ts","./node_modules/@testing-library/user-event/dist/types/event/selection/modifyselection.d.ts","./node_modules/@testing-library/user-event/dist/types/event/selection/moveselection.d.ts","./node_modules/@testing-library/user-event/dist/types/event/selection/setselectionpermouse.d.ts","./node_modules/@testing-library/user-event/dist/types/event/selection/modifyselectionpermouse.d.ts","./node_modules/@testing-library/user-event/dist/types/event/selection/selectall.d.ts","./node_modules/@testing-library/user-event/dist/types/event/selection/setselectionrange.d.ts","./node_modules/@testing-library/user-event/dist/types/event/selection/setselection.d.ts","./node_modules/@testing-library/user-event/dist/types/event/selection/updateselectiononfocus.d.ts","./node_modules/@testing-library/user-event/dist/types/event/selection/index.d.ts","./node_modules/@testing-library/user-event/dist/types/event/index.d.ts","./node_modules/@testing-library/user-event/dist/types/system/pointer/buttons.d.ts","./node_modules/@testing-library/user-event/dist/types/system/pointer/shared.d.ts","./node_modules/@testing-library/user-event/dist/types/system/pointer/index.d.ts","./node_modules/@testing-library/user-event/dist/types/system/index.d.ts","./node_modules/@testing-library/user-event/dist/types/system/keyboard.d.ts","./node_modules/@testing-library/user-event/dist/types/options.d.ts","./node_modules/@testing-library/user-event/dist/types/convenience/click.d.ts","./node_modules/@testing-library/user-event/dist/types/convenience/hover.d.ts","./node_modules/@testing-library/user-event/dist/types/convenience/tab.d.ts","./node_modules/@testing-library/user-event/dist/types/convenience/index.d.ts","./node_modules/@testing-library/user-event/dist/types/keyboard/index.d.ts","./node_modules/@testing-library/user-event/dist/types/clipboard/copy.d.ts","./node_modules/@testing-library/user-event/dist/types/clipboard/cut.d.ts","./node_modules/@testing-library/user-event/dist/types/clipboard/paste.d.ts","./node_modules/@testing-library/user-event/dist/types/clipboard/index.d.ts","./node_modules/@testing-library/user-event/dist/types/pointer/index.d.ts","./node_modules/@testing-library/user-event/dist/types/utility/clear.d.ts","./node_modules/@testing-library/user-event/dist/types/utility/selectoptions.d.ts","./node_modules/@testing-library/user-event/dist/types/utility/type.d.ts","./node_modules/@testing-library/user-event/dist/types/utility/upload.d.ts","./node_modules/@testing-library/user-event/dist/types/utility/index.d.ts","./node_modules/@testing-library/user-event/dist/types/setup/api.d.ts","./node_modules/@testing-library/user-event/dist/types/setup/directapi.d.ts","./node_modules/@testing-library/user-event/dist/types/setup/setup.d.ts","./node_modules/@testing-library/user-event/dist/types/setup/index.d.ts","./node_modules/@testing-library/user-event/dist/types/index.d.ts","./src/app/(dashboard)/mcp-servers/_components/testutils.ts","./src/app/(dashboard)/mcp-servers/_components/toolcallarguments.ts","./src/app/(dashboard)/mcp-servers/_components/toolcallarguments.test.ts","./node_modules/nuqs/dist/defs-butbdnwx.d.ts","./node_modules/nuqs/dist/context-3xask51n.d.ts","./node_modules/nuqs/dist/adapters/testing.d.ts","./node_modules/@standard-schema/spec/dist/index.d.ts","./node_modules/nuqs/dist/index.d.ts","./src/app/(dashboard)/models-and-endpoints/detailnavigation.ts","./src/app/(dashboard)/models-and-endpoints/detailnavigation.test.ts","./src/app/(dashboard)/models-and-endpoints/usemodeldashboarddata.ts","./src/components/add_model/auto_router_strategies.ts","./src/utils/modelpermissions.ts","./src/app/(dashboard)/models-and-endpoints/components/autorouters/autorouterrows.ts","./src/app/(dashboard)/models-and-endpoints/components/autorouters/autorouterrows.test.ts","./src/app/(dashboard)/models-and-endpoints/components/autorouters/fitpills.ts","./src/app/(dashboard)/models-and-endpoints/components/autorouters/fitpills.test.ts","./src/app/(dashboard)/models-and-endpoints/utils/modeldatatransformer.ts","./src/app/(dashboard)/models-and-endpoints/utils/modeldatatransformer.test.ts","./src/components/chat_ui/mode_endpoint_mapping.tsx","./src/app/(dashboard)/playground/components/chat_ui/chatconstants.ts","./src/app/(dashboard)/playground/components/chat_ui/uploadvalidation.ts","./src/app/(dashboard)/playground/components/chat_ui/uploadvalidation.test.ts","./src/app/(dashboard)/playground/llm_calls/fetch_agents.tsx","./src/app/(dashboard)/playground/components/compareui/endpoint_config.ts","./src/app/(dashboard)/playground/components/compareui/endpoint_config.test.ts","./src/utils/promptcacheusage.ts","./src/components/chat_ui/responsemetrics.tsx","./src/components/chat_ui/types.ts","./src/app/(dashboard)/playground/hooks/usechathistory.ts","./src/app/(dashboard)/playground/hooks/usechathistory.test.ts","./src/components/llm_calls/code_interpreter_handler.ts","./src/app/(dashboard)/playground/hooks/usecodeinterpreter.ts","./src/components/policies/types.ts","./src/app/(dashboard)/policies/_components/build_attachment_data.ts","./src/app/(dashboard)/policies/_components/build_attachment_data.test.ts","./src/app/(dashboard)/policies/_components/scope_validation.ts","./src/app/(dashboard)/policies/_components/scope_validation.test.ts","./src/app/(dashboard)/projects/_components/projectmodals/projectformschema.ts","./src/app/(dashboard)/guardrails/_components/content_filter/tagsinput.tsx","./src/components/agent_management/agentselector.tsx","./src/components/common_components/accessgroupselector.tsx","./src/components/common_components/budget_duration_dropdown.tsx","./src/components/common_components/keylifecyclesettings.tsx","./node_modules/@heroicons/react/outline/academiccapicon.d.ts","./node_modules/@heroicons/react/outline/adjustmentsicon.d.ts","./node_modules/@heroicons/react/outline/annotationicon.d.ts","./node_modules/@heroicons/react/outline/archiveicon.d.ts","./node_modules/@heroicons/react/outline/arrowcircledownicon.d.ts","./node_modules/@heroicons/react/outline/arrowcirclelefticon.d.ts","./node_modules/@heroicons/react/outline/arrowcirclerighticon.d.ts","./node_modules/@heroicons/react/outline/arrowcircleupicon.d.ts","./node_modules/@heroicons/react/outline/arrowdownicon.d.ts","./node_modules/@heroicons/react/outline/arrowlefticon.d.ts","./node_modules/@heroicons/react/outline/arrownarrowdownicon.d.ts","./node_modules/@heroicons/react/outline/arrownarrowlefticon.d.ts","./node_modules/@heroicons/react/outline/arrownarrowrighticon.d.ts","./node_modules/@heroicons/react/outline/arrownarrowupicon.d.ts","./node_modules/@heroicons/react/outline/arrowrighticon.d.ts","./node_modules/@heroicons/react/outline/arrowsmdownicon.d.ts","./node_modules/@heroicons/react/outline/arrowsmlefticon.d.ts","./node_modules/@heroicons/react/outline/arrowsmrighticon.d.ts","./node_modules/@heroicons/react/outline/arrowsmupicon.d.ts","./node_modules/@heroicons/react/outline/arrowupicon.d.ts","./node_modules/@heroicons/react/outline/arrowsexpandicon.d.ts","./node_modules/@heroicons/react/outline/atsymbolicon.d.ts","./node_modules/@heroicons/react/outline/backspaceicon.d.ts","./node_modules/@heroicons/react/outline/badgecheckicon.d.ts","./node_modules/@heroicons/react/outline/banicon.d.ts","./node_modules/@heroicons/react/outline/beakericon.d.ts","./node_modules/@heroicons/react/outline/bellicon.d.ts","./node_modules/@heroicons/react/outline/bookopenicon.d.ts","./node_modules/@heroicons/react/outline/bookmarkalticon.d.ts","./node_modules/@heroicons/react/outline/bookmarkicon.d.ts","./node_modules/@heroicons/react/outline/briefcaseicon.d.ts","./node_modules/@heroicons/react/outline/cakeicon.d.ts","./node_modules/@heroicons/react/outline/calculatoricon.d.ts","./node_modules/@heroicons/react/outline/calendaricon.d.ts","./node_modules/@heroicons/react/outline/cameraicon.d.ts","./node_modules/@heroicons/react/outline/cashicon.d.ts","./node_modules/@heroicons/react/outline/chartbaricon.d.ts","./node_modules/@heroicons/react/outline/chartpieicon.d.ts","./node_modules/@heroicons/react/outline/chartsquarebaricon.d.ts","./node_modules/@heroicons/react/outline/chatalt2icon.d.ts","./node_modules/@heroicons/react/outline/chatalticon.d.ts","./node_modules/@heroicons/react/outline/chaticon.d.ts","./node_modules/@heroicons/react/outline/checkcircleicon.d.ts","./node_modules/@heroicons/react/outline/checkicon.d.ts","./node_modules/@heroicons/react/outline/chevrondoubledownicon.d.ts","./node_modules/@heroicons/react/outline/chevrondoublelefticon.d.ts","./node_modules/@heroicons/react/outline/chevrondoublerighticon.d.ts","./node_modules/@heroicons/react/outline/chevrondoubleupicon.d.ts","./node_modules/@heroicons/react/outline/chevrondownicon.d.ts","./node_modules/@heroicons/react/outline/chevronlefticon.d.ts","./node_modules/@heroicons/react/outline/chevronrighticon.d.ts","./node_modules/@heroicons/react/outline/chevronupicon.d.ts","./node_modules/@heroicons/react/outline/chipicon.d.ts","./node_modules/@heroicons/react/outline/clipboardcheckicon.d.ts","./node_modules/@heroicons/react/outline/clipboardcopyicon.d.ts","./node_modules/@heroicons/react/outline/clipboardlisticon.d.ts","./node_modules/@heroicons/react/outline/clipboardicon.d.ts","./node_modules/@heroicons/react/outline/clockicon.d.ts","./node_modules/@heroicons/react/outline/clouddownloadicon.d.ts","./node_modules/@heroicons/react/outline/clouduploadicon.d.ts","./node_modules/@heroicons/react/outline/cloudicon.d.ts","./node_modules/@heroicons/react/outline/codeicon.d.ts","./node_modules/@heroicons/react/outline/cogicon.d.ts","./node_modules/@heroicons/react/outline/collectionicon.d.ts","./node_modules/@heroicons/react/outline/colorswatchicon.d.ts","./node_modules/@heroicons/react/outline/creditcardicon.d.ts","./node_modules/@heroicons/react/outline/cubetransparenticon.d.ts","./node_modules/@heroicons/react/outline/cubeicon.d.ts","./node_modules/@heroicons/react/outline/currencybangladeshiicon.d.ts","./node_modules/@heroicons/react/outline/currencydollaricon.d.ts","./node_modules/@heroicons/react/outline/currencyeuroicon.d.ts","./node_modules/@heroicons/react/outline/currencypoundicon.d.ts","./node_modules/@heroicons/react/outline/currencyrupeeicon.d.ts","./node_modules/@heroicons/react/outline/currencyyenicon.d.ts","./node_modules/@heroicons/react/outline/cursorclickicon.d.ts","./node_modules/@heroicons/react/outline/databaseicon.d.ts","./node_modules/@heroicons/react/outline/desktopcomputericon.d.ts","./node_modules/@heroicons/react/outline/devicemobileicon.d.ts","./node_modules/@heroicons/react/outline/devicetableticon.d.ts","./node_modules/@heroicons/react/outline/documentaddicon.d.ts","./node_modules/@heroicons/react/outline/documentdownloadicon.d.ts","./node_modules/@heroicons/react/outline/documentduplicateicon.d.ts","./node_modules/@heroicons/react/outline/documentremoveicon.d.ts","./node_modules/@heroicons/react/outline/documentreporticon.d.ts","./node_modules/@heroicons/react/outline/documentsearchicon.d.ts","./node_modules/@heroicons/react/outline/documenttexticon.d.ts","./node_modules/@heroicons/react/outline/documenticon.d.ts","./node_modules/@heroicons/react/outline/dotscirclehorizontalicon.d.ts","./node_modules/@heroicons/react/outline/dotshorizontalicon.d.ts","./node_modules/@heroicons/react/outline/dotsverticalicon.d.ts","./node_modules/@heroicons/react/outline/downloadicon.d.ts","./node_modules/@heroicons/react/outline/duplicateicon.d.ts","./node_modules/@heroicons/react/outline/emojihappyicon.d.ts","./node_modules/@heroicons/react/outline/emojisadicon.d.ts","./node_modules/@heroicons/react/outline/exclamationcircleicon.d.ts","./node_modules/@heroicons/react/outline/exclamationicon.d.ts","./node_modules/@heroicons/react/outline/externallinkicon.d.ts","./node_modules/@heroicons/react/outline/eyeofficon.d.ts","./node_modules/@heroicons/react/outline/eyeicon.d.ts","./node_modules/@heroicons/react/outline/fastforwardicon.d.ts","./node_modules/@heroicons/react/outline/filmicon.d.ts","./node_modules/@heroicons/react/outline/filtericon.d.ts","./node_modules/@heroicons/react/outline/fingerprinticon.d.ts","./node_modules/@heroicons/react/outline/fireicon.d.ts","./node_modules/@heroicons/react/outline/flagicon.d.ts","./node_modules/@heroicons/react/outline/folderaddicon.d.ts","./node_modules/@heroicons/react/outline/folderdownloadicon.d.ts","./node_modules/@heroicons/react/outline/folderopenicon.d.ts","./node_modules/@heroicons/react/outline/folderremoveicon.d.ts","./node_modules/@heroicons/react/outline/foldericon.d.ts","./node_modules/@heroicons/react/outline/gifticon.d.ts","./node_modules/@heroicons/react/outline/globealticon.d.ts","./node_modules/@heroicons/react/outline/globeicon.d.ts","./node_modules/@heroicons/react/outline/handicon.d.ts","./node_modules/@heroicons/react/outline/hashtagicon.d.ts","./node_modules/@heroicons/react/outline/hearticon.d.ts","./node_modules/@heroicons/react/outline/homeicon.d.ts","./node_modules/@heroicons/react/outline/identificationicon.d.ts","./node_modules/@heroicons/react/outline/inboxinicon.d.ts","./node_modules/@heroicons/react/outline/inboxicon.d.ts","./node_modules/@heroicons/react/outline/informationcircleicon.d.ts","./node_modules/@heroicons/react/outline/keyicon.d.ts","./node_modules/@heroicons/react/outline/libraryicon.d.ts","./node_modules/@heroicons/react/outline/lightbulbicon.d.ts","./node_modules/@heroicons/react/outline/lightningbolticon.d.ts","./node_modules/@heroicons/react/outline/linkicon.d.ts","./node_modules/@heroicons/react/outline/locationmarkericon.d.ts","./node_modules/@heroicons/react/outline/lockclosedicon.d.ts","./node_modules/@heroicons/react/outline/lockopenicon.d.ts","./node_modules/@heroicons/react/outline/loginicon.d.ts","./node_modules/@heroicons/react/outline/logouticon.d.ts","./node_modules/@heroicons/react/outline/mailopenicon.d.ts","./node_modules/@heroicons/react/outline/mailicon.d.ts","./node_modules/@heroicons/react/outline/mapicon.d.ts","./node_modules/@heroicons/react/outline/menualt1icon.d.ts","./node_modules/@heroicons/react/outline/menualt2icon.d.ts","./node_modules/@heroicons/react/outline/menualt3icon.d.ts","./node_modules/@heroicons/react/outline/menualt4icon.d.ts","./node_modules/@heroicons/react/outline/menuicon.d.ts","./node_modules/@heroicons/react/outline/microphoneicon.d.ts","./node_modules/@heroicons/react/outline/minuscircleicon.d.ts","./node_modules/@heroicons/react/outline/minussmicon.d.ts","./node_modules/@heroicons/react/outline/minusicon.d.ts","./node_modules/@heroicons/react/outline/moonicon.d.ts","./node_modules/@heroicons/react/outline/musicnoteicon.d.ts","./node_modules/@heroicons/react/outline/newspapericon.d.ts","./node_modules/@heroicons/react/outline/officebuildingicon.d.ts","./node_modules/@heroicons/react/outline/paperairplaneicon.d.ts","./node_modules/@heroicons/react/outline/paperclipicon.d.ts","./node_modules/@heroicons/react/outline/pauseicon.d.ts","./node_modules/@heroicons/react/outline/pencilalticon.d.ts","./node_modules/@heroicons/react/outline/pencilicon.d.ts","./node_modules/@heroicons/react/outline/phoneincomingicon.d.ts","./node_modules/@heroicons/react/outline/phonemissedcallicon.d.ts","./node_modules/@heroicons/react/outline/phoneoutgoingicon.d.ts","./node_modules/@heroicons/react/outline/phoneicon.d.ts","./node_modules/@heroicons/react/outline/photographicon.d.ts","./node_modules/@heroicons/react/outline/playicon.d.ts","./node_modules/@heroicons/react/outline/pluscircleicon.d.ts","./node_modules/@heroicons/react/outline/plussmicon.d.ts","./node_modules/@heroicons/react/outline/plusicon.d.ts","./node_modules/@heroicons/react/outline/presentationchartbaricon.d.ts","./node_modules/@heroicons/react/outline/presentationchartlineicon.d.ts","./node_modules/@heroicons/react/outline/printericon.d.ts","./node_modules/@heroicons/react/outline/puzzleicon.d.ts","./node_modules/@heroicons/react/outline/qrcodeicon.d.ts","./node_modules/@heroicons/react/outline/questionmarkcircleicon.d.ts","./node_modules/@heroicons/react/outline/receiptrefundicon.d.ts","./node_modules/@heroicons/react/outline/receipttaxicon.d.ts","./node_modules/@heroicons/react/outline/refreshicon.d.ts","./node_modules/@heroicons/react/outline/replyicon.d.ts","./node_modules/@heroicons/react/outline/rewindicon.d.ts","./node_modules/@heroicons/react/outline/rssicon.d.ts","./node_modules/@heroicons/react/outline/saveasicon.d.ts","./node_modules/@heroicons/react/outline/saveicon.d.ts","./node_modules/@heroicons/react/outline/scaleicon.d.ts","./node_modules/@heroicons/react/outline/scissorsicon.d.ts","./node_modules/@heroicons/react/outline/searchcircleicon.d.ts","./node_modules/@heroicons/react/outline/searchicon.d.ts","./node_modules/@heroicons/react/outline/selectoricon.d.ts","./node_modules/@heroicons/react/outline/servericon.d.ts","./node_modules/@heroicons/react/outline/shareicon.d.ts","./node_modules/@heroicons/react/outline/shieldcheckicon.d.ts","./node_modules/@heroicons/react/outline/shieldexclamationicon.d.ts","./node_modules/@heroicons/react/outline/shoppingbagicon.d.ts","./node_modules/@heroicons/react/outline/shoppingcarticon.d.ts","./node_modules/@heroicons/react/outline/sortascendingicon.d.ts","./node_modules/@heroicons/react/outline/sortdescendingicon.d.ts","./node_modules/@heroicons/react/outline/sparklesicon.d.ts","./node_modules/@heroicons/react/outline/speakerphoneicon.d.ts","./node_modules/@heroicons/react/outline/staricon.d.ts","./node_modules/@heroicons/react/outline/statusofflineicon.d.ts","./node_modules/@heroicons/react/outline/statusonlineicon.d.ts","./node_modules/@heroicons/react/outline/stopicon.d.ts","./node_modules/@heroicons/react/outline/sunicon.d.ts","./node_modules/@heroicons/react/outline/supporticon.d.ts","./node_modules/@heroicons/react/outline/switchhorizontalicon.d.ts","./node_modules/@heroicons/react/outline/switchverticalicon.d.ts","./node_modules/@heroicons/react/outline/tableicon.d.ts","./node_modules/@heroicons/react/outline/tagicon.d.ts","./node_modules/@heroicons/react/outline/templateicon.d.ts","./node_modules/@heroicons/react/outline/terminalicon.d.ts","./node_modules/@heroicons/react/outline/thumbdownicon.d.ts","./node_modules/@heroicons/react/outline/thumbupicon.d.ts","./node_modules/@heroicons/react/outline/ticketicon.d.ts","./node_modules/@heroicons/react/outline/translateicon.d.ts","./node_modules/@heroicons/react/outline/trashicon.d.ts","./node_modules/@heroicons/react/outline/trendingdownicon.d.ts","./node_modules/@heroicons/react/outline/trendingupicon.d.ts","./node_modules/@heroicons/react/outline/truckicon.d.ts","./node_modules/@heroicons/react/outline/uploadicon.d.ts","./node_modules/@heroicons/react/outline/useraddicon.d.ts","./node_modules/@heroicons/react/outline/usercircleicon.d.ts","./node_modules/@heroicons/react/outline/usergroupicon.d.ts","./node_modules/@heroicons/react/outline/userremoveicon.d.ts","./node_modules/@heroicons/react/outline/usericon.d.ts","./node_modules/@heroicons/react/outline/usersicon.d.ts","./node_modules/@heroicons/react/outline/variableicon.d.ts","./node_modules/@heroicons/react/outline/videocameraicon.d.ts","./node_modules/@heroicons/react/outline/viewboardsicon.d.ts","./node_modules/@heroicons/react/outline/viewgridaddicon.d.ts","./node_modules/@heroicons/react/outline/viewgridicon.d.ts","./node_modules/@heroicons/react/outline/viewlisticon.d.ts","./node_modules/@heroicons/react/outline/volumeofficon.d.ts","./node_modules/@heroicons/react/outline/volumeupicon.d.ts","./node_modules/@heroicons/react/outline/wifiicon.d.ts","./node_modules/@heroicons/react/outline/xcircleicon.d.ts","./node_modules/@heroicons/react/outline/xicon.d.ts","./node_modules/@heroicons/react/outline/zoominicon.d.ts","./node_modules/@heroicons/react/outline/zoomouticon.d.ts","./node_modules/@heroicons/react/outline/index.d.ts","./src/components/common_components/modelselector.tsx","./src/components/common_components/modelaliasmanager.tsx","./src/components/common_components/passthroughroutesselector.tsx","./src/components/callback_info_helpers.tsx","./src/components/shared/numerical_input.tsx","./src/components/team/loggingsettings.tsx","./src/components/common_components/premiumloggingsettings.tsx","./src/components/common_components/ratelimittypeformitem.tsx","./src/components/router_settings/latencybasedconfiguration.tsx","./src/components/router_settings/reliabilityretriessection.tsx","./src/components/router_settings/routingstrategyselector.tsx","./src/components/router_settings/tagfilteringtoggle.tsx","./src/components/router_settings/routersettingsform.tsx","./src/components/settings/routersettings/fallbacks/addfallbacksmodal.tsx","./src/components/settings/routersettings/fallbacks/fallbackgroupconfig.tsx","./src/components/settings/routersettings/fallbacks/fallbackselectionform.tsx","./src/components/settings/routersettings/fallbacks/addfallbacks.tsx","./src/components/common_components/routersettingsaccordion.tsx","./src/components/shared/usepaginatedcombobox.ts","./src/components/shared/paginatedsearchselect.tsx","./src/components/common_components/team_dropdown.tsx","./src/components/common_components/organizationdropdown.tsx","./src/components/common_components/projectdropdown.tsx","./src/components/shared/form/formfield.tsx","./src/components/ui/alert.tsx","./src/components/shared/alert.tsx","./node_modules/@types/react-copy-to-clipboard/index.d.ts","./src/components/onboarding_link.tsx","./src/components/createuserbutton.tsx","./src/components/key_team_helpers/budgetfallbackseditor.tsx","./src/components/key_team_helpers/budgetwindowseditor.tsx","./src/components/key_team_helpers/tagratelimiteditor.tsx","./src/components/mcp_server_management/mcpserverselector.tsx","./src/utils/mcptoolcrudclassification.ts","./src/components/mcp_tools/mcpcrudpermissionpanel.tsx","./src/components/mcp_server_management/mcptoolpermissions.tsx","./src/components/shared/createdkeydisplay.tsx","./src/components/vector_store_management/vectorstoreselector.tsx","./src/components/organisms/createkeypayload.ts","./src/components/organisms/utils.ts","./src/components/organisms/create_key_button.tsx","./src/app/(dashboard)/projects/_components/projectmodals/projectbaseform.tsx","./src/app/(dashboard)/projects/_components/projectmodals/projectformutils.ts","./src/app/(dashboard)/projects/_components/projectmodals/projectformutils.test.ts","./src/app/(dashboard)/prompts/_components/prompt_editor_view/types.ts","./src/app/(dashboard)/prompts/_components/prompt_editor_view/utils.ts","./src/app/(dashboard)/prompts/_components/prompt_editor_view/utils.test.ts","./src/app/(dashboard)/prompts/_components/prompt_editor_view/conversation_panel/types.ts","./src/app/(dashboard)/prompts/_components/prompt_editor_view/conversation_panel/useconversation.ts","./src/app/(dashboard)/search-tools/_components/searchtoolpayload.ts","./src/app/(dashboard)/search-tools/_components/searchtoolpayload.test.ts","./src/app/(dashboard)/usage/_components/components/gatewayactivity.ts","./src/app/(dashboard)/usage/_components/components/gatewayactivity.test.ts","./src/app/(dashboard)/usage/_components/components/entityusage/entityusageaggregations.ts","./src/app/(dashboard)/usage/_components/components/entityusage/entityusagesummary.ts","./src/app/(dashboard)/usage/_components/components/entityusage/entityusagesummary.test.ts","./src/app/(dashboard)/usage/_components/hooks/usepaginateddailyactivity.test.ts","./src/app/(dashboard)/users/_components/default-user-settings/schema.ts","./src/app/(dashboard)/users/_components/default-user-settings/mapper.ts","./src/app/(dashboard)/users/_components/default-user-settings/mapper.test.ts","./src/app/(dashboard)/users/_components/default-user-settings/schema.test.ts","./src/components/key_scope.test.ts","./src/components/networking.test.ts","./src/components/page_metadata.ts","./src/contexts/themecontext.tsx","./src/components/ui/scroll-area.tsx","./src/components/shared/sidebar.tsx","./src/components/betabadge.tsx","./src/components/navbar/navdisplayname.ts","./src/components/shared/copybutton.tsx","./src/components/ui/avatar.tsx","./src/components/ui/popover.tsx","./src/components/sidebaraccountmenu/sidebaraccountmenu.tsx","./src/utils/licenseutils.ts","./src/components/sidebarusagecard.tsx","./src/components/leftnav.tsx","./src/components/page_utils.ts","./src/components/page_utils.test.ts","./src/components/cloudzerocosttracking/cloudzeropayload.ts","./src/components/cloudzerocosttracking/cloudzeropayload.test.ts","./src/utils/teamutils.ts","./src/components/shared/date_picker_types.ts","./src/components/entityusageexport/types.ts","./src/components/entityusageexport/exportformatselector.tsx","./src/components/entityusageexport/exportsummary.tsx","./src/components/entityusageexport/exporttypeselector.tsx","./node_modules/@types/papaparse/index.d.ts","./src/components/entityusageexport/utils.ts","./src/components/entityusageexport/entityusageexportmodal.tsx","./src/components/entityusageexport/usageexportheader.tsx","./src/components/entityusageexport/index.ts","./src/components/entityusageexport/utils.test.ts","./src/components/guardrailsmonitor/mockdata.ts","./src/components/modelselect/modelutils.ts","./src/components/modelselect/modelutils.test.ts","./src/components/navbar/navdisplayname.test.ts","./src/components/navbar/navproductlinkclass.ts","./src/components/settings/adminsettings/hashicorpvault/constants.ts","./src/components/settings/adminsettings/mcpsemanticfiltersettings/semanticfiltertestutils.ts","./src/components/settings/adminsettings/mcpsemanticfiltersettings/semanticfiltertestutils.test.ts","./src/components/settings/adminsettings/pluginsettings/schema.ts","./src/components/settings/adminsettings/ssosettings/constants.ts","./src/components/settings/adminsettings/ssosettings/utils.ts","./src/components/settings/adminsettings/ssosettings/utils.test.ts","./src/components/settings/loggingandalerts/loggingcallbacks/types.ts","./src/components/toolpolicies/toolpoliciesqueries.ts","./src/components/usagepage/utils/value_formatters.tsx","./src/components/usagepage/utils/value_formatters.test.ts","./src/components/add_model/build_auto_router_routing_test_request.ts","./src/components/add_model/build_auto_router_routing_test_request.test.ts","./src/components/add_model/build_auto_router_test_targets.ts","./src/components/add_model/build_auto_router_test_targets.test.ts","./src/components/add_model/build_complexity_router_config.test.ts","./src/components/add_model/classifierprompteditorstate.test.ts","./src/components/add_model/complexity_router_keywords.test.ts","./src/components/add_model/complexity_router_tiers.test.ts","./src/components/add_model/heuristic_scoring_knobs.test.ts","./src/components/add_model/tier_rows.test.ts","./src/components/chat/types.ts","./src/components/chat/usechathistory.ts","./src/contexts/chatshellcontext.tsx","./node_modules/dayjs/locale/types.d.ts","./node_modules/dayjs/locale/index.d.ts","./node_modules/dayjs/index.d.ts","./src/components/chat/conversationlist.tsx","./src/components/chat/chatshell.tsx","./src/components/chat/chatshell.serverrootpath.test.ts","./src/components/chat/usechathistory.test.ts","./src/components/claude_code_plugins/helpers.ts","./src/components/claude_code_plugins/helpers.test.ts","./src/components/common_components/formrules.ts","./src/components/common_components/routersettingspayload.ts","./src/components/common_components/routersettingspayload.test.ts","./node_modules/zod/v3/helpers/typealiases.d.cts","./node_modules/zod/v3/helpers/util.d.cts","./node_modules/zod/v3/zoderror.d.cts","./node_modules/zod/v3/locales/en.d.cts","./node_modules/zod/v3/errors.d.cts","./node_modules/zod/v3/helpers/parseutil.d.cts","./node_modules/zod/v3/helpers/enumutil.d.cts","./node_modules/zod/v3/helpers/errorutil.d.cts","./node_modules/zod/v3/helpers/partialutil.d.cts","./node_modules/zod/v3/standard-schema.d.cts","./node_modules/zod/v3/types.d.cts","./node_modules/zod/v3/external.d.cts","./node_modules/zod/v3/index.d.cts","./node_modules/@hookform/resolvers/zod/dist/zod.d.ts","./node_modules/@hookform/resolvers/zod/dist/index.d.ts","./src/lib/forms/usezodform.ts","./src/components/add_model/accessgrouptagscombobox.tsx","./src/components/add_model/modelchoicecombobox.tsx","./src/components/add_model/routerconfigbuilder.tsx","./src/components/edit_auto_router/edit_auto_router_modal.tsx","./src/components/edit_auto_router/build_updated_complexity_router_config.test.ts","./src/components/edit_auto_router/edit_auto_router_modal.test.ts","./src/components/email_events/email_event_settings.tsx","./src/components/email_events/index.ts","./src/components/guardrails/types.ts","./src/components/key_team_helpers/modelmaxbudgeteditor.test.ts","./src/components/key_team_helpers/filter_helpers.ts","./src/components/key_team_helpers/filter_helpers.test.ts","./src/components/key_team_helpers/modelmaxbudgetpayload.ts","./src/components/key_team_helpers/modelmaxbudgetpayload.test.ts","./src/components/key_team_helpers/transform_key_info.tsx","./src/components/key_team_helpers/transform_key_info.test.ts","./src/components/key_team_helpers/useseededstate.ts","./src/components/key_team_helpers/usemodelmaxbudgetfield.ts","./src/components/llm_calls/mcp_tool_blocks.ts","./src/components/llm_calls/mcp_tool_blocks.test.ts","./src/components/mcp_server_management/mcpentitlement.ts","./src/components/model_add/credential_form_helpers.ts","./src/components/model_add/credential_form_helpers.test.ts","./src/components/model_dashboard/types.ts","./src/components/organisms/createkeypayload.test.ts","./src/components/organisms/regeneratekeypayload.ts","./src/components/organisms/regeneratekeypayload.test.ts","./src/components/organisms/utils.test.ts","./src/components/organization/org-settings/schema.ts","./src/components/organization/org-create/mapper.ts","./src/components/organization/org-create/mapper.test.ts","./src/components/organization/org-settings/mapper.ts","./src/components/organization/org-settings/mapper.test.ts","./src/components/routing_groups/routinggrouppayload.ts","./src/components/routing_groups/routinggrouppayload.test.ts","./src/components/routing_groups/strategy.ts","./src/components/shared/charts/colors.ts","./node_modules/@types/d3-time/index.d.ts","./node_modules/@types/d3-scale/index.d.ts","./node_modules/victory-vendor/d3-scale.d.ts","./node_modules/recharts/types/shape/dot.d.ts","./node_modules/recharts/types/component/text.d.ts","./node_modules/recharts/types/zindex/zindexlayer.d.ts","./node_modules/recharts/types/cartesian/getcartesianposition.d.ts","./node_modules/recharts/types/component/label.d.ts","./node_modules/recharts/types/cartesian/cartesianaxis.d.ts","./node_modules/recharts/types/util/scale/customscaledefinition.d.ts","./node_modules/redux/dist/redux.d.ts","./node_modules/immer/dist/immer.d.ts","./node_modules/redux-thunk/dist/redux-thunk.d.ts","./node_modules/@reduxjs/toolkit/dist/uncheckedindexed.ts","./node_modules/@reduxjs/toolkit/dist/index.d.mts","./node_modules/recharts/types/state/cartesianaxisslice.d.ts","./node_modules/recharts/types/synchronisation/types.d.ts","./node_modules/recharts/types/chart/types.d.ts","./node_modules/recharts/types/component/defaulttooltipcontent.d.ts","./node_modules/recharts/types/context/brushupdatecontext.d.ts","./node_modules/recharts/types/state/chartdataslice.d.ts","./node_modules/recharts/types/state/types/linesettings.d.ts","./node_modules/recharts/types/state/types/scattersettings.d.ts","./node_modules/@types/d3-path/index.d.ts","./node_modules/@types/d3-shape/index.d.ts","./node_modules/victory-vendor/d3-shape.d.ts","./node_modules/recharts/types/shape/curve.d.ts","./node_modules/recharts/types/component/labellist.d.ts","./node_modules/recharts/types/component/defaultlegendcontent.d.ts","./node_modules/recharts/types/util/payload/getuniqpayload.d.ts","./node_modules/recharts/types/util/useelementoffset.d.ts","./node_modules/recharts/types/component/legend.d.ts","./node_modules/recharts/types/state/legendslice.d.ts","./node_modules/recharts/types/state/types/stackedgraphicalitem.d.ts","./node_modules/recharts/types/util/stacks/stacktypes.d.ts","./node_modules/recharts/types/util/scale/rechartsscale.d.ts","./node_modules/recharts/types/util/chartutils.d.ts","./node_modules/recharts/types/state/selectors/areaselectors.d.ts","./node_modules/recharts/types/animation/easing.d.ts","./node_modules/recharts/types/animation/matchby.d.ts","./node_modules/recharts/types/animation/animateditems.d.ts","./node_modules/recharts/types/cartesian/arearevealshape.d.ts","./node_modules/recharts/types/cartesian/area.d.ts","./node_modules/recharts/types/state/types/areasettings.d.ts","./node_modules/recharts/types/shape/rectangle.d.ts","./node_modules/recharts/types/cartesian/bar.d.ts","./node_modules/recharts/types/util/barutils.d.ts","./node_modules/recharts/types/state/types/barsettings.d.ts","./node_modules/recharts/types/state/types/radialbarsettings.d.ts","./node_modules/recharts/types/util/svgpropertiesnoevents.d.ts","./node_modules/recharts/types/util/useuniqueid.d.ts","./node_modules/recharts/types/state/types/piesettings.d.ts","./node_modules/recharts/types/state/types/radarsettings.d.ts","./node_modules/recharts/types/state/graphicalitemsslice.d.ts","./node_modules/recharts/types/state/tooltipslice.d.ts","./node_modules/recharts/types/state/optionsslice.d.ts","./node_modules/recharts/types/state/layoutslice.d.ts","./node_modules/recharts/types/util/ifoverflow.d.ts","./node_modules/recharts/types/util/resolvedefaultprops.d.ts","./node_modules/recharts/types/cartesian/referenceline.d.ts","./node_modules/recharts/types/state/referenceelementsslice.d.ts","./node_modules/recharts/types/state/brushslice.d.ts","./node_modules/recharts/types/state/rootpropsslice.d.ts","./node_modules/recharts/types/state/polaraxisslice.d.ts","./node_modules/recharts/types/state/polaroptionsslice.d.ts","./node_modules/recharts/types/cartesian/linedrawshape.d.ts","./node_modules/recharts/types/cartesian/line.d.ts","./node_modules/recharts/types/shape/symbols.d.ts","./node_modules/recharts/types/util/constants.d.ts","./node_modules/recharts/types/util/scatterutils.d.ts","./node_modules/recharts/types/cartesian/scatter.d.ts","./node_modules/recharts/types/cartesian/errorbar.d.ts","./node_modules/recharts/types/state/errorbarslice.d.ts","./node_modules/recharts/types/state/zindexslice.d.ts","./node_modules/recharts/types/state/eventsettingsslice.d.ts","./node_modules/recharts/types/state/renderedticksslice.d.ts","./node_modules/recharts/types/state/store.d.ts","./node_modules/recharts/types/cartesian/getticks.d.ts","./node_modules/recharts/types/cartesian/cartesiangrid.d.ts","./node_modules/recharts/types/state/selectors/combiners/combinedisplayedstackeddata.d.ts","./node_modules/recharts/types/state/selectors/selecttooltipaxistype.d.ts","./node_modules/recharts/types/types.d.ts","./node_modules/recharts/types/hooks.d.ts","./node_modules/recharts/types/state/selectors/axisselectors.d.ts","./node_modules/recharts/types/component/dots.d.ts","./node_modules/recharts/types/util/typeddatakey.d.ts","./node_modules/recharts/types/util/types.d.ts","./node_modules/recharts/types/container/surface.d.ts","./node_modules/recharts/types/container/layer.d.ts","./node_modules/recharts/types/component/cursor.d.ts","./node_modules/recharts/types/component/tooltip.d.ts","./node_modules/recharts/types/component/responsivecontainer.d.ts","./node_modules/recharts/types/component/cell.d.ts","./node_modules/recharts/types/component/customized.d.ts","./node_modules/recharts/types/shape/sector.d.ts","./node_modules/recharts/types/shape/polygon.d.ts","./node_modules/recharts/types/shape/cross.d.ts","./node_modules/recharts/types/polar/polargrid.d.ts","./node_modules/recharts/types/polar/defaultpolarradiusaxisprops.d.ts","./node_modules/recharts/types/polar/polarradiusaxis.d.ts","./node_modules/recharts/types/polar/defaultpolarangleaxisprops.d.ts","./node_modules/recharts/types/polar/polarangleaxis.d.ts","./node_modules/recharts/types/context/tooltipcontext.d.ts","./node_modules/recharts/types/polar/pie.d.ts","./node_modules/recharts/types/polar/radar.d.ts","./node_modules/recharts/types/util/radialbarutils.d.ts","./node_modules/recharts/types/polar/radialbar.d.ts","./node_modules/recharts/types/cartesian/brush.d.ts","./node_modules/recharts/types/cartesian/referencedot.d.ts","./node_modules/recharts/types/util/excludeeventprops.d.ts","./node_modules/recharts/types/util/svgpropertiesandevents.d.ts","./node_modules/recharts/types/cartesian/referencearea.d.ts","./node_modules/recharts/types/cartesian/barstack.d.ts","./node_modules/recharts/types/cartesian/xaxis.d.ts","./node_modules/recharts/types/cartesian/yaxis.d.ts","./node_modules/recharts/types/cartesian/zaxis.d.ts","./node_modules/recharts/types/chart/linechart.d.ts","./node_modules/recharts/types/chart/barchart.d.ts","./node_modules/recharts/types/chart/piechart.d.ts","./node_modules/recharts/types/chart/treemap.d.ts","./node_modules/recharts/types/chart/sankey.d.ts","./node_modules/recharts/types/chart/radarchart.d.ts","./node_modules/recharts/types/chart/scatterchart.d.ts","./node_modules/recharts/types/chart/areachart.d.ts","./node_modules/recharts/types/chart/radialbarchart.d.ts","./node_modules/recharts/types/chart/composedchart.d.ts","./node_modules/recharts/types/chart/sunburstchart.d.ts","./node_modules/recharts/types/shape/trapezoid.d.ts","./node_modules/recharts/types/cartesian/funnel.d.ts","./node_modules/recharts/types/chart/funnelchart.d.ts","./node_modules/recharts/types/util/global.d.ts","./node_modules/recharts/types/animation/animationhandle.d.ts","./node_modules/recharts/types/animation/timeoutcontroller.d.ts","./node_modules/recharts/types/animation/animationcontroller.d.ts","./node_modules/recharts/types/animation/useanimationcontroller.d.ts","./node_modules/recharts/types/zindex/defaultzindexes.d.ts","./node_modules/decimal.js-light/decimal.d.ts","./node_modules/recharts/types/util/scale/getnicetickvalues.d.ts","./node_modules/recharts/types/context/chartlayoutcontext.d.ts","./node_modules/recharts/types/util/getrelativecoordinate.d.ts","./node_modules/recharts/types/util/createcartesiancharts.d.ts","./node_modules/recharts/types/util/createpolarcharts.d.ts","./node_modules/recharts/types/util/datautils.d.ts","./node_modules/recharts/types/index.d.ts","./src/components/ui/chart.tsx","./src/components/shared/charts/chart_tooltip.tsx","./src/components/shared/charts/area_chart.tsx","./src/components/shared/charts/bar_chart.tsx","./src/components/shared/charts/chart_legend.tsx","./src/components/shared/charts/donut_chart.tsx","./src/components/shared/charts/line_chart.tsx","./src/components/shared/charts/index.ts","./src/components/team/memberformvalues.ts","./src/components/team/memberformvalues.test.ts","./src/components/team/tabvisibilityutils.ts","./src/components/team/tabvisibilityutils.test.ts","./src/components/team/teammodelaccess.ts","./src/components/team/teammodelaccess.test.ts","./src/components/team/usemyteammember.ts","./src/components/templates/estimatedoutputtokens.ts","./src/components/templates/estimatedoutputtokens.test.ts","./src/components/templates/keyeditfieldnormalizers.ts","./src/components/key_info_utils.tsx","./src/components/templates/keyeditformvalues.ts","./src/components/templates/keyeditformvalues.test.ts","./src/components/view_logs/constants.ts","./src/components/view_logs/logdetailrouting.ts","./src/components/view_logs/utils.ts","./src/components/view_logs/guardrailviewer/bedrockguardraildetails.tsx","./src/components/view_logs/guardrailviewer/__tests__/fixtures.ts","./src/components/view_logs/logdetailsdrawer/constants.ts","./src/components/view_logs/columns.tsx","./src/components/view_logs/logdetailsdrawer/classifytag.tsx","./node_modules/moment/ts3.1-typings/moment.d.ts","./src/components/view_logs/logdetailsdrawer/drawerheader.tsx","./src/components/view_logs/logdetailsdrawer/usekeyboardnavigation.ts","./src/components/view_logs/guardrailviewer/presidiodetectedentities.tsx","./src/components/view_logs/guardrailviewer/contentfilterdetails.tsx","./src/components/view_logs/guardrailviewer/compliancepanel.tsx","./src/components/view_logs/guardrailviewer/guardrailviewer.tsx","./src/components/view_logs/evalviewer/evalviewer.tsx","./src/components/view_logs/costbreakdownviewer.tsx","./src/components/view_logs/configinfomessage.tsx","./src/components/view_logs/vectorstoreviewer.tsx","./src/components/view_logs/logdetailsdrawer/truncatedvalue.tsx","./src/components/view_logs/logdetailsdrawer/tokenflow.tsx","./node_modules/react-json-view-lite/dist/datarenderer.d.ts","./node_modules/react-json-view-lite/dist/index.d.ts","./src/components/view_logs/logdetailsdrawer/jsonviewer.tsx","./src/components/view_logs/logdetailsdrawer/utils.ts","./src/components/view_logs/toolssection/types.ts","./src/components/view_logs/toolssection/utils.ts","./src/components/view_logs/toolssection/formattedtoolview.tsx","./src/components/view_logs/toolssection/jsontoolview.tsx","./src/components/view_logs/toolssection/toolexpandedcontent.tsx","./src/components/view_logs/toolssection/toolitem.tsx","./src/components/view_logs/toolssection/toolssection.tsx","./src/components/view_logs/toolssection/index.ts","./src/components/view_logs/logdetailsdrawer/prettymessagestypes.ts","./src/components/view_logs/logdetailsdrawer/prettymessagesutils.ts","./src/components/view_logs/logdetailsdrawer/sectionheader.tsx","./src/components/view_logs/logdetailsdrawer/collapsiblemessage.tsx","./src/components/view_logs/logdetailsdrawer/simpletoolcallblock.tsx","./src/components/view_logs/logdetailsdrawer/simplemessageblock.tsx","./src/components/view_logs/logdetailsdrawer/historytree.tsx","./src/components/view_logs/logdetailsdrawer/inputcard.tsx","./src/components/view_logs/logdetailsdrawer/outputcard.tsx","./src/components/view_logs/logdetailsdrawer/realtimeprettyview.tsx","./src/components/view_logs/logdetailsdrawer/prettymessagesview.tsx","./src/components/view_logs/logdetailsdrawer/logdetailcontent.tsx","./src/components/view_logs/logdetailsdrawer/logdetailsdrawer.tsx","./src/components/view_logs/logdetailsdrawer/index.ts","./src/components/view_logs/logdetailsdrawer/utils.test.ts","./src/components/view_logs/toolssection/utils.test.ts","./src/data/insultscomplianceprompts.ts","./src/data/financialcomplianceprompts.ts","./src/data/codeexecutioncomplianceprompts.ts","./src/data/claimscomplianceprompts.ts","./src/data/complianceprompts.ts","./src/data/canadianpiicomplianceprompts.ts","./src/hooks/mcpoauthutils.ts","./src/hooks/usevisitedtabs.ts","./src/hooks/useworker.ts","./src/hooks/policies/usedeletepolicyattachment.ts","./src/lib/assetpaths.test.ts","./src/autorouter_presets.json","./src/lib/autorouter_presets.ts","./src/lib/autorouter_presets.test.ts","./src/lib/cva.config.test.ts","./src/lib/toast.test.ts","./src/lib/forms/pickdirty.ts","./src/lib/forms/pickdirty.test.ts","./src/lib/forms/urlvalidation.ts","./src/lib/forms/urlvalidation.test.ts","./src/lib/http/api.sameorigin.test.ts","./src/lib/http/api.test.ts","./src/lib/http/client.test.ts","./src/lib/http/resolveapibase.test.ts","./src/lib/http/runtime.test.ts","./src/utils/budgetutils.ts","./src/utils/capabilities.test.ts","./src/utils/cookieutils.test.ts","./src/utils/datautils.test.ts","./src/utils/errorpatterns.ts","./src/utils/errorutils.ts","./src/utils/errorutils.test.ts","./src/utils/jwtutils.test.ts","./node_modules/date-fns/constants.d.ts","./node_modules/date-fns/locale/types.d.ts","./node_modules/date-fns/fp/types.d.ts","./node_modules/date-fns/types.d.ts","./node_modules/date-fns/add.d.ts","./node_modules/date-fns/addbusinessdays.d.ts","./node_modules/date-fns/adddays.d.ts","./node_modules/date-fns/addhours.d.ts","./node_modules/date-fns/addisoweekyears.d.ts","./node_modules/date-fns/addmilliseconds.d.ts","./node_modules/date-fns/addminutes.d.ts","./node_modules/date-fns/addmonths.d.ts","./node_modules/date-fns/addquarters.d.ts","./node_modules/date-fns/addseconds.d.ts","./node_modules/date-fns/addweeks.d.ts","./node_modules/date-fns/addyears.d.ts","./node_modules/date-fns/areintervalsoverlapping.d.ts","./node_modules/date-fns/clamp.d.ts","./node_modules/date-fns/closestindexto.d.ts","./node_modules/date-fns/closestto.d.ts","./node_modules/date-fns/compareasc.d.ts","./node_modules/date-fns/comparedesc.d.ts","./node_modules/date-fns/constructfrom.d.ts","./node_modules/date-fns/constructnow.d.ts","./node_modules/date-fns/daystoweeks.d.ts","./node_modules/date-fns/differenceinbusinessdays.d.ts","./node_modules/date-fns/differenceincalendardays.d.ts","./node_modules/date-fns/differenceincalendarisoweekyears.d.ts","./node_modules/date-fns/differenceincalendarisoweeks.d.ts","./node_modules/date-fns/differenceincalendarmonths.d.ts","./node_modules/date-fns/differenceincalendarquarters.d.ts","./node_modules/date-fns/differenceincalendarweeks.d.ts","./node_modules/date-fns/differenceincalendaryears.d.ts","./node_modules/date-fns/differenceindays.d.ts","./node_modules/date-fns/differenceinhours.d.ts","./node_modules/date-fns/differenceinisoweekyears.d.ts","./node_modules/date-fns/differenceinmilliseconds.d.ts","./node_modules/date-fns/differenceinminutes.d.ts","./node_modules/date-fns/differenceinmonths.d.ts","./node_modules/date-fns/differenceinquarters.d.ts","./node_modules/date-fns/differenceinseconds.d.ts","./node_modules/date-fns/differenceinweeks.d.ts","./node_modules/date-fns/differenceinyears.d.ts","./node_modules/date-fns/eachdayofinterval.d.ts","./node_modules/date-fns/eachhourofinterval.d.ts","./node_modules/date-fns/eachminuteofinterval.d.ts","./node_modules/date-fns/eachmonthofinterval.d.ts","./node_modules/date-fns/eachquarterofinterval.d.ts","./node_modules/date-fns/eachweekofinterval.d.ts","./node_modules/date-fns/eachweekendofinterval.d.ts","./node_modules/date-fns/eachweekendofmonth.d.ts","./node_modules/date-fns/eachweekendofyear.d.ts","./node_modules/date-fns/eachyearofinterval.d.ts","./node_modules/date-fns/endofday.d.ts","./node_modules/date-fns/endofdecade.d.ts","./node_modules/date-fns/endofhour.d.ts","./node_modules/date-fns/endofisoweek.d.ts","./node_modules/date-fns/endofisoweekyear.d.ts","./node_modules/date-fns/endofminute.d.ts","./node_modules/date-fns/endofmonth.d.ts","./node_modules/date-fns/endofquarter.d.ts","./node_modules/date-fns/endofsecond.d.ts","./node_modules/date-fns/endoftoday.d.ts","./node_modules/date-fns/endoftomorrow.d.ts","./node_modules/date-fns/endofweek.d.ts","./node_modules/date-fns/endofyear.d.ts","./node_modules/date-fns/endofyesterday.d.ts","./node_modules/date-fns/_lib/format/formatters.d.ts","./node_modules/date-fns/_lib/format/longformatters.d.ts","./node_modules/date-fns/format.d.ts","./node_modules/date-fns/formatdistance.d.ts","./node_modules/date-fns/formatdistancestrict.d.ts","./node_modules/date-fns/formatdistancetonow.d.ts","./node_modules/date-fns/formatdistancetonowstrict.d.ts","./node_modules/date-fns/formatduration.d.ts","./node_modules/date-fns/formatiso.d.ts","./node_modules/date-fns/formatiso9075.d.ts","./node_modules/date-fns/formatisoduration.d.ts","./node_modules/date-fns/formatrfc3339.d.ts","./node_modules/date-fns/formatrfc7231.d.ts","./node_modules/date-fns/formatrelative.d.ts","./node_modules/date-fns/fromunixtime.d.ts","./node_modules/date-fns/getdate.d.ts","./node_modules/date-fns/getday.d.ts","./node_modules/date-fns/getdayofyear.d.ts","./node_modules/date-fns/getdaysinmonth.d.ts","./node_modules/date-fns/getdaysinyear.d.ts","./node_modules/date-fns/getdecade.d.ts","./node_modules/date-fns/_lib/defaultoptions.d.ts","./node_modules/date-fns/getdefaultoptions.d.ts","./node_modules/date-fns/gethours.d.ts","./node_modules/date-fns/getisoday.d.ts","./node_modules/date-fns/getisoweek.d.ts","./node_modules/date-fns/getisoweekyear.d.ts","./node_modules/date-fns/getisoweeksinyear.d.ts","./node_modules/date-fns/getmilliseconds.d.ts","./node_modules/date-fns/getminutes.d.ts","./node_modules/date-fns/getmonth.d.ts","./node_modules/date-fns/getoverlappingdaysinintervals.d.ts","./node_modules/date-fns/getquarter.d.ts","./node_modules/date-fns/getseconds.d.ts","./node_modules/date-fns/gettime.d.ts","./node_modules/date-fns/getunixtime.d.ts","./node_modules/date-fns/getweek.d.ts","./node_modules/date-fns/getweekofmonth.d.ts","./node_modules/date-fns/getweekyear.d.ts","./node_modules/date-fns/getweeksinmonth.d.ts","./node_modules/date-fns/getyear.d.ts","./node_modules/date-fns/hourstomilliseconds.d.ts","./node_modules/date-fns/hourstominutes.d.ts","./node_modules/date-fns/hourstoseconds.d.ts","./node_modules/date-fns/interval.d.ts","./node_modules/date-fns/intervaltoduration.d.ts","./node_modules/date-fns/intlformat.d.ts","./node_modules/date-fns/intlformatdistance.d.ts","./node_modules/date-fns/isafter.d.ts","./node_modules/date-fns/isbefore.d.ts","./node_modules/date-fns/isdate.d.ts","./node_modules/date-fns/isequal.d.ts","./node_modules/date-fns/isexists.d.ts","./node_modules/date-fns/isfirstdayofmonth.d.ts","./node_modules/date-fns/isfriday.d.ts","./node_modules/date-fns/isfuture.d.ts","./node_modules/date-fns/islastdayofmonth.d.ts","./node_modules/date-fns/isleapyear.d.ts","./node_modules/date-fns/ismatch.d.ts","./node_modules/date-fns/ismonday.d.ts","./node_modules/date-fns/ispast.d.ts","./node_modules/date-fns/issameday.d.ts","./node_modules/date-fns/issamehour.d.ts","./node_modules/date-fns/issameisoweek.d.ts","./node_modules/date-fns/issameisoweekyear.d.ts","./node_modules/date-fns/issameminute.d.ts","./node_modules/date-fns/issamemonth.d.ts","./node_modules/date-fns/issamequarter.d.ts","./node_modules/date-fns/issamesecond.d.ts","./node_modules/date-fns/issameweek.d.ts","./node_modules/date-fns/issameyear.d.ts","./node_modules/date-fns/issaturday.d.ts","./node_modules/date-fns/issunday.d.ts","./node_modules/date-fns/isthishour.d.ts","./node_modules/date-fns/isthisisoweek.d.ts","./node_modules/date-fns/isthisminute.d.ts","./node_modules/date-fns/isthismonth.d.ts","./node_modules/date-fns/isthisquarter.d.ts","./node_modules/date-fns/isthissecond.d.ts","./node_modules/date-fns/isthisweek.d.ts","./node_modules/date-fns/isthisyear.d.ts","./node_modules/date-fns/isthursday.d.ts","./node_modules/date-fns/istoday.d.ts","./node_modules/date-fns/istomorrow.d.ts","./node_modules/date-fns/istuesday.d.ts","./node_modules/date-fns/isvalid.d.ts","./node_modules/date-fns/iswednesday.d.ts","./node_modules/date-fns/isweekend.d.ts","./node_modules/date-fns/iswithininterval.d.ts","./node_modules/date-fns/isyesterday.d.ts","./node_modules/date-fns/lastdayofdecade.d.ts","./node_modules/date-fns/lastdayofisoweek.d.ts","./node_modules/date-fns/lastdayofisoweekyear.d.ts","./node_modules/date-fns/lastdayofmonth.d.ts","./node_modules/date-fns/lastdayofquarter.d.ts","./node_modules/date-fns/lastdayofweek.d.ts","./node_modules/date-fns/lastdayofyear.d.ts","./node_modules/date-fns/_lib/format/lightformatters.d.ts","./node_modules/date-fns/lightformat.d.ts","./node_modules/date-fns/max.d.ts","./node_modules/date-fns/milliseconds.d.ts","./node_modules/date-fns/millisecondstohours.d.ts","./node_modules/date-fns/millisecondstominutes.d.ts","./node_modules/date-fns/millisecondstoseconds.d.ts","./node_modules/date-fns/min.d.ts","./node_modules/date-fns/minutestohours.d.ts","./node_modules/date-fns/minutestomilliseconds.d.ts","./node_modules/date-fns/minutestoseconds.d.ts","./node_modules/date-fns/monthstoquarters.d.ts","./node_modules/date-fns/monthstoyears.d.ts","./node_modules/date-fns/nextday.d.ts","./node_modules/date-fns/nextfriday.d.ts","./node_modules/date-fns/nextmonday.d.ts","./node_modules/date-fns/nextsaturday.d.ts","./node_modules/date-fns/nextsunday.d.ts","./node_modules/date-fns/nextthursday.d.ts","./node_modules/date-fns/nexttuesday.d.ts","./node_modules/date-fns/nextwednesday.d.ts","./node_modules/date-fns/parse/_lib/types.d.ts","./node_modules/date-fns/parse/_lib/setter.d.ts","./node_modules/date-fns/parse/_lib/parser.d.ts","./node_modules/date-fns/parse/_lib/parsers.d.ts","./node_modules/date-fns/parse.d.ts","./node_modules/date-fns/parseiso.d.ts","./node_modules/date-fns/parsejson.d.ts","./node_modules/date-fns/previousday.d.ts","./node_modules/date-fns/previousfriday.d.ts","./node_modules/date-fns/previousmonday.d.ts","./node_modules/date-fns/previoussaturday.d.ts","./node_modules/date-fns/previoussunday.d.ts","./node_modules/date-fns/previousthursday.d.ts","./node_modules/date-fns/previoustuesday.d.ts","./node_modules/date-fns/previouswednesday.d.ts","./node_modules/date-fns/quarterstomonths.d.ts","./node_modules/date-fns/quarterstoyears.d.ts","./node_modules/date-fns/roundtonearesthours.d.ts","./node_modules/date-fns/roundtonearestminutes.d.ts","./node_modules/date-fns/secondstohours.d.ts","./node_modules/date-fns/secondstomilliseconds.d.ts","./node_modules/date-fns/secondstominutes.d.ts","./node_modules/date-fns/set.d.ts","./node_modules/date-fns/setdate.d.ts","./node_modules/date-fns/setday.d.ts","./node_modules/date-fns/setdayofyear.d.ts","./node_modules/date-fns/setdefaultoptions.d.ts","./node_modules/date-fns/sethours.d.ts","./node_modules/date-fns/setisoday.d.ts","./node_modules/date-fns/setisoweek.d.ts","./node_modules/date-fns/setisoweekyear.d.ts","./node_modules/date-fns/setmilliseconds.d.ts","./node_modules/date-fns/setminutes.d.ts","./node_modules/date-fns/setmonth.d.ts","./node_modules/date-fns/setquarter.d.ts","./node_modules/date-fns/setseconds.d.ts","./node_modules/date-fns/setweek.d.ts","./node_modules/date-fns/setweekyear.d.ts","./node_modules/date-fns/setyear.d.ts","./node_modules/date-fns/startofday.d.ts","./node_modules/date-fns/startofdecade.d.ts","./node_modules/date-fns/startofhour.d.ts","./node_modules/date-fns/startofisoweek.d.ts","./node_modules/date-fns/startofisoweekyear.d.ts","./node_modules/date-fns/startofminute.d.ts","./node_modules/date-fns/startofmonth.d.ts","./node_modules/date-fns/startofquarter.d.ts","./node_modules/date-fns/startofsecond.d.ts","./node_modules/date-fns/startoftoday.d.ts","./node_modules/date-fns/startoftomorrow.d.ts","./node_modules/date-fns/startofweek.d.ts","./node_modules/date-fns/startofweekyear.d.ts","./node_modules/date-fns/startofyear.d.ts","./node_modules/date-fns/startofyesterday.d.ts","./node_modules/date-fns/sub.d.ts","./node_modules/date-fns/subbusinessdays.d.ts","./node_modules/date-fns/subdays.d.ts","./node_modules/date-fns/subhours.d.ts","./node_modules/date-fns/subisoweekyears.d.ts","./node_modules/date-fns/submilliseconds.d.ts","./node_modules/date-fns/subminutes.d.ts","./node_modules/date-fns/submonths.d.ts","./node_modules/date-fns/subquarters.d.ts","./node_modules/date-fns/subseconds.d.ts","./node_modules/date-fns/subweeks.d.ts","./node_modules/date-fns/subyears.d.ts","./node_modules/date-fns/todate.d.ts","./node_modules/date-fns/transpose.d.ts","./node_modules/date-fns/weekstodays.d.ts","./node_modules/date-fns/yearstodays.d.ts","./node_modules/date-fns/yearstomonths.d.ts","./node_modules/date-fns/yearstoquarters.d.ts","./node_modules/date-fns/index.d.ts","./src/utils/keyexpiryutils.ts","./src/utils/keyexpiryutils.test.ts","./src/utils/keyupdateutils.ts","./src/utils/keyupdateutils.test.ts","./src/utils/licenseutils.test.ts","./src/utils/localstorageutils.test.ts","./src/utils/maskedsecretutils.ts","./src/utils/mcpheaderutils.ts","./src/utils/mcpheaderutils.test.ts","./src/utils/mcptokenstore.test.ts","./src/utils/mcptoolcrudclassification.test.ts","./src/utils/migratedpages.test.ts","./src/utils/modelpermissions.test.ts","./src/utils/pkce.ts","./src/utils/promptcacheusage.test.ts","./src/utils/proxyutils.test.ts","./node_modules/dayjs/plugin/utc.d.ts","./src/utils/ptudatetime.ts","./src/utils/ptudatetime.test.ts","./src/utils/ptuvalidation.ts","./src/utils/ptumodelinfo.ts","./src/utils/ptumodelinfo.test.ts","./src/utils/ptuvalidation.test.ts","./src/utils/returnurlutils.test.ts","./src/utils/roles.test.ts","./src/utils/tabroutes.test.ts","./src/utils/teamutils.test.ts","./src/utils/textutils.test.ts","./node_modules/@types/json-schema/index.d.ts","./node_modules/@eslint/core/dist/cjs/types.d.cts","./node_modules/eslint/lib/types/use-at-your-own-risk.d.ts","./node_modules/eslint/lib/types/index.d.ts","./tests/fetch-location-rule.test.ts","./node_modules/vitest/dist/environments.d.ts","./tests/jsdomfetchenv.ts","./scripts/lint-budget-lib.mjs","./tests/lint-budget-lib.test.ts","./tests/setup.unit.ts","./node_modules/@testing-library/jest-dom/types/matchers.d.ts","./node_modules/@testing-library/jest-dom/types/jest.d.ts","./node_modules/@testing-library/jest-dom/types/index.d.ts","./tests/setuptests.ts","./scripts/eslint-rules/filename-pascal-case.mjs","./tests/eslint-rules/filename-pascal-case.test.ts","./scripts/eslint-rules/no-ad-hoc-z-index.mjs","./tests/eslint-rules/no-ad-hoc-z-index.test.ts","./scripts/eslint-rules/no-complex-jsx-arrow.mjs","./tests/eslint-rules/no-complex-jsx-arrow.test.ts","./scripts/eslint-rules/no-large-inline-object-arg.mjs","./tests/eslint-rules/no-large-inline-object-arg.test.ts","./scripts/eslint-rules/no-long-condition-chain.mjs","./tests/eslint-rules/no-long-condition-chain.test.ts","./scripts/eslint-rules/no-noop-hover-variant.mjs","./tests/eslint-rules/no-noop-hover-variant.test.ts","./tests/mocks/complexityscorerdefaults.ts","./node_modules/next/dist/compiled/@next/font/dist/types.d.ts","./node_modules/next/dist/compiled/@next/font/dist/google/index.d.ts","./node_modules/next/font/google/index.d.ts","./node_modules/nuqs/dist/adapters/next/app.d.ts","./src/contexts/authcontext.tsx","./src/contexts/reactqueryprovider.tsx","./src/components/ui/sonner.tsx","./src/app/layout.tsx","./src/components/ui/breadcrumb.tsx","./src/components/shared/toolbarseparator.tsx","./src/components/navbar/blogdropdown/blogdropdown.tsx","./src/components/ui/button-group.tsx","./src/components/navbar/communityengagementbuttons/communityengagementbuttons.tsx","./src/components/navbar/notificationsbell/notificationsbell.tsx","./src/contexts/pluginmodecontext.tsx","./src/components/navbar/viewswitcher.tsx","./src/components/themetoggle/themetoggle.tsx","./src/components/navbar/workerdropdown/workerdropdown.tsx","./src/components/dashboardheader.tsx","./src/components/navbar/userdropdown/userdropdown.tsx","./src/components/navbar.tsx","./src/components/common_components/loadingscreen.tsx","./src/app/(dashboard)/components/sidebarprovider.tsx","./src/components/debugwarningbanner.tsx","./src/components/norediswarningbanner.tsx","./src/components/licenseexpirybanner.tsx","./node_modules/@types/unist/index.d.ts","./node_modules/@types/hast/index.d.ts","./node_modules/vfile-message/lib/index.d.ts","./node_modules/vfile-message/index.d.ts","./node_modules/vfile/lib/index.d.ts","./node_modules/vfile/index.d.ts","./node_modules/unified/lib/callable-instance.d.ts","./node_modules/trough/lib/index.d.ts","./node_modules/trough/index.d.ts","./node_modules/unified/lib/index.d.ts","./node_modules/unified/index.d.ts","./node_modules/@types/mdast/index.d.ts","./node_modules/mdast-util-to-hast/lib/state.d.ts","./node_modules/mdast-util-to-hast/lib/footer.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/blockquote.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/break.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/code.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/delete.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/emphasis.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/footnote-reference.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/heading.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/html.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/image-reference.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/image.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/inline-code.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/link-reference.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/link.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/list-item.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/list.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/paragraph.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/root.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/strong.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/table.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/table-cell.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/table-row.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/text.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/thematic-break.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/index.d.ts","./node_modules/mdast-util-to-hast/lib/index.d.ts","./node_modules/mdast-util-to-hast/index.d.ts","./node_modules/remark-rehype/lib/index.d.ts","./node_modules/remark-rehype/index.d.ts","./node_modules/react-markdown/lib/index.d.ts","./node_modules/react-markdown/index.d.ts","./node_modules/micromark-util-types/index.d.ts","./node_modules/micromark-extension-gfm-footnote/lib/html.d.ts","./node_modules/micromark-extension-gfm-footnote/lib/syntax.d.ts","./node_modules/micromark-extension-gfm-footnote/index.d.ts","./node_modules/micromark-extension-gfm-strikethrough/lib/html.d.ts","./node_modules/micromark-extension-gfm-strikethrough/lib/syntax.d.ts","./node_modules/micromark-extension-gfm-strikethrough/index.d.ts","./node_modules/micromark-extension-gfm/index.d.ts","./node_modules/mdast-util-from-markdown/lib/types.d.ts","./node_modules/mdast-util-from-markdown/lib/index.d.ts","./node_modules/mdast-util-from-markdown/index.d.ts","./node_modules/mdast-util-to-markdown/lib/types.d.ts","./node_modules/mdast-util-to-markdown/lib/index.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/blockquote.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/break.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/code.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/definition.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/emphasis.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/heading.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/html.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/image.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/image-reference.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/inline-code.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/link.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/link-reference.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/list.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/list-item.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/paragraph.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/root.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/strong.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/text.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/thematic-break.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/index.d.ts","./node_modules/mdast-util-to-markdown/index.d.ts","./node_modules/mdast-util-gfm-footnote/lib/index.d.ts","./node_modules/mdast-util-gfm-footnote/index.d.ts","./node_modules/markdown-table/index.d.ts","./node_modules/mdast-util-gfm-table/lib/index.d.ts","./node_modules/mdast-util-gfm-table/index.d.ts","./node_modules/mdast-util-gfm/lib/index.d.ts","./node_modules/mdast-util-gfm/index.d.ts","./node_modules/remark-gfm/lib/index.d.ts","./node_modules/remark-gfm/index.d.ts","./src/components/userbanner.tsx","./src/app/(dashboard)/layout.tsx","./src/app/(dashboard)/agentcontrolplaneview.test.tsx","./src/app/(dashboard)/layout.test.tsx","./src/components/common_components/fetch_teams.tsx","./src/components/shared/pageheader.tsx","./src/app/(dashboard)/hooks/useteams.tsx","./src/components/ui/hover-card.tsx","./src/components/common_components/defaultproxyadmintag.tsx","./src/components/common_components/labeledfield.tsx","./src/components/templates/keyinfoheader.tsx","./src/components/shared/advanced_date_picker.tsx","./src/components/shared/summarycard.tsx","./src/components/shared/savingstiles.tsx","./src/components/templates/keysavingstab.tsx","./src/components/common_components/autorotationview.tsx","./src/components/common_components/deleteresourcemodal.tsx","./src/components/common_components/routersettingssummary.tsx","./src/components/logging_settings_view.tsx","./src/components/permissions/vectorstorepermissions.tsx","./src/components/permissions/mcpserverpermissions.tsx","./src/components/permissions/agentpermissions.tsx","./src/components/object_permissions_view.tsx","./src/components/organisms/regeneratekeymodal.tsx","./src/components/shared/errorutils.tsx","./src/components/guardrails/guardrailselector.tsx","./src/components/policies/policyselector.tsx","./src/components/templates/keyeditviewcontrols.tsx","./src/components/team/editloggingsettings.tsx","./src/components/templates/key_edit_view.tsx","./src/components/templates/key_info_view.tsx","./src/components/virtualkeyspage/keytablecolumns.tsx","./src/components/virtualkeyspage/virtualkeystable.tsx","./src/components/user_dashboard.tsx","./src/app/(dashboard)/api-keys/apikeysdashboard.tsx","./src/app/(dashboard)/page.tsx","./src/app/(dashboard)/page.test.tsx","./src/components/modelselect/modelselect.tsx","./src/app/(dashboard)/access-groups/_components/accessgroupsmodal/accessgroupbaseform.tsx","./src/app/(dashboard)/access-groups/_components/accessgroupsmodal/accessgroupeditmodal.tsx","./src/app/(dashboard)/access-groups/_components/accessgroupsdetailspage.tsx","./src/app/(dashboard)/access-groups/_components/access-group-create/accessgroupcreatedialog.tsx","./src/app/(dashboard)/access-groups/_components/accessgroupstablecolumns.tsx","./src/app/(dashboard)/access-groups/_components/accessgroupstable.tsx","./src/app/(dashboard)/access-groups/_components/accessgroupspage.tsx","./src/app/(dashboard)/access-groups/page.tsx","./tests/test-utils.tsx","./src/app/(dashboard)/access-groups/_components/accessgroupsdetailspage.test.tsx","./src/app/(dashboard)/access-groups/_components/accessgroupspage.test.tsx","./src/app/(dashboard)/access-groups/_components/accessgroupsmodal/accessgroupeditmodal.integration.test.tsx","./src/app/(dashboard)/access-groups/_components/access-group-create/accessgroupcreatedialog.test.tsx","./src/components/constants.tsx","./src/components/scim.tsx","./src/components/settings/adminsettings/loggingsettings/loggingsettings.tsx","./src/components/shared/passwordinput.tsx","./src/components/settings/adminsettings/ssosettings/modals/basessosettingsform.tsx","./src/components/settings/adminsettings/ssosettings/modals/addssosettingsmodal.tsx","./src/components/settings/adminsettings/ssosettings/modals/deletessosettingsmodal.tsx","./src/components/settings/adminsettings/ssosettings/modals/editssosettingsmodal.tsx","./src/components/settings/adminsettings/ssosettings/redactablefield.tsx","./src/components/settings/adminsettings/ssosettings/rolemappings.tsx","./src/components/settings/adminsettings/ssosettings/ssosettingsemptyplaceholder.tsx","./src/components/settings/adminsettings/ssosettings/ssosettingsloadingskeleton.tsx","./src/components/settings/adminsettings/ssosettings/ssosettings.tsx","./src/components/settings/adminsettings/uisettings/pagevisibilitysettings.tsx","./src/components/settings/adminsettings/uisettings/uisettings.tsx","./src/components/settings/adminsettings/userbannersettings/userbannersettings.tsx","./src/components/settings/adminsettings/hashicorpvault/edithashicorpvaultmodal.tsx","./src/components/settings/adminsettings/hashicorpvault/hashicorpvaultemptyplaceholder.tsx","./src/components/settings/adminsettings/hashicorpvault/hashicorpvault.tsx","./src/components/settings/adminsettings/pluginsettings/pluginsettings.tsx","./src/components/ssomodals.tsx","./src/components/uiaccesscontrolform.tsx","./src/app/(dashboard)/admin-panel/_components/adminpanel.tsx","./src/app/(dashboard)/admin-panel/page.tsx","./src/app/(dashboard)/admin-panel/_components/adminpanel.test.tsx","./src/app/(dashboard)/agents/_components/agentformkit.tsx","./src/app/(dashboard)/agents/_components/cost_config_fields.tsx","./src/app/(dashboard)/agents/_components/agent_form_fields.tsx","./src/app/(dashboard)/agents/_components/agent_card_discovery.tsx","./src/app/(dashboard)/agents/_components/dynamic_agent_form_fields.tsx","./src/app/(dashboard)/agents/_components/add_agent_form.tsx","./src/app/(dashboard)/agents/_components/agent_virtual_keys.tsx","./src/app/(dashboard)/agents/_components/agent_cost_view.tsx","./src/app/(dashboard)/agents/_components/agent_info.tsx","./src/app/(dashboard)/agents/_components/agentstablecolumns.tsx","./src/app/(dashboard)/agents/_components/agentstable.tsx","./src/app/(dashboard)/agents/_components/agentspanel.tsx","./src/app/(dashboard)/agents/page.tsx","./src/app/(dashboard)/agents/_components/agentspanel.test.tsx","./src/app/(dashboard)/agents/_components/agentstable.test.tsx","./src/app/(dashboard)/agents/_components/add_agent_form.integration.test.tsx","./src/app/(dashboard)/agents/_components/add_agent_form.test.tsx","./src/app/(dashboard)/agents/_components/agent_card_discovery.test.tsx","./src/app/(dashboard)/agents/_components/agent_cost_view.test.tsx","./src/app/(dashboard)/agents/_components/agent_info.integration.test.tsx","./src/app/(dashboard)/agents/_components/agent_info.test.tsx","./src/app/(dashboard)/agents/_components/agent_virtual_keys.test.tsx","./src/app/(dashboard)/api-keys/apikeysdashboard.test.tsx","./src/app/(dashboard)/api-keys/page.tsx","./src/app/(dashboard)/api-reference/_components/doclink.tsx","./src/app/(dashboard)/api-reference/_components/apireferenceview.tsx","./src/components/deprecationbanner.tsx","./src/app/(dashboard)/api-reference/page.tsx","./src/app/(dashboard)/api-reference/_components/apireferenceview.test.tsx","./src/app/(dashboard)/budgets/_components/budget_modal.tsx","./src/app/(dashboard)/budgets/_components/budgettablecolumns.tsx","./src/app/(dashboard)/budgets/_components/budgettable.tsx","./src/app/(dashboard)/budgets/_components/edit_budget_modal.tsx","./src/app/(dashboard)/budgets/_components/budget_panel.tsx","./src/app/(dashboard)/budgets/page.tsx","./src/app/(dashboard)/budgets/_components/budgettable.test.tsx","./src/app/(dashboard)/budgets/_components/budget_modal.integration.test.tsx","./src/app/(dashboard)/budgets/_components/budget_panel.test.tsx","./src/app/(dashboard)/budgets/_components/edit_budget_modal.integration.test.tsx","./src/app/(dashboard)/caching/_components/response_time_indicator.tsx","./src/app/(dashboard)/caching/_components/cache_health.tsx","./src/app/(dashboard)/caching/_components/cache_settings/redistypeselector.tsx","./src/app/(dashboard)/caching/_components/cache_settings/cacheformfield.tsx","./src/app/(dashboard)/caching/_components/cache_settings/cachefieldsection.tsx","./src/app/(dashboard)/caching/_components/cache_settings/index.tsx","./src/app/(dashboard)/caching/_components/coordination_redis_settings/coordinationredisformfield.tsx","./src/app/(dashboard)/caching/_components/coordination_redis_settings/coordinationredisfieldsection.tsx","./src/app/(dashboard)/caching/_components/coordination_redis_settings/coordinationredistypeselector.tsx","./src/app/(dashboard)/caching/_components/coordination_redis_settings/index.tsx","./src/app/(dashboard)/caching/_components/errordrilldown.tsx","./src/app/(dashboard)/caching/_components/cache_dashboard.tsx","./src/app/(dashboard)/caching/page.tsx","./src/app/(dashboard)/caching/_components/errordrilldown.test.tsx","./src/app/(dashboard)/caching/_components/cache_dashboard.test.tsx","./src/app/(dashboard)/caching/_components/cache_health.test.tsx","./src/app/(dashboard)/caching/_components/cache_settings/redistypeselector.test.tsx","./src/app/(dashboard)/caching/_components/cache_settings/index.integration.test.tsx","./src/app/(dashboard)/caching/_components/cache_settings/index.test.tsx","./src/app/(dashboard)/caching/_components/coordination_redis_settings/coordinationredistypeselector.test.tsx","./src/app/(dashboard)/caching/_components/coordination_redis_settings/index.integration.test.tsx","./src/app/(dashboard)/caching/_components/coordination_redis_settings/index.test.tsx","./src/components/shared/paginationstatusalerts.tsx","./src/app/(dashboard)/cost-optimization/_components/usagetab.tsx","./src/app/(dashboard)/cost-optimization/_components/promptcompressiontab.tsx","./src/components/router_settings/index.tsx","./node_modules/openai/_shims/manual-types.d.ts","./node_modules/openai/_shims/auto/types.d.ts","./node_modules/openai/streaming.d.ts","./node_modules/openai/error.d.ts","./node_modules/openai/_shims/multipartbody.d.ts","./node_modules/openai/uploads.d.ts","./node_modules/openai/core.d.ts","./node_modules/openai/_shims/index.d.ts","./node_modules/openai/pagination.d.ts","./node_modules/openai/resources/shared.d.ts","./node_modules/openai/resources/batches.d.ts","./node_modules/openai/resources/chat/completions/messages.d.ts","./node_modules/openai/resources/chat/completions/completions.d.ts","./node_modules/openai/resources/completions.d.ts","./node_modules/openai/resources/embeddings.d.ts","./node_modules/openai/resources/files.d.ts","./node_modules/openai/resources/images.d.ts","./node_modules/openai/resources/models.d.ts","./node_modules/openai/resources/moderations.d.ts","./node_modules/openai/resources/audio/speech.d.ts","./node_modules/openai/resources/audio/transcriptions.d.ts","./node_modules/openai/resources/audio/translations.d.ts","./node_modules/openai/resources/audio/audio.d.ts","./node_modules/openai/resources/beta/threads/messages.d.ts","./node_modules/openai/resources/beta/threads/runs/steps.d.ts","./node_modules/openai/resources/beta/threads/runs/runs.d.ts","./node_modules/openai/lib/eventstream.d.ts","./node_modules/openai/lib/assistantstream.d.ts","./node_modules/openai/resources/beta/threads/threads.d.ts","./node_modules/openai/resources/beta/assistants.d.ts","./node_modules/openai/resources/chat/completions.d.ts","./node_modules/openai/lib/abstractchatcompletionrunner.d.ts","./node_modules/openai/lib/chatcompletionstream.d.ts","./node_modules/openai/lib/responsesparser.d.ts","./node_modules/openai/resources/responses/input-items.d.ts","./node_modules/openai/lib/responses/eventtypes.d.ts","./node_modules/openai/lib/responses/responsestream.d.ts","./node_modules/openai/resources/responses/responses.d.ts","./node_modules/openai/lib/parser.d.ts","./node_modules/openai/lib/chatcompletionstreamingrunner.d.ts","./node_modules/openai/lib/jsonschema.d.ts","./node_modules/openai/lib/runnablefunction.d.ts","./node_modules/openai/lib/chatcompletionrunner.d.ts","./node_modules/openai/resources/beta/chat/completions.d.ts","./node_modules/openai/resources/beta/chat/chat.d.ts","./node_modules/openai/resources/beta/realtime/sessions.d.ts","./node_modules/openai/resources/beta/realtime/transcription-sessions.d.ts","./node_modules/openai/resources/beta/realtime/realtime.d.ts","./node_modules/openai/resources/beta/beta.d.ts","./node_modules/openai/resources/containers/files/content.d.ts","./node_modules/openai/resources/containers/files/files.d.ts","./node_modules/openai/resources/containers/containers.d.ts","./node_modules/openai/resources/graders/grader-models.d.ts","./node_modules/openai/resources/evals/runs/output-items.d.ts","./node_modules/openai/resources/evals/runs/runs.d.ts","./node_modules/openai/resources/evals/evals.d.ts","./node_modules/openai/resources/fine-tuning/methods.d.ts","./node_modules/openai/resources/fine-tuning/alpha/graders.d.ts","./node_modules/openai/resources/fine-tuning/alpha/alpha.d.ts","./node_modules/openai/resources/fine-tuning/checkpoints/permissions.d.ts","./node_modules/openai/resources/fine-tuning/checkpoints/checkpoints.d.ts","./node_modules/openai/resources/fine-tuning/jobs/checkpoints.d.ts","./node_modules/openai/resources/fine-tuning/jobs/jobs.d.ts","./node_modules/openai/resources/fine-tuning/fine-tuning.d.ts","./node_modules/openai/resources/graders/graders.d.ts","./node_modules/openai/resources/uploads/parts.d.ts","./node_modules/openai/resources/uploads/uploads.d.ts","./node_modules/openai/resources/vector-stores/files.d.ts","./node_modules/openai/resources/vector-stores/file-batches.d.ts","./node_modules/openai/resources/vector-stores/vector-stores.d.ts","./node_modules/openai/index.d.ts","./node_modules/openai/resource.d.ts","./node_modules/openai/resources/chat/chat.d.ts","./node_modules/openai/resources/chat/completions/index.d.ts","./node_modules/openai/resources/chat/index.d.ts","./node_modules/openai/resources/index.d.ts","./node_modules/openai/index.d.mts","./src/components/molecules/models/providerlogo.tsx","./src/components/settings/routersettings/fallbacks/editfallbacks.tsx","./src/components/settings/routersettings/fallbacks/fallbacks.tsx","./src/components/routing_groups/routinggroupusagepanel.tsx","./src/components/routing_groups/routinggroupstablecolumns.tsx","./src/components/routing_groups/routinggroupstable.tsx","./src/components/routing_groups/routinggroupmodal.tsx","./src/components/routing_groups/index.tsx","./src/app/(dashboard)/router-settings/_components/general_settings.tsx","./src/app/(dashboard)/cost-optimization/_components/cacheleakagecard.tsx","./src/app/(dashboard)/cost-optimization/_components/promptcachingtab.tsx","./src/components/shared/paginatedmultiselect.tsx","./src/app/(dashboard)/cost-optimization/_components/shadowevalsection.tsx","./src/app/(dashboard)/cost-optimization/_components/tierturnschart.tsx","./src/app/(dashboard)/cost-optimization/_components/autorouterbenchmarkstab.tsx","./src/app/(dashboard)/cost-optimization/_components/costoptimizationview.tsx","./src/app/(dashboard)/cost-optimization/page.tsx","./src/app/(dashboard)/cost-optimization/_components/autorouterbenchmarkstab.test.tsx","./src/app/(dashboard)/cost-optimization/_components/cacheleakagecard.test.tsx","./src/app/(dashboard)/cost-optimization/_components/costoptimizationview.activity.test.tsx","./src/app/(dashboard)/cost-optimization/_components/costoptimizationview.test.tsx","./src/app/(dashboard)/cost-optimization/_components/promptcachingtab.test.tsx","./src/app/(dashboard)/cost-optimization/_components/promptcompressiontab.integration.test.tsx","./src/app/(dashboard)/cost-optimization/_components/shadowevalsection.test.tsx","./src/app/(dashboard)/cost-optimization/_components/tierturnschart.test.tsx","./src/app/(dashboard)/cost-optimization/_components/usagetab.test.tsx","./src/app/(dashboard)/cost-optimization/_components/usedailyactivityrange.integration.test.tsx","./src/app/(dashboard)/cost-optimization/_components/usedailyactivityrange.test.tsx","./src/app/(dashboard)/cost-tracking/page.tsx","./src/app/(dashboard)/cost-tracking/_components/add_margin_form.test.tsx","./src/app/(dashboard)/cost-tracking/_components/add_provider_form.integration.test.tsx","./src/app/(dashboard)/cost-tracking/_components/add_provider_form.test.tsx","./src/app/(dashboard)/cost-tracking/_components/cost_tracking_settings.integration.test.tsx","./src/app/(dashboard)/cost-tracking/_components/cost_tracking_settings.test.tsx","./src/app/(dashboard)/cost-tracking/_components/how_it_works.test.tsx","./src/app/(dashboard)/cost-tracking/_components/provider_discount_table.test.tsx","./src/app/(dashboard)/cost-tracking/_components/provider_margin_table.test.tsx","./src/app/(dashboard)/cost-tracking/_components/pricing_calculator/index.test.tsx","./src/app/(dashboard)/cost-tracking/_components/pricing_calculator/multi_cost_results.test.tsx","./src/app/(dashboard)/cost-tracking/_components/pricing_calculator/multi_export_dropdown.test.tsx","./src/app/(dashboard)/guardrails/_components/content_filter/patternmodal.tsx","./src/app/(dashboard)/guardrails/_components/content_filter/custompatternmodal.tsx","./src/app/(dashboard)/guardrails/_components/content_filter/keywordmodal.tsx","./src/app/(dashboard)/guardrails/_components/content_filter/patterntable.tsx","./src/app/(dashboard)/guardrails/_components/content_filter/keywordtable.tsx","./src/app/(dashboard)/guardrails/_components/content_filter/contentcategoryconfiguration.tsx","./src/app/(dashboard)/guardrails/_components/content_filter/thresholdinput.tsx","./src/app/(dashboard)/guardrails/_components/content_filter/competitorintentconfiguration.tsx","./src/app/(dashboard)/guardrails/_components/content_filter/contentfilterconfiguration.tsx","./src/app/(dashboard)/guardrails/_components/guardrailformfield.tsx","./src/app/(dashboard)/guardrails/_components/guardrail_optional_params.tsx","./src/app/(dashboard)/guardrails/_components/guardrail_provider_fields.tsx","./src/app/(dashboard)/guardrails/_components/llm_judge/llmjudgefields.tsx","./src/app/(dashboard)/guardrails/_components/pii_components.tsx","./src/app/(dashboard)/guardrails/_components/pii_configuration.tsx","./src/app/(dashboard)/guardrails/_components/tool_permission/toolpermissionruleseditor.tsx","./src/app/(dashboard)/guardrails/_components/add_guardrail_form.tsx","./src/app/(dashboard)/guardrails/_components/guardrailtablecolumns.tsx","./src/app/(dashboard)/guardrails/_components/guardrail_table.tsx","./src/app/(dashboard)/guardrails/_components/content_filter/categorytable.tsx","./src/app/(dashboard)/guardrails/_components/content_filter/contentfilterdisplay.tsx","./src/app/(dashboard)/guardrails/_components/content_filter/contentfiltermanager.tsx","./src/app/(dashboard)/guardrails/_components/guardrail_info.tsx","./src/app/(dashboard)/guardrails/_components/guardrailtestresults.tsx","./src/app/(dashboard)/guardrails/_components/guardrailtestpanel.tsx","./src/app/(dashboard)/guardrails/_components/guardrailtestplayground.tsx","./src/app/(dashboard)/guardrails/_components/guardrail_garden_card.tsx","./src/app/(dashboard)/guardrails/_components/guardrail_garden_detail.tsx","./src/app/(dashboard)/guardrails/_components/guardrail_garden.tsx","./src/app/(dashboard)/guardrails/_components/teamguardrailstab.tsx","./src/app/(dashboard)/guardrails/_components/guardrailspanel.tsx","./src/app/(dashboard)/guardrails/page.tsx","./src/app/(dashboard)/guardrails/_components/guardrailtestpanel.test.tsx","./src/app/(dashboard)/guardrails/_components/guardrailtestplayground.test.tsx","./src/app/(dashboard)/guardrails/_components/guardrailtestresults.test.tsx","./src/app/(dashboard)/guardrails/_components/guardrailspanel.test.tsx","./src/app/(dashboard)/guardrails/_components/teamguardrailstab.integration.test.tsx","./src/app/(dashboard)/guardrails/_components/teamguardrailstab.test.tsx","./src/app/(dashboard)/guardrails/_components/add_guardrail_form.characterization.test.tsx","./src/app/(dashboard)/guardrails/_components/add_guardrail_form.test.tsx","./src/app/(dashboard)/guardrails/_components/guardrail_garden.test.tsx","./src/app/(dashboard)/guardrails/_components/guardrail_garden_card.test.tsx","./src/app/(dashboard)/guardrails/_components/guardrail_garden_detail.test.tsx","./src/app/(dashboard)/guardrails/_components/guardrail_info.characterization.test.tsx","./src/app/(dashboard)/guardrails/_components/guardrail_info.test.tsx","./src/app/(dashboard)/guardrails/_components/guardrail_info_helpers.test.tsx","./src/app/(dashboard)/guardrails/_components/guardrail_table.test.tsx","./src/app/(dashboard)/guardrails/_components/pii_components.test.tsx","./src/app/(dashboard)/guardrails/_components/pii_configuration.test.tsx","./src/app/(dashboard)/guardrails/_components/content_filter/competitorintentconfiguration.test.tsx","./src/app/(dashboard)/guardrails/_components/content_filter/contentfilterconfiguration.test.tsx","./src/app/(dashboard)/guardrails/_components/content_filter/contentfilterdisplay.test.tsx","./src/app/(dashboard)/guardrails/_components/content_filter/contentfiltermanager.test.tsx","./src/app/(dashboard)/guardrails/_components/content_filter/contentfiltertables.test.tsx","./src/app/(dashboard)/guardrails/_components/content_filter/custompatternmodal.test.tsx","./src/app/(dashboard)/guardrails/_components/content_filter/keywordmodal.test.tsx","./src/app/(dashboard)/guardrails/_components/content_filter/patternmodal.test.tsx","./src/app/(dashboard)/guardrails/_components/content_filter/tagsinput.test.tsx","./src/app/(dashboard)/guardrails/_components/content_filter/thresholdinput.test.tsx","./src/app/(dashboard)/guardrails/_components/custom_code/customcodemodal.test.tsx","./src/app/(dashboard)/guardrails/_components/tool_permission/toolpermissionruleseditor.test.tsx","./src/app/(dashboard)/guardrails-monitor/_components/evaluationsettingsmodal.tsx","./src/components/guardrailsmonitor/logviewer.tsx","./src/components/guardrailsmonitor/metriccard.tsx","./src/app/(dashboard)/guardrails-monitor/_components/guardraildetail.tsx","./src/app/(dashboard)/guardrails-monitor/_components/scorechart.tsx","./src/app/(dashboard)/guardrails-monitor/_components/guardrailsoverview.tsx","./src/app/(dashboard)/guardrails-monitor/_components/guardrailsmonitorview.tsx","./src/components/shared/adminonlynotice.tsx","./src/app/(dashboard)/guardrails-monitor/page.tsx","./src/app/(dashboard)/guardrails-monitor/page.integration.test.tsx","./src/app/(dashboard)/guardrails-monitor/_components/evaluationsettingsmodal.test.tsx","./src/app/(dashboard)/guardrails-monitor/_components/guardrailconfig.tsx","./src/app/(dashboard)/guardrails-monitor/_components/guardrailconfig.test.tsx","./src/app/(dashboard)/guardrails-monitor/_components/guardraildetail.test.tsx","./src/app/(dashboard)/guardrails-monitor/_components/guardrailsmonitorview.test.tsx","./src/app/(dashboard)/guardrails-monitor/_components/guardrailsoverview.test.tsx","./src/app/(dashboard)/guardrails-monitor/_components/scorechart.test.tsx","./src/app/(dashboard)/hooks/usetabrouting.test.tsx","./src/app/(dashboard)/hooks/common/useresourcelist.test.tsx","./src/components/email_settings.tsx","./src/components/alerting/dynamic_form.tsx","./src/components/alerting/alerting_settings.tsx","./src/components/cloudzerocosttracking/cloudzeroemptyplaceholder.tsx","./src/components/cloudzerocosttracking/cloudzeroformcontrols.tsx","./src/components/cloudzerocosttracking/cloudzerocreatemodal.tsx","./src/components/cloudzerocosttracking/cloudzeroupdatemodal.tsx","./src/components/cloudzerocosttracking/cloudzerointegrationsettings.tsx","./src/components/cloudzerocosttracking/cloudzerocosttracking.tsx","./src/components/settings/loggingandalerts/loggingcallbacks/loggingcallbackstablecolumns.tsx","./src/components/settings/loggingandalerts/loggingcallbacks/loggingcallbackstable.tsx","./src/components/settings.tsx","./src/app/(dashboard)/logging-and-alerts/page.tsx","./src/components/deletedkeyspage/deletedkeystable/deletedkeystablecolumns.tsx","./src/components/deletedkeyspage/deletedkeystable/deletedkeystable.tsx","./src/components/deletedkeyspage/deletedkeyspage.tsx","./src/components/deletedteamspage/deletedteamstable/deletedteamstablecolumns.tsx","./src/components/deletedteamspage/deletedteamstable/deletedteamstable.tsx","./src/components/deletedteamspage/deletedteamspage.tsx","./src/components/view_logs/auditlogstablecolumns.tsx","./src/components/view_logs/auditlogstable.tsx","./src/components/view_logs/auditlogdrawer/auditlogdrawer.tsx","./src/components/view_logs/auditlogspanel.tsx","./src/components/view_logs/log_filter_logic.tsx","./src/components/view_logs/logs_utils.tsx","./src/components/view_logs/logstabletoolbar.tsx","./src/components/view_logs/requestlogsfilters.tsx","./src/components/view_logs/typebadges.tsx","./src/components/view_logs/requestlogstablecolumns.tsx","./src/components/view_logs/requestlogstable.tsx","./src/components/view_logs/requestlogspanel.tsx","./src/components/view_logs/index.tsx","./src/app/(dashboard)/logs/page.tsx","./src/app/(dashboard)/mcp-servers/_components/mcpstandardssettings.tsx","./src/app/(dashboard)/mcp-servers/_components/mcpsubmissionstab.tsx","./src/app/(dashboard)/mcp-servers/_components/mcptoolsettablecolumns.tsx","./src/app/(dashboard)/mcp-servers/_components/mcptoolsetstab.tsx","./src/app/(dashboard)/mcp-servers/_components/awssigv4fields.tsx","./src/app/(dashboard)/mcp-servers/_components/openapibyokfields.tsx","./src/app/(dashboard)/mcp-servers/_components/tokenendpointauthmethodfield.tsx","./src/app/(dashboard)/mcp-servers/_components/oauthformfields.tsx","./src/app/(dashboard)/mcp-servers/_components/truepassthroughwarning.tsx","./src/app/(dashboard)/mcp-servers/_components/dcrbridgetoggle.tsx","./src/app/(dashboard)/mcp-servers/_components/passthroughauthorizesection.tsx","./src/app/(dashboard)/mcp-servers/_components/tokenexchangeformfields.tsx","./src/app/(dashboard)/mcp-servers/_components/idjagformfields.tsx","./src/app/(dashboard)/mcp-servers/_components/mcp_server_cost_config.tsx","./src/app/(dashboard)/mcp-servers/_components/mcp_connection_status.tsx","./src/app/(dashboard)/mcp-servers/_components/mcp_tool_configuration.tsx","./src/app/(dashboard)/mcp-servers/_components/stdioconfiguration.tsx","./src/app/(dashboard)/mcp-servers/_components/mcppermissionmanagement.tsx","./src/app/(dashboard)/mcp-servers/_components/openapiquickpicker.tsx","./src/app/(dashboard)/mcp-servers/_components/openapiformsection.tsx","./src/app/(dashboard)/mcp-servers/_components/mcplogoselector.tsx","./src/app/(dashboard)/mcp-servers/_components/envvarssection.tsx","./src/hooks/usemcpoauthflow.tsx","./src/hooks/usetestmcpconnection.tsx","./src/app/(dashboard)/mcp-servers/_components/createmcpserver.tsx","./src/app/(dashboard)/mcp-servers/_components/mcp_connect.tsx","./src/app/(dashboard)/mcp-servers/_components/mcpservercard.tsx","./src/app/(dashboard)/mcp-servers/_components/mcp_server_edit.tsx","./src/app/(dashboard)/mcp-servers/_components/mcp_server_cost_display.tsx","./src/app/(dashboard)/mcp-servers/_components/mcp_server_view.tsx","./src/components/settings/adminsettings/mcpsemanticfiltersettings/mcpsemanticfiltertestpanel.tsx","./src/components/settings/adminsettings/mcpsemanticfiltersettings/mcpsemanticfiltersettings.tsx","./src/app/(dashboard)/mcp-servers/_components/mcpnetworksettings.tsx","./src/app/(dashboard)/mcp-servers/_components/mcp_discovery.tsx","./src/components/mcp_tools/byokcredentialmodal.tsx","./src/app/(dashboard)/mcp-servers/_components/userenvvarsmodal.tsx","./src/app/(dashboard)/mcp-servers/_components/mcp_servers.tsx","./src/app/(dashboard)/mcp-servers/_components/toolargumentsform.tsx","./src/app/(dashboard)/mcp-servers/_components/tooltestpanel.tsx","./src/hooks/usetoolsoauthflow.tsx","./src/hooks/useusermcpoauthflow.tsx","./src/app/(dashboard)/mcp-servers/_components/mcp_tools.tsx","./src/app/(dashboard)/mcp-servers/_components/index.tsx","./src/app/(dashboard)/mcp-servers/page.tsx","./src/app/(dashboard)/mcp-servers/_components/createmcpserver.integration.test.tsx","./src/app/(dashboard)/mcp-servers/_components/createmcpserver.permissions.integration.test.tsx","./src/app/(dashboard)/mcp-servers/_components/envvarssection.test.tsx","./src/app/(dashboard)/mcp-servers/_components/mcplogoselector.test.tsx","./src/app/(dashboard)/mcp-servers/_components/mcpnetworksettings.test.tsx","./src/app/(dashboard)/mcp-servers/_components/mcpformtestharness.tsx","./src/app/(dashboard)/mcp-servers/_components/mcppermissionmanagement.test.tsx","./src/app/(dashboard)/mcp-servers/_components/mcpservercard.test.tsx","./src/app/(dashboard)/mcp-servers/_components/mcpstandardssettings.test.tsx","./src/app/(dashboard)/mcp-servers/_components/mcptoolsettablecolumns.test.tsx","./src/app/(dashboard)/mcp-servers/_components/mcptoolsetstab.integration.test.tsx","./src/app/(dashboard)/mcp-servers/_components/oauthformfields.test.tsx","./src/app/(dashboard)/mcp-servers/_components/openapiquickpicker.test.tsx","./src/app/(dashboard)/mcp-servers/_components/passthroughauthorizesection.test.tsx","./src/app/(dashboard)/mcp-servers/_components/tooltestpanel.test.tsx","./src/app/(dashboard)/mcp-servers/_components/truepassthroughwarning.test.tsx","./src/app/(dashboard)/mcp-servers/_components/userenvvarsmodal.integration.test.tsx","./src/app/(dashboard)/mcp-servers/_components/mcpformstore.test.tsx","./src/app/(dashboard)/mcp-servers/_components/mcp_connect.test.tsx","./src/app/(dashboard)/mcp-servers/_components/mcp_connection_status.test.tsx","./src/app/(dashboard)/mcp-servers/_components/mcp_discovery.test.tsx","./src/app/(dashboard)/mcp-servers/_components/mcp_server_cost_config.test.tsx","./src/app/(dashboard)/mcp-servers/_components/mcp_server_cost_display.test.tsx","./src/app/(dashboard)/mcp-servers/_components/mcp_server_edit.integration.test.tsx","./src/app/(dashboard)/mcp-servers/_components/mcp_server_edit.test.tsx","./src/app/(dashboard)/mcp-servers/_components/mcp_server_view.test.tsx","./src/app/(dashboard)/mcp-servers/_components/mcp_servers.test.tsx","./src/app/(dashboard)/mcp-servers/_components/mcp_tool_configuration.test.tsx","./src/app/(dashboard)/mcp-servers/_components/mcp_tools.test.tsx","./src/app/(dashboard)/mcp-servers/_components/utils.test.tsx","./src/app/(dashboard)/memory/_components/memorydetaildrawer.tsx","./src/app/(dashboard)/memory/_components/memoryeditmodal.tsx","./src/app/(dashboard)/memory/_components/memorytablecolumns.tsx","./src/app/(dashboard)/memory/_components/memorytable.tsx","./src/app/(dashboard)/memory/_components/memoryview.tsx","./src/app/(dashboard)/memory/page.tsx","./src/app/(dashboard)/memory/page.integration.test.tsx","./src/app/(dashboard)/memory/_components/memorydetaildrawer.test.tsx","./src/app/(dashboard)/memory/_components/memoryeditmodal.integration.test.tsx","./src/app/(dashboard)/memory/_components/memorytable.test.tsx","./src/app/(dashboard)/memory/_components/memoryview.test.tsx","./src/components/aihub/agenthubtablecolumns.tsx","./src/components/aihub/forms/makeagentpublicform.tsx","./src/components/aihub/mcphubtablecolumns.tsx","./src/components/aihub/forms/makemcppublicform.tsx","./src/components/model_filters.tsx","./src/components/aihub/forms/makemodelpublicform.tsx","./src/components/aihub/modelhubtablecolumns.tsx","./src/components/common_components/iconactionbutton/baseactionbutton.tsx","./src/components/common_components/iconactionbutton/tableiconactionbuttons/tableiconactionbutton.tsx","./src/components/aihub/usefullinksmanagement.tsx","./src/components/aihub/skillhubtablecolumns.tsx","./src/components/claude_code_plugins/skill_detail.tsx","./src/components/aihub/skillhubdashboard.tsx","./src/components/claude_code_plugins/makeskillpublicform.tsx","./src/components/publicmodelhubtablecolumns.tsx","./src/components/chat_ui/codesnippets.tsx","./src/components/public_model_hub.tsx","./src/components/aihub/modelhubtable.tsx","./src/app/(dashboard)/model-hub-table/page.tsx","./src/components/molecules/cost_optimization_feedback_banner.tsx","./src/components/add_model/auto_router_connection_test.tsx","./src/components/model_add/reuse_credentials.tsx","./src/components/update_model_credentials_modal.tsx","./src/components/shared/form/utcdatetimeinput.tsx","./src/components/add_model/cache_control_settings.tsx","./src/components/modelinfoeditform.tsx","./src/components/view_model/model_name_display.tsx","./src/components/model_info_view.tsx","./src/components/common_components/user_search_modal.tsx","./src/components/shared/form/labelwithhint.tsx","./src/components/team/guardrailsselect.tsx","./src/components/common_components/metadatakeyvaluefields.tsx","./src/components/guardrailsettingsview.tsx","./src/components/search_tools/searchtoolselector.tsx","./src/components/team/editmembership.tsx","./src/components/team/permission_definitions.tsx","./src/components/team/member_permissions.tsx","./src/components/team/myusertab.tsx","./src/components/common_components/membertable.tsx","./src/components/team/teammembertab.tsx","./src/components/team/teamvirtualkeystable.tsx","./src/components/team/teaminfo.tsx","./src/components/model_dashboard/modelsettingsmodal/modelsettingsmodal.tsx","./src/app/(dashboard)/models-and-endpoints/components/modelstablecolumns.tsx","./src/app/(dashboard)/models-and-endpoints/components/allmodelstable.tsx","./src/app/(dashboard)/models-and-endpoints/components/allmodelstab.tsx","./src/app/(dashboard)/models-and-endpoints/panels/allmodelspanel.tsx","./src/components/add_model/handle_add_auto_router_submit.tsx","./src/components/add_model/autorouterroutingtest.tsx","./src/components/add_model/add_auto_router_tab.tsx","./src/app/(dashboard)/models-and-endpoints/components/autorouters/autorouterstablecolumns.tsx","./src/app/(dashboard)/models-and-endpoints/components/autorouters/autorouterstable.tsx","./src/app/(dashboard)/models-and-endpoints/components/autorouters/autorouterspanel.tsx","./src/app/(dashboard)/models-and-endpoints/panels/autorouterstabpanel.tsx","./src/components/add_model/advanced_settings.tsx","./src/components/add_model/conditional_public_model_name.tsx","./src/components/add_model/litellm_model_name.tsx","./src/components/add_model/handle_add_model_submit.tsx","./src/components/add_model/model_connection_test.tsx","./src/components/add_model/provider_specific_fields.tsx","./src/components/add_model/add_model_modes.tsx","./src/components/add_model/addmodelform.tsx","./src/app/(dashboard)/models-and-endpoints/panels/addmodelpanel.tsx","./src/components/model_add/credentialmodal.tsx","./src/components/model_add/credentialstablecolumns.tsx","./src/components/model_add/credentialstable.tsx","./src/components/model_add/credentialspanel.tsx","./src/app/(dashboard)/models-and-endpoints/panels/llmcredentialspanel.tsx","./src/components/key_value_input.tsx","./src/components/query_param_input.tsx","./src/components/route_preview.tsx","./src/components/common_components/passthroughsecuritysection.tsx","./src/components/common_components/passthroughguardrailssection.tsx","./src/components/add_pass_through.tsx","./src/components/pass_through_info.tsx","./src/components/passthroughsettings/passthroughendpointstablecolumns.tsx","./src/components/passthroughsettings/passthroughendpointstable.tsx","./src/components/passthroughsettings/passthroughsettings.tsx","./src/app/(dashboard)/models-and-endpoints/panels/passthroughpanel.tsx","./src/components/model_dashboard/healthcheckstablecolumns.tsx","./src/components/model_dashboard/healthcheckstable.tsx","./src/components/model_dashboard/healthcheckcomponent.tsx","./src/app/(dashboard)/models-and-endpoints/panels/healthstatuspanel.tsx","./src/app/(dashboard)/models-and-endpoints/components/modelretrysettingstab.tsx","./src/app/(dashboard)/models-and-endpoints/panels/modelretrysettingspanel.tsx","./src/components/model_group_alias_settings.tsx","./src/app/(dashboard)/models-and-endpoints/panels/modelgroupaliaspanel.tsx","./src/components/price_data_reload.tsx","./src/app/(dashboard)/models-and-endpoints/components/pricedatamanagementtab.tsx","./src/app/(dashboard)/models-and-endpoints/panels/pricedatapanel.tsx","./src/app/(dashboard)/models-and-endpoints/page.tsx","./src/app/(dashboard)/models-and-endpoints/page.test.tsx","./src/app/(dashboard)/models-and-endpoints/components/allmodelstab.test.tsx","./src/app/(dashboard)/models-and-endpoints/components/allmodelstable.test.tsx","./src/app/(dashboard)/models-and-endpoints/components/modelretrysettingstab.test.tsx","./src/app/(dashboard)/models-and-endpoints/components/pricedatamanagementtab.test.tsx","./src/app/(dashboard)/models-and-endpoints/components/autorouters/autorouterspanel.test.tsx","./src/app/(dashboard)/models-and-endpoints/panels/addmodelpanel.integration.test.tsx","./src/app/(dashboard)/models-and-endpoints/panels/healthstatuspanel.test.tsx","./src/components/view_user_spend.tsx","./src/components/usagepage/components/entityusage/topkeyview.tsx","./src/app/(dashboard)/old-usage/_components/usage.tsx","./src/app/(dashboard)/old-usage/page.tsx","./src/app/(dashboard)/old-usage/_components/usage.test.tsx","./src/components/common_components/filters/filterinput.tsx","./src/components/common_components/filters/filtersbutton.tsx","./src/components/common_components/filters/resetfiltersbutton.tsx","./src/app/(dashboard)/organizations/organizationfilters.tsx","./src/app/(dashboard)/organizations/organizationfilters.test.tsx","./src/components/organization/org-settings/orgsettingsform.tsx","./src/components/organization/org-create/orgcreatedialog.tsx","./src/components/shared/badgelink.tsx","./src/components/organization/organization_view.tsx","./src/app/(dashboard)/organizations/_components/organizationstablecolumns.tsx","./src/app/(dashboard)/organizations/_components/organizationstable.tsx","./src/app/(dashboard)/organizations/_components/organizationspanel.tsx","./src/app/(dashboard)/organizations/page.tsx","./src/app/(dashboard)/organizations/_components/organizationspanel.test.tsx","./src/app/(dashboard)/organizations/_components/organizationstable.test.tsx","./src/components/llm_calls/chat_completion.tsx","./src/app/(dashboard)/playground/components/complianceui/complianceui.tsx","./node_modules/uuid/dist/max.d.ts","./node_modules/uuid/dist/nil.d.ts","./node_modules/uuid/dist/types.d.ts","./node_modules/uuid/dist/parse.d.ts","./node_modules/uuid/dist/stringify.d.ts","./node_modules/uuid/dist/v1.d.ts","./node_modules/uuid/dist/v1tov6.d.ts","./node_modules/uuid/dist/v35.d.ts","./node_modules/uuid/dist/v3.d.ts","./node_modules/uuid/dist/v4.d.ts","./node_modules/uuid/dist/v5.d.ts","./node_modules/uuid/dist/v6.d.ts","./node_modules/uuid/dist/v6tov1.d.ts","./node_modules/uuid/dist/v7.d.ts","./node_modules/uuid/dist/validate.d.ts","./node_modules/uuid/dist/version.d.ts","./node_modules/uuid/dist/index.d.ts","./src/components/mcp_tools/mcptoolargumentsform.tsx","./src/components/tag_management/tagselector.tsx","./src/app/(dashboard)/playground/llm_calls/a2a_send_message.tsx","./node_modules/@anthropic-ai/sdk/internal/builtin-types.d.mts","./node_modules/form-data/index.d.ts","./node_modules/@types/node-fetch/externals.d.ts","./node_modules/@types/node-fetch/index.d.ts","./node_modules/@anthropic-ai/sdk/internal/types.d.mts","./node_modules/@anthropic-ai/sdk/internal/headers.d.mts","./node_modules/@anthropic-ai/sdk/internal/shim-types.d.mts","./node_modules/@anthropic-ai/sdk/core/streaming.d.mts","./node_modules/@anthropic-ai/sdk/internal/request-options.d.mts","./node_modules/@anthropic-ai/sdk/internal/utils/log.d.mts","./node_modules/@anthropic-ai/sdk/resources/shared.d.mts","./node_modules/@anthropic-ai/sdk/core/error.d.mts","./node_modules/@anthropic-ai/sdk/internal/parse.d.mts","./node_modules/@anthropic-ai/sdk/core/api-promise.d.mts","./node_modules/@anthropic-ai/sdk/core/pagination.d.mts","./node_modules/@anthropic-ai/sdk/internal/uploads.d.mts","./node_modules/@anthropic-ai/sdk/internal/to-file.d.mts","./node_modules/@anthropic-ai/sdk/core/uploads.d.mts","./node_modules/@anthropic-ai/sdk/core/resource.d.mts","./node_modules/@anthropic-ai/sdk/resources/beta/environments.d.mts","./node_modules/@anthropic-ai/sdk/resources/beta/files.d.mts","./node_modules/@anthropic-ai/sdk/resources/beta/models.d.mts","./node_modules/@anthropic-ai/sdk/resources/beta/user-profiles.d.mts","./node_modules/@anthropic-ai/sdk/resources/beta/agents/versions.d.mts","./node_modules/@anthropic-ai/sdk/resources/beta/agents/agents.d.mts","./node_modules/@anthropic-ai/sdk/resources/beta/memory-stores/memories.d.mts","./node_modules/@anthropic-ai/sdk/resources/beta/memory-stores/memory-versions.d.mts","./node_modules/@anthropic-ai/sdk/resources/beta/memory-stores/memory-stores.d.mts","./node_modules/@anthropic-ai/sdk/internal/decoders/line.d.mts","./node_modules/@anthropic-ai/sdk/internal/decoders/jsonl.d.mts","./node_modules/@anthropic-ai/sdk/error.d.mts","./node_modules/@anthropic-ai/sdk/resources/messages/batches.d.mts","./node_modules/@anthropic-ai/sdk/resources/messages/index.d.mts","./node_modules/@anthropic-ai/sdk/resources/messages.d.mts","./node_modules/@anthropic-ai/sdk/lib/parser.d.mts","./node_modules/@anthropic-ai/sdk/lib/messagestream.d.mts","./node_modules/@anthropic-ai/sdk/resources/messages/messages.d.mts","./node_modules/@anthropic-ai/sdk/resources/beta/messages/batches.d.mts","./node_modules/@anthropic-ai/sdk/lib/beta-parser.d.mts","./node_modules/@anthropic-ai/sdk/lib/betamessagestream.d.mts","./node_modules/@anthropic-ai/sdk/resources/beta/agents/index.d.mts","./node_modules/@anthropic-ai/sdk/resources/beta/memory-stores/index.d.mts","./node_modules/@anthropic-ai/sdk/resources/beta/messages/index.d.mts","./node_modules/@anthropic-ai/sdk/resources/beta/sessions/events.d.mts","./node_modules/@anthropic-ai/sdk/resources/beta/sessions/sessions.d.mts","./node_modules/@anthropic-ai/sdk/resources/beta/sessions/resources.d.mts","./node_modules/@anthropic-ai/sdk/resources/beta/sessions/index.d.mts","./node_modules/@anthropic-ai/sdk/resources/beta/skills/versions.d.mts","./node_modules/@anthropic-ai/sdk/resources/beta/skills/skills.d.mts","./node_modules/@anthropic-ai/sdk/resources/beta/skills/index.d.mts","./node_modules/@anthropic-ai/sdk/resources/beta/vaults/credentials.d.mts","./node_modules/@anthropic-ai/sdk/resources/beta/vaults/vaults.d.mts","./node_modules/@anthropic-ai/sdk/resources/beta/vaults/index.d.mts","./node_modules/@anthropic-ai/sdk/resources/beta/index.d.mts","./node_modules/@anthropic-ai/sdk/resources/beta.d.mts","./node_modules/@anthropic-ai/sdk/lib/tools/betarunnabletool.d.mts","./node_modules/@anthropic-ai/sdk/resources.d.mts","./node_modules/@anthropic-ai/sdk/lib/tools/compactioncontrol.d.mts","./node_modules/@anthropic-ai/sdk/lib/tools/betatoolrunner.d.mts","./node_modules/@anthropic-ai/sdk/lib/tools/toolerror.d.mts","./node_modules/@anthropic-ai/sdk/resources/beta/messages/messages.d.mts","./node_modules/@anthropic-ai/sdk/resources/beta/beta.d.mts","./node_modules/@anthropic-ai/sdk/resources/completions.d.mts","./node_modules/@anthropic-ai/sdk/resources/models.d.mts","./node_modules/@anthropic-ai/sdk/resources/index.d.mts","./node_modules/@anthropic-ai/sdk/client.d.mts","./node_modules/@anthropic-ai/sdk/index.d.mts","./src/app/(dashboard)/playground/llm_calls/anthropic_messages.tsx","./src/app/(dashboard)/playground/llm_calls/audio_speech.tsx","./src/app/(dashboard)/playground/llm_calls/audio_transcriptions.tsx","./src/app/(dashboard)/playground/llm_calls/embeddings_api.tsx","./src/app/(dashboard)/playground/llm_calls/image_edits.tsx","./src/app/(dashboard)/playground/llm_calls/image_generation.tsx","./src/components/llm_calls/responses_api.tsx","./src/app/(dashboard)/playground/llm_calls/interactions_api.tsx","./src/app/(dashboard)/playground/components/chat_ui/additionalmodelsettings.tsx","./src/app/(dashboard)/playground/components/chat_ui/chatcomposer.tsx","./src/app/(dashboard)/playground/components/chat_ui/chatimageupload.tsx","./src/app/(dashboard)/playground/components/chat_ui/chatimageutils.tsx","./src/app/(dashboard)/playground/components/chat_ui/codeinterpretertool.tsx","./src/app/(dashboard)/playground/components/chat_ui/endpointselector.tsx","./src/app/(dashboard)/playground/components/chat_ui/endpointutils.tsx","./src/app/(dashboard)/playground/components/chat_ui/filepreviewcard.tsx","./src/app/(dashboard)/playground/components/chat_ui/a2ametrics.tsx","./src/app/(dashboard)/playground/components/chat_ui/audiorenderer.tsx","./src/app/(dashboard)/playground/components/chat_ui/chatimagerenderer.tsx","./src/app/(dashboard)/playground/components/chat_ui/codeinterpreteroutput.tsx","./src/components/chat_ui/mcpeventsdisplay.tsx","./src/components/chat_ui/reasoningcontent.tsx","./src/app/(dashboard)/playground/components/chat_ui/responsesimageutils.tsx","./src/app/(dashboard)/playground/components/chat_ui/responsesimagerenderer.tsx","./src/app/(dashboard)/playground/components/chat_ui/searchresultsdisplay.tsx","./src/app/(dashboard)/playground/components/chat_ui/chatmessagebubble.tsx","./src/app/(dashboard)/playground/components/chat_ui/responsesimageupload.tsx","./src/app/(dashboard)/playground/components/chat_ui/sessionmanagement.tsx","./src/app/(dashboard)/playground/components/chat_ui/realtimeplayground.tsx","./src/app/(dashboard)/playground/components/chat_ui/chatui.tsx","./src/app/(dashboard)/playground/components/chat_ui/agentbuilderview.tsx","./src/app/(dashboard)/playground/components/compareui/components/messagedisplay.tsx","./src/app/(dashboard)/playground/components/compareui/components/unifiedselector.tsx","./src/app/(dashboard)/playground/components/compareui/components/comparisonpanel.tsx","./src/app/(dashboard)/playground/components/compareui/components/messageinput.tsx","./src/app/(dashboard)/playground/components/compareui/compareui.tsx","./src/app/(dashboard)/playground/page.tsx","./src/app/(dashboard)/playground/page.test.tsx","./src/app/(dashboard)/playground/components/chat_ui/additionalmodelsettings.test.tsx","./src/app/(dashboard)/playground/components/chat_ui/agentbuilderview.test.tsx","./src/app/(dashboard)/playground/components/chat_ui/audiorenderer.test.tsx","./src/app/(dashboard)/playground/components/chat_ui/chatcomposer.test.tsx","./src/app/(dashboard)/playground/components/chat_ui/chatimageutils.test.tsx","./src/app/(dashboard)/playground/components/chat_ui/chatmessagebubble.test.tsx","./src/app/(dashboard)/playground/components/chat_ui/chatui.test.tsx","./src/app/(dashboard)/playground/components/chat_ui/codeinterpreteroutput.test.tsx","./src/app/(dashboard)/playground/components/chat_ui/endpointselector.test.tsx","./src/app/(dashboard)/playground/components/chat_ui/endpointutils.test.tsx","./src/app/(dashboard)/playground/components/chat_ui/filepreviewcard.test.tsx","./src/app/(dashboard)/playground/components/chat_ui/realtimeplayground.test.tsx","./src/app/(dashboard)/playground/components/compareui/compareui.test.tsx","./src/app/(dashboard)/playground/components/compareui/components/comparisonpanel.test.tsx","./src/app/(dashboard)/playground/components/compareui/components/messagedisplay.test.tsx","./src/app/(dashboard)/playground/components/compareui/components/messageinput.test.tsx","./src/app/(dashboard)/playground/components/compareui/components/modelselector.tsx","./src/app/(dashboard)/playground/components/compareui/components/modelselector.test.tsx","./src/app/(dashboard)/playground/components/compareui/components/unifiedselector.test.tsx","./src/app/(dashboard)/playground/llm_calls/anthropic_messages.test.tsx","./src/app/(dashboard)/playground/llm_calls/audio_speech.test.tsx","./src/app/(dashboard)/playground/llm_calls/audio_transcriptions.test.tsx","./src/app/(dashboard)/playground/llm_calls/embeddings_api.test.tsx","./src/app/(dashboard)/policies/_components/policytablecolumns.tsx","./src/app/(dashboard)/policies/_components/policytable.tsx","./src/app/(dashboard)/policies/_components/pipeline_flow_builder.tsx","./src/app/(dashboard)/policies/_components/policy_info.tsx","./src/app/(dashboard)/policies/_components/add_policy_form.tsx","./src/app/(dashboard)/policies/_components/impact_popover.tsx","./src/app/(dashboard)/policies/_components/attachmenttablecolumns.tsx","./src/app/(dashboard)/policies/_components/attachmenttable.tsx","./src/app/(dashboard)/policies/_components/impact_preview_alert.tsx","./src/app/(dashboard)/policies/_components/tokenselect.tsx","./src/app/(dashboard)/policies/_components/add_attachment_form.tsx","./src/app/(dashboard)/policies/_components/policy_test_panel.tsx","./src/app/(dashboard)/policies/_components/policy_templates.tsx","./src/app/(dashboard)/policies/_components/guardrail_selection_modal.tsx","./src/app/(dashboard)/policies/_components/template_parameter_modal.tsx","./src/app/(dashboard)/policies/_components/ai_suggestion_modal.tsx","./src/app/(dashboard)/policies/_components/index.tsx","./src/app/(dashboard)/policies/page.tsx","./src/app/(dashboard)/policies/_components/attachmenttable.test.tsx","./src/app/(dashboard)/policies/_components/policytable.test.tsx","./src/app/(dashboard)/policies/_components/add_attachment_form.test.tsx","./src/app/(dashboard)/policies/_components/add_policy_form.test.tsx","./src/app/(dashboard)/policies/_components/ai_suggestion_modal.test.tsx","./src/app/(dashboard)/policies/_components/guardrail_selection_modal.test.tsx","./src/app/(dashboard)/policies/_components/impact_popover.test.tsx","./src/app/(dashboard)/policies/_components/impact_preview_alert.test.tsx","./src/app/(dashboard)/policies/_components/index.test.tsx","./src/app/(dashboard)/policies/_components/pipeline_flow_builder.test.tsx","./src/app/(dashboard)/policies/_components/policy_info.test.tsx","./src/app/(dashboard)/policies/_components/policy_templates.test.tsx","./src/app/(dashboard)/policies/_components/policy_test_panel.test.tsx","./src/app/(dashboard)/policies/_components/template_parameter_modal.test.tsx","./src/app/(dashboard)/projects/_components/projectmodals/createprojectmodal.tsx","./src/app/(dashboard)/projects/_components/projectmodals/editprojectmodal.tsx","./src/app/(dashboard)/projects/_components/projectkeystablecolumns.tsx","./src/app/(dashboard)/projects/_components/projectkeystable.tsx","./src/app/(dashboard)/projects/_components/projectkeyssection.tsx","./src/app/(dashboard)/projects/_components/projectdetailspage.tsx","./src/app/(dashboard)/projects/_components/projectstablecolumns.tsx","./src/app/(dashboard)/projects/_components/projectstable.tsx","./src/app/(dashboard)/projects/_components/projectspage.tsx","./src/app/(dashboard)/projects/page.tsx","./src/app/(dashboard)/projects/_components/projectdetailspage.test.tsx","./src/app/(dashboard)/projects/_components/projectkeyssection.test.tsx","./src/app/(dashboard)/projects/_components/projectkeystable.test.tsx","./src/app/(dashboard)/projects/_components/projectspage.test.tsx","./src/app/(dashboard)/projects/_components/projectstable.test.tsx","./src/app/(dashboard)/projects/_components/projectmodals/createprojectmodal.integration.test.tsx","./src/app/(dashboard)/projects/_components/projectmodals/createprojectmodal.test.tsx","./src/app/(dashboard)/projects/_components/projectmodals/editprojectmodal.integration.test.tsx","./src/app/(dashboard)/projects/_components/projectmodals/editprojectmodal.test.tsx","./src/app/(dashboard)/projects/_components/projectmodals/projectbaseform.test.tsx","./src/app/(dashboard)/prompts/_components/prompt_utils.tsx","./src/app/(dashboard)/prompts/_components/prompttablecolumns.tsx","./src/app/(dashboard)/prompts/_components/prompttable.tsx","./src/app/(dashboard)/prompts/_components/prompt_editor_view/promptcodesnippets.tsx","./src/app/(dashboard)/prompts/_components/prompt_info.tsx","./src/app/(dashboard)/prompts/_components/add_prompt_form.tsx","./src/app/(dashboard)/prompts/_components/tool_modal.tsx","./src/app/(dashboard)/prompts/_components/prompt_editor_view/prompteditorheader.tsx","./src/app/(dashboard)/prompts/_components/prompt_editor_view/modelconfigcard.tsx","./src/app/(dashboard)/prompts/_components/prompt_editor_view/toolscard.tsx","./src/app/(dashboard)/prompts/_components/variable_textarea.tsx","./src/app/(dashboard)/prompts/_components/prompt_editor_view/developermessagecard.tsx","./src/app/(dashboard)/prompts/_components/prompt_editor_view/promptmessagescard.tsx","./src/app/(dashboard)/prompts/_components/prompt_editor_view/conversation_panel/variableinput.tsx","./src/app/(dashboard)/prompts/_components/prompt_editor_view/conversation_panel/emptystate.tsx","./src/app/(dashboard)/prompts/_components/prompt_editor_view/conversation_panel/messagebubble.tsx","./src/app/(dashboard)/prompts/_components/prompt_editor_view/conversation_panel/messagelist.tsx","./src/app/(dashboard)/prompts/_components/prompt_editor_view/conversation_panel/variablewarning.tsx","./src/app/(dashboard)/prompts/_components/prompt_editor_view/conversation_panel/messageinput.tsx","./src/app/(dashboard)/prompts/_components/prompt_editor_view/conversation_panel/index.tsx","./src/app/(dashboard)/prompts/_components/prompt_editor_view/publishmodal.tsx","./src/app/(dashboard)/prompts/_components/prompt_editor_view/dotpromptviewtab.tsx","./src/app/(dashboard)/prompts/_components/prompt_editor_view/versionhistorysidepanel.tsx","./src/app/(dashboard)/prompts/_components/prompt_editor_view/index.tsx","./src/app/(dashboard)/prompts/_components/prompt_editor_view.tsx","./src/app/(dashboard)/prompts/_components/index.tsx","./src/app/(dashboard)/prompts/page.tsx","./src/app/(dashboard)/prompts/_components/prompttable.test.tsx","./src/app/(dashboard)/prompts/_components/add_prompt_form.integration.test.tsx","./src/app/(dashboard)/prompts/_components/index.test.tsx","./src/app/(dashboard)/prompts/_components/prompt_info.test.tsx","./src/app/(dashboard)/prompts/_components/tool_modal.test.tsx","./src/app/(dashboard)/prompts/_components/variable_textarea.test.tsx","./src/app/(dashboard)/prompts/_components/prompt_editor_view/developermessagecard.test.tsx","./src/app/(dashboard)/prompts/_components/prompt_editor_view/modelconfigcard.test.tsx","./src/app/(dashboard)/prompts/_components/prompt_editor_view/promptcodesnippets.test.tsx","./src/app/(dashboard)/prompts/_components/prompt_editor_view/prompteditorheader.test.tsx","./src/app/(dashboard)/prompts/_components/prompt_editor_view/promptmessagescard.test.tsx","./src/app/(dashboard)/prompts/_components/prompt_editor_view/publishmodal.test.tsx","./src/app/(dashboard)/prompts/_components/prompt_editor_view/toolscard.test.tsx","./src/app/(dashboard)/prompts/_components/prompt_editor_view/versionhistorysidepanel.test.tsx","./src/app/(dashboard)/prompts/_components/prompt_editor_view/conversation_panel/emptystate.test.tsx","./src/app/(dashboard)/prompts/_components/prompt_editor_view/conversation_panel/messagebubble.test.tsx","./src/app/(dashboard)/prompts/_components/prompt_editor_view/conversation_panel/messageinput.test.tsx","./src/app/(dashboard)/prompts/_components/prompt_editor_view/conversation_panel/messagelist.test.tsx","./src/app/(dashboard)/prompts/_components/prompt_editor_view/conversation_panel/variableinput.test.tsx","./src/app/(dashboard)/prompts/_components/prompt_editor_view/conversation_panel/index.test.tsx","./src/app/(dashboard)/router-settings/page.tsx","./src/app/(dashboard)/router-settings/_components/general_settings.test.tsx","./src/app/(dashboard)/search-tools/_components/searchconnectiontest.tsx","./src/app/(dashboard)/search-tools/_components/types.tsx","./src/app/(dashboard)/search-tools/_components/createsearchtools.tsx","./src/app/(dashboard)/search-tools/_components/searchtooltablecolumns.tsx","./src/app/(dashboard)/search-tools/_components/searchtooltable.tsx","./src/app/(dashboard)/search-tools/_components/searchtooltester.tsx","./src/app/(dashboard)/search-tools/_components/searchtoolview.tsx","./src/app/(dashboard)/search-tools/_components/searchtools.tsx","./src/app/(dashboard)/search-tools/_components/index.tsx","./src/app/(dashboard)/search-tools/page.tsx","./src/app/(dashboard)/search-tools/_components/createsearchtools.integration.test.tsx","./src/app/(dashboard)/search-tools/_components/createsearchtools.test.tsx","./src/app/(dashboard)/search-tools/_components/searchconnectiontest.test.tsx","./src/app/(dashboard)/search-tools/_components/searchtooltable.test.tsx","./src/app/(dashboard)/search-tools/_components/searchtooltester.test.tsx","./src/app/(dashboard)/search-tools/_components/searchtoolview.test.tsx","./src/app/(dashboard)/search-tools/_components/searchtools.integration.test.tsx","./src/app/(dashboard)/search-tools/_components/searchtools.test.tsx","./src/app/(dashboard)/skills/_components/add_plugin_form.tsx","./src/app/(dashboard)/skills/_components/plugintablecolumns.tsx","./src/app/(dashboard)/skills/_components/plugintable.tsx","./src/app/(dashboard)/skills/_components/claudecodepluginspanel.tsx","./src/app/(dashboard)/skills/page.tsx","./src/app/(dashboard)/skills/_components/claudecodepluginspanel.test.tsx","./src/app/(dashboard)/skills/_components/plugintable.test.tsx","./src/app/(dashboard)/skills/_components/add_plugin_form.test.tsx","./src/app/(dashboard)/tag-management/_components/tag_info.tsx","./src/app/(dashboard)/tag-management/_components/tagtablecolumns.tsx","./src/app/(dashboard)/tag-management/_components/tagtable.tsx","./src/app/(dashboard)/tag-management/_components/components/createtagmodal.tsx","./src/app/(dashboard)/tag-management/_components/index.tsx","./src/app/(dashboard)/tag-management/page.tsx","./src/app/(dashboard)/tag-management/_components/tagtable.test.tsx","./src/app/(dashboard)/tag-management/_components/index.test.tsx","./src/app/(dashboard)/tag-management/_components/tag_info.integration.test.tsx","./src/app/(dashboard)/tag-management/_components/components/createtagmodal.test.tsx","./src/components/team/availableteamstablecolumns.tsx","./src/components/team/availableteamstable.tsx","./src/components/team/availableteamspanel.tsx","./src/components/teamssosettings.tsx","./src/components/teamspage/teamtablecolumns.tsx","./src/components/teamspage/teamstable.tsx","./src/components/teams.tsx","./src/app/(dashboard)/teams/page.tsx","./src/components/toolpolicies/policyselect.tsx","./src/components/tooldetail.tsx","./src/components/toolpolicies/toolpoliciestablecolumns.tsx","./src/components/toolpolicies/toolpoliciestable.tsx","./src/components/toolpolicies/toolpoliciespanel.tsx","./src/components/toolpoliciesview.tsx","./src/app/(dashboard)/tool-policies/page.tsx","./src/app/(dashboard)/transform-request/transformrequestpanel.tsx","./src/app/(dashboard)/transform-request/transformrequestpanel.test.tsx","./src/app/(dashboard)/transform-request/page.tsx","./src/app/(dashboard)/ui-theme/uithemesettings.tsx","./src/app/(dashboard)/ui-theme/uithemesettings.test.tsx","./src/app/(dashboard)/ui-theme/page.tsx","./src/components/usagepage/components/keymodelusageview.tsx","./src/components/activity_metrics.tsx","./src/components/cloudzero_export_modal.tsx","./src/components/common_components/userdropdown.tsx","./src/components/shared/chart_loader.tsx","./src/components/per_user_usage.tsx","./src/components/user_agent_activity.tsx","./src/app/(dashboard)/usage/_components/components/endpointusage/components/endpointusagebarchart.tsx","./src/app/(dashboard)/usage/_components/components/endpointusage/components/endpointusagelinechart.tsx","./src/app/(dashboard)/usage/_components/components/endpointusage/components/endpointusagetable.tsx","./src/app/(dashboard)/usage/_components/components/endpointusage/endpointusage.tsx","./src/components/common_components/team_multi_select.tsx","./src/app/(dashboard)/usage/_components/components/modelviewtoggle.tsx","./src/app/(dashboard)/usage/_components/components/entityusage/topmodelview.tsx","./src/app/(dashboard)/usage/_components/components/entityusage/entityusage.tsx","./src/app/(dashboard)/usage/_components/components/entityusage/spendbyprovider.tsx","./src/app/(dashboard)/usage/_components/components/usageaichatpanel.tsx","./src/app/(dashboard)/usage/_components/components/usageviewselect/usageviewselect.tsx","./src/app/(dashboard)/usage/_components/components/usagepageview.tsx","./src/app/(dashboard)/usage/page.tsx","./src/app/(dashboard)/usage/_components/components/usageaichatpanel.test.tsx","./src/app/(dashboard)/usage/_components/components/usagepageview.test.tsx","./src/app/(dashboard)/usage/_components/components/endpointusage/endpointusage.test.tsx","./src/app/(dashboard)/usage/_components/components/endpointusage/components/endpointusagebarchart.test.tsx","./src/app/(dashboard)/usage/_components/components/endpointusage/components/endpointusagelinechart.test.tsx","./src/app/(dashboard)/usage/_components/components/endpointusage/components/endpointusagetable.test.tsx","./src/app/(dashboard)/usage/_components/components/entityusage/entityusage.test.tsx","./src/app/(dashboard)/usage/_components/components/entityusage/spendbyprovider.test.tsx","./src/app/(dashboard)/usage/_components/components/entityusage/topmodelview.test.tsx","./src/app/(dashboard)/usage/_components/components/usageviewselect/usageviewselect.test.tsx","./src/app/(dashboard)/users/_components/user_edit_view.tsx","./src/app/(dashboard)/users/_components/bulkeditusers.tsx","./src/components/bulk_create_users_button.tsx","./src/app/(dashboard)/users/_components/default-user-settings/defaultusersettingsform.tsx","./src/app/(dashboard)/users/_components/view_users/userstablecolumns.tsx","./src/app/(dashboard)/users/_components/view_users/userstable.tsx","./src/app/(dashboard)/users/_components/view_users/user_info_view.tsx","./src/app/(dashboard)/users/_components/view_users.tsx","./src/app/(dashboard)/users/_components/index.tsx","./src/app/(dashboard)/users/page.tsx","./src/app/(dashboard)/users/_components/bulkeditusers.test.tsx","./src/app/(dashboard)/users/_components/user_edit_view.test.tsx","./src/app/(dashboard)/users/_components/view_users.test.tsx","./src/app/(dashboard)/users/_components/default-user-settings/defaultusersettingsform.test.tsx","./src/app/(dashboard)/users/_components/view_users/userstable.test.tsx","./src/app/(dashboard)/users/_components/view_users/user_info_view.integration.test.tsx","./src/app/(dashboard)/users/_components/view_users/user_info_view.test.tsx","./src/components/vector_store_providers.tsx","./src/app/(dashboard)/vector-stores/_components/vectorstoretablecolumns.tsx","./src/app/(dashboard)/vector-stores/_components/vectorstoretable.tsx","./src/app/(dashboard)/vector-stores/_components/vectorstoreform.tsx","./src/app/(dashboard)/vector-stores/_components/vectorstoretester.tsx","./src/app/(dashboard)/vector-stores/_components/vector_store_info.tsx","./src/app/(dashboard)/vector-stores/_components/documentstablecolumns.tsx","./src/app/(dashboard)/vector-stores/_components/documentstable.tsx","./src/app/(dashboard)/vector-stores/_components/s3vectorsconfig.tsx","./src/app/(dashboard)/vector-stores/_components/createvectorstore.tsx","./src/app/(dashboard)/vector-stores/_components/testvectorstoretab.tsx","./src/app/(dashboard)/vector-stores/_components/index.tsx","./src/app/(dashboard)/vector-stores/page.tsx","./src/app/(dashboard)/vector-stores/_components/createvectorstore.characterization.test.tsx","./src/app/(dashboard)/vector-stores/_components/createvectorstore.test.tsx","./src/app/(dashboard)/vector-stores/_components/documentstable.test.tsx","./src/app/(dashboard)/vector-stores/_components/indexestable.test.tsx","./src/app/(dashboard)/vector-stores/_components/s3vectorsconfig.test.tsx","./src/app/(dashboard)/vector-stores/_components/testvectorstoretab.test.tsx","./src/app/(dashboard)/vector-stores/_components/vectorstoreform.integration.test.tsx","./src/app/(dashboard)/vector-stores/_components/vectorstoreform.test.tsx","./src/app/(dashboard)/vector-stores/_components/vectorstoretable.test.tsx","./src/app/(dashboard)/vector-stores/_components/vectorstoretester.test.tsx","./src/app/(dashboard)/vector-stores/_components/index.test.tsx","./src/app/(dashboard)/vector-stores/_components/vector_store_info.integration.test.tsx","./src/app/(dashboard)/vector-stores/_components/vector_store_info.test.tsx","./src/app/(dashboard)/workflows/workflowruns.tsx","./src/app/(dashboard)/workflows/workflowruns.test.tsx","./src/app/(dashboard)/workflows/page.tsx","./src/app/(dashboard)/workflows/page.integration.test.tsx","./src/app/chat/layout.tsx","./src/app/chat/layout.test.tsx","./src/components/chat/chatmessages.tsx","./src/components/chat/mcpconnectpicker.tsx","./src/app/chat/page.tsx","./src/app/chat/page.integration.test.tsx","./src/components/chat/keyspanel.tsx","./src/app/chat/api-keys/page.tsx","./src/components/chat/mcpcredentialstab.tsx","./src/app/chat/credentials/page.tsx","./src/components/chat/mcpappspanel.tsx","./src/components/chat/connectflowbanner.tsx","./src/app/chat/integrations/page.tsx","./src/components/chat/logspanel.tsx","./src/app/chat/logs/page.tsx","./src/components/chat/usagepanel.tsx","./src/app/chat/usage/page.tsx","./src/app/connect/layout.tsx","./src/app/connect/layout.test.tsx","./src/app/connect/page.tsx","./src/app/connect/page.test.tsx","./src/app/login/loginpage.tsx","./src/app/login/loginpage.integration.test.tsx","./src/app/login/loginpage.test.tsx","./src/app/login/page.tsx","./src/app/mcp/oauth/callback/page.tsx","./src/app/model_hub/page.tsx","./src/app/model_hub_table/page.tsx","./src/app/onboarding/onboardingerrorview.tsx","./src/app/onboarding/onboardingerrorview.test.tsx","./src/app/onboarding/onboardingloadingview.tsx","./src/app/onboarding/onboardingformbody.tsx","./src/app/onboarding/onboardingform.tsx","./src/app/onboarding/onboardingform.test.tsx","./src/app/onboarding/onboardingformbody.integration.test.tsx","./src/app/onboarding/onboardingformbody.test.tsx","./src/app/onboarding/onboardingloadingview.test.tsx","./src/app/onboarding/page.tsx","./src/components/betabadge.test.tsx","./src/components/createuserbutton.test.tsx","./src/components/dashboardheader.test.tsx","./src/components/debugwarningbanner.test.tsx","./src/components/deprecationbanner.test.tsx","./src/components/guardrailsettingsview.test.tsx","./src/components/helplink.test.tsx","./src/components/licenseexpirybanner.test.tsx","./src/components/norediswarningbanner.test.tsx","./src/components/scim.test.tsx","./src/components/ssomodals.test.tsx","./src/components/sidebarusagecard.test.tsx","./src/components/teamssosettings.test.tsx","./src/components/teams.test.tsx","./src/components/tooldetail.test.tsx","./src/components/toolpoliciesview.test.tsx","./src/components/uiaccesscontrolform.integration.test.tsx","./src/components/uiaccesscontrolform.unit.test.tsx","./src/components/userbanner.test.tsx","./src/components/activity_metrics.test.tsx","./src/components/add_pass_through.integration.test.tsx","./src/components/bulk_create_users_button.test.tsx","./src/components/cloudzero_export_modal.integration.test.tsx","./src/components/email_settings.test.tsx","./src/components/key_info_utils.test.tsx","./src/components/key_value_input.test.tsx","./src/components/leftnav.test.tsx","./src/components/logging_settings_view.test.tsx","./src/components/model_info_view.test.tsx","./src/components/navbar.test.tsx","./src/components/onboarding_link.test.tsx","./src/components/pass_through_info.integration.test.tsx","./src/components/per_user_usage.test.tsx","./src/components/price_data_reload.test.tsx","./src/components/provider_info_helpers.test.tsx","./src/components/public_model_hub.test.tsx","./src/components/query_param_input.test.tsx","./src/components/route_preview.test.tsx","./src/components/settings.test.tsx","./src/components/update_model_credentials_modal.test.tsx","./src/components/user_agent_activity.test.tsx","./src/components/user_dashboard.test.tsx","./src/components/vector_store_providers.test.tsx","./src/components/aihub/agenthubtablecolumns.test.tsx","./src/components/aihub/mcphubtablecolumns.test.tsx","./src/components/aihub/modelhubtable.test.tsx","./src/components/aihub/modelhubtablecolumns.test.tsx","./src/components/aihub/skillhubtablecolumns.test.tsx","./src/components/aihub/usefullinksmanagement.test.tsx","./src/components/aihub/forms/makeagentpublicform.test.tsx","./src/components/aihub/forms/makemcppublicform.test.tsx","./src/components/aihub/forms/makemodelpublicform.test.tsx","./src/components/cloudzerocosttracking/cloudzerocosttracking.test.tsx","./src/components/cloudzerocosttracking/cloudzerocreatemodal.integration.test.tsx","./src/components/cloudzerocosttracking/cloudzerocreatemodal.test.tsx","./src/components/cloudzerocosttracking/cloudzeroemptyplaceholder.test.tsx","./src/components/cloudzerocosttracking/cloudzerointegrationsettings.test.tsx","./src/components/cloudzerocosttracking/cloudzeroupdatemodal.integration.test.tsx","./src/components/cloudzerocosttracking/cloudzeroupdatemodal.test.tsx","./src/components/deletedkeyspage/deletedkeyspage.test.tsx","./src/components/deletedkeyspage/deletedkeystable/deletedkeystable.test.tsx","./src/components/deletedteamspage/deletedteamspage.test.tsx","./src/components/deletedteamspage/deletedteamstable/deletedteamstable.test.tsx","./src/components/entityusageexport/entityusageexportmodal.test.tsx","./src/components/entityusageexport/exportformatselector.test.tsx","./src/components/entityusageexport/exportsummary.test.tsx","./src/components/entityusageexport/exporttypeselector.test.tsx","./src/components/entityusageexport/usageexportheader.test.tsx","./src/components/guardrailsmonitor/metriccard.test.tsx","./src/components/modelselect/modelselect.test.tsx","./src/components/navbar/viewswitcher.test.tsx","./src/components/navbar/blogdropdown/blogdropdown.test.tsx","./src/components/navbar/communityengagementbuttons/communityengagementbuttons.test.tsx","./src/components/navbar/notificationsbell/notificationsbell.test.tsx","./src/components/navbar/userdropdown/userdropdown.test.tsx","./src/components/navbar/workerdropdown/workerdropdown.test.tsx","./src/components/passthroughsettings/passthroughendpointstable.test.tsx","./src/components/passthroughsettings/passthroughsettings.test.tsx","./src/components/settings/adminsettings/hashicorpvault/edithashicorpvaultmodal.test.tsx","./src/components/settings/adminsettings/hashicorpvault/hashicorpvault.test.tsx","./src/components/settings/adminsettings/hashicorpvault/hashicorpvaultemptyplaceholder.test.tsx","./src/components/settings/adminsettings/loggingsettings/loggingsettings.test.tsx","./src/components/settings/adminsettings/mcpsemanticfiltersettings/mcpsemanticfiltersettings.test.tsx","./src/components/settings/adminsettings/mcpsemanticfiltersettings/mcpsemanticfiltertestpanel.test.tsx","./src/components/settings/adminsettings/pluginsettings/pluginsettings.integration.test.tsx","./src/components/settings/adminsettings/ssosettings/redactablefield.test.tsx","./src/components/settings/adminsettings/ssosettings/rolemappings.test.tsx","./src/components/settings/adminsettings/ssosettings/ssosettings.test.tsx","./src/components/settings/adminsettings/ssosettings/ssosettingsemptyplaceholder.test.tsx","./src/components/settings/adminsettings/ssosettings/ssosettingsloadingskeleton.test.tsx","./src/components/settings/adminsettings/ssosettings/modals/addssosettingsmodal.test.tsx","./src/components/settings/adminsettings/ssosettings/modals/basessosettingsform.test.tsx","./src/components/settings/adminsettings/ssosettings/modals/deletessosettingsmodal.test.tsx","./src/components/settings/adminsettings/ssosettings/modals/editssosettingsmodal.integration.test.tsx","./src/components/settings/adminsettings/ssosettings/modals/editssosettingsmodal.test.tsx","./src/components/settings/adminsettings/uisettings/pagevisibilitysettings.test.tsx","./src/components/settings/adminsettings/uisettings/uisettings.test.tsx","./src/components/settings/adminsettings/userbannersettings/userbannersettings.test.tsx","./src/components/settings/loggingandalerts/loggingcallbacks/loggingcallbackstable.test.tsx","./src/components/settings/routersettings/fallbacks/addfallbacks.test.tsx","./src/components/settings/routersettings/fallbacks/addfallbacksmodal.test.tsx","./src/components/settings/routersettings/fallbacks/editfallbacks.test.tsx","./src/components/settings/routersettings/fallbacks/fallbackselectionform.test.tsx","./src/components/settings/routersettings/fallbacks/fallbacks.test.tsx","./src/components/sidebaraccountmenu/sidebaraccountmenu.test.tsx","./src/components/teamspage/teamstable.test.tsx","./src/components/themetoggle/themetoggle.test.tsx","./src/components/toolpolicies/policyselect.test.tsx","./src/components/toolpolicies/toolpoliciespanel.test.tsx","./src/components/toolpolicies/toolpoliciestable.test.tsx","./src/components/toolpolicies/toolpoliciestablecolumns.test.tsx","./src/components/usagepage/components/keymodelusageview.test.tsx","./src/components/usagepage/components/entityusage/topkeyview.test.tsx","./src/components/virtualkeyspage/virtualkeystable.test.tsx","./src/components/add_model/addmodelform.test.tsx","./src/components/add_model/autorouterroutingtest.test.tsx","./src/components/add_model/classifierprompteditor.integration.test.tsx","./src/components/add_model/complexityrouterconfig.test.tsx","./src/components/add_model/heuristicscoringconfig.test.tsx","./src/components/add_model/routerconfigbuilder.test.tsx","./src/components/add_model/semantickeywordmatching.test.tsx","./src/components/add_model/tiermodeleffortrows.test.tsx","./src/components/add_model/add_auto_router_tab.test.tsx","./tests/mounted-form-host.tsx","./src/components/add_model/advanced_settings.test.tsx","./src/components/add_model/auto_router_connection_test.test.tsx","./src/components/add_model/cache_control_settings.test.tsx","./src/components/add_model/conditional_public_model_name.test.tsx","./src/components/add_model/handle_add_model_submit.test.tsx","./src/components/add_model/litellm_model_name.test.tsx","./src/components/add_model/model_connection_test.test.tsx","./src/components/add_model/provider_specific_fields.test.tsx","./src/components/agent_management/agentselector.test.tsx","./src/components/alerting/dynamic_form.integration.test.tsx","./src/components/chat/chatshell.test.tsx","./src/components/chat/connectflowbanner.test.tsx","./src/components/chat/logspanel.test.tsx","./src/components/chat/mcpappspanel.test.tsx","./src/components/chat/mcpconnectpicker.test.tsx","./src/components/chat_ui/codesnippets.test.tsx","./src/components/chat_ui/reasoningcontent.test.tsx","./src/components/chat_ui/responsemetrics.test.tsx","./src/components/common_components/defaultproxyadmintag.test.tsx","./src/components/common_components/deleteresourcemodal.test.tsx","./src/components/common_components/keylifecyclesettings.test.tsx","./src/components/common_components/labeledfield.test.tsx","./src/components/common_components/loadingscreen.test.tsx","./src/components/common_components/metadatakeyvaluefields.test.tsx","./src/components/common_components/modelaliasmanager.test.tsx","./src/components/common_components/modelselector.test.tsx","./src/components/common_components/mountedformfield.test.tsx","./src/components/common_components/newbadge.tsx","./src/components/common_components/newbadge.test.tsx","./src/components/common_components/organizationdropdown.test.tsx","./src/components/common_components/passthroughguardrailssection.test.tsx","./src/components/common_components/premiumloggingsettings.test.tsx","./src/components/common_components/ratelimittypeformitem.test.tsx","./src/components/common_components/routersettingsaccordion.test.tsx","./src/components/common_components/routersettingssummary.test.tsx","./src/components/common_components/userdropdown.test.tsx","./src/components/common_components/routersettingswiring.test.tsx","./src/components/common_components/team_multi_select.test.tsx","./src/components/common_components/user_search_modal.test.tsx","./src/components/common_components/filters/filterinput.test.tsx","./src/components/common_components/filters/filtersbutton.test.tsx","./src/components/common_components/filters/resetfiltersbutton.test.tsx","./src/components/common_components/iconactionbutton/baseactionbutton.test.tsx","./src/components/common_components/iconactionbutton/tableiconactionbuttons/tableiconactionbutton.test.tsx","./src/components/email_events/email_event_settings.test.tsx","./src/components/guardrails/guardrailselector.test.tsx","./src/components/key_team_helpers/budgetfallbackseditor.test.tsx","./src/components/key_team_helpers/modelmaxbudgeteditor.integration.test.tsx","./src/components/key_team_helpers/tagratelimiteditor.test.tsx","./src/components/key_team_helpers/fetch_available_models_team_key.test.tsx","./src/components/llm_calls/chat_completion.test.tsx","./src/components/llm_calls/fetch_models.test.tsx","./src/components/llm_calls/responses_api.test.tsx","./src/components/mcp_server_management/mcpserverselector.test.tsx","./src/components/mcp_server_management/mcptoolpermissions.test.tsx","./src/components/mcp_tools/byokcredentialmodal.test.tsx","./src/components/mcp_tools/mcptoolargumentsform.test.tsx","./src/components/mcp_tools/types.test.tsx","./src/components/model_add/credentialmodal.test.tsx","./src/components/model_add/credentialspanel.test.tsx","./src/components/model_add/credentialstable.test.tsx","./src/components/model_add/reuse_credentials.test.tsx","./src/components/model_dashboard/healthcheckcomponent.test.tsx","./src/components/model_dashboard/healthcheckstable.test.tsx","./src/components/model_dashboard/modelsettingsmodal/modelsettingsmodal.test.tsx","./src/components/molecules/cost_optimization_feedback_banner.test.tsx","./src/components/molecules/logo/logo.test.tsx","./src/components/molecules/models/providerlogo.test.tsx","./src/components/organisms/regeneratekeymodal.integration.test.tsx","./src/components/organisms/regeneratekeymodal.test.tsx","./src/components/organisms/create_key_button.integration.test.tsx","./src/components/organisms/create_key_button.test.tsx","./src/components/organization/organization_view.test.tsx","./src/components/organization/org-create/orgcreatedialog.test.tsx","./src/components/organization/org-settings/orgsettingsform.test.tsx","./src/components/permissions/mcpserverpermissions.test.tsx","./src/components/policies/policyselector.test.tsx","./src/components/router_settings/latencybasedconfiguration.test.tsx","./src/components/router_settings/reliabilityretriessection.test.tsx","./src/components/router_settings/routersettingsform.test.tsx","./src/components/router_settings/routingstrategyselector.test.tsx","./src/components/router_settings/tagfilteringtoggle.test.tsx","./src/components/router_settings/index.test.tsx","./src/components/routing_groups/routinggroupmodal.test.tsx","./src/components/routing_groups/routinggroupstable.test.tsx","./src/components/routing_groups/index.integration.test.tsx","./src/components/search_tools/searchtoolselector.test.tsx","./src/components/shared/alert.test.tsx","./src/components/shared/badgelink.test.tsx","./src/components/shared/copybutton.test.tsx","./src/components/shared/createdkeydisplay.test.tsx","./src/components/shared/entitylink.test.tsx","./src/components/shared/inheritedbudgethint.test.tsx","./src/components/shared/meter.test.tsx","./src/components/shared/multiselect.test.tsx","./src/components/shared/pageheader.test.tsx","./src/components/shared/paginatedmultiselect.test.tsx","./src/components/shared/paginatedsearchselect.test.tsx","./src/components/shared/paginationstatusalerts.test.tsx","./src/components/shared/searchselect.test.tsx","./src/components/shared/sidebar.test.tsx","./src/components/shared/toolbarseparator.test.tsx","./src/components/shared/advanced_date_picker.test.tsx","./src/components/shared/chart_loader.test.tsx","./src/components/shared/datatable/datatable.test-d.tsx","./src/components/shared/datatable/datatable.test.tsx","./src/components/shared/datatable/datatablefilterdrawer.test.tsx","./src/components/shared/datatable/datatablepagination.test.tsx","./src/components/shared/datatable/datatablerowselection.test.tsx","./src/components/shared/datatable/datatablesortheader.test.tsx","./src/components/shared/datatable/datatabletoolbar.test.tsx","./src/components/shared/charts/area_chart.test.tsx","./src/components/shared/charts/bar_chart.test.tsx","./src/components/shared/charts/chart_legend.test.tsx","./src/components/shared/charts/chart_tooltip.test.tsx","./src/components/shared/charts/donut_chart.test.tsx","./src/components/shared/charts/line_chart.test.tsx","./src/components/shared/form/formfield.test.tsx","./src/components/shared/table_cells/autoroutertag.test.tsx","./src/components/shared/table_cells/date_cell.test.tsx","./src/components/shared/table_cells/id_cell.test.tsx","./src/components/shared/table_cells/identity_cell.test.tsx","./src/components/shared/table_cells/models_cell.test.tsx","./src/components/shared/table_cells/money_cell.test.tsx","./src/components/shared/table_cells/spend_budget_cell.test.tsx","./src/components/shared/table_cells/status_badge.test.tsx","./src/components/tag_management/tagselector.test.tsx","./src/components/team/availableteamspanel.test.tsx","./src/components/team/editmembership.integration.test.tsx","./src/components/team/editmembership.test.tsx","./src/components/team/loggingsettings.test.tsx","./src/components/team/myusertab.test.tsx","./src/components/team/teaminfo.test.tsx","./src/components/team/teammembertab.test.tsx","./src/components/team/teamvirtualkeystable.test.tsx","./src/components/team/member_permissions.test.tsx","./src/components/team/permission_definitions.test.tsx","./src/components/templates/keyinfoheader.test.tsx","./src/components/templates/keyinfoview.handlekeyupdate.test.tsx","./src/components/templates/keysavingstab.integration.test.tsx","./src/components/templates/key_edit_view.test.tsx","./src/components/templates/key_info_view.budget_display.test.tsx","./src/components/templates/key_info_view.test.tsx","./src/components/ui/alert-dialog.test.tsx","./src/components/ui/avatar.test.tsx","./src/components/ui/badge.test.tsx","./src/components/ui/breadcrumb.test.tsx","./src/components/ui/button.test.tsx","./src/components/ui/chart.test.tsx","./src/components/ui/field.test.tsx","./src/components/ui/ref-forwarding.test.tsx","./src/components/ui/select.test.tsx","./src/components/ui/tooltip.test.tsx","./src/components/ui/ui-loading-spinner.test.tsx","./src/components/vector_store_management/vectorstoreselector.test.tsx","./src/components/view_logs/auditlogstable.test.tsx","./src/components/view_logs/configinfomessage.test.tsx","./src/components/view_logs/costbreakdownviewer.test.tsx","./src/components/view_logs/requestlogsfilters.test.tsx","./src/components/view_logs/requestlogspanel.test.tsx","./src/components/view_logs/requestlogstablecolumns.test.tsx","./src/components/view_logs/typebadges.test.tsx","./src/components/view_logs/index.integration.test.tsx","./src/components/view_logs/index.test.tsx","./src/components/view_logs/log_filter_logic.test.tsx","./src/components/view_logs/logs_utils.test.tsx","./src/components/view_logs/auditlogdrawer/auditlogdrawer.test.tsx","./src/components/view_logs/guardrailviewer/bedrockguardraildetails.test.tsx","./src/components/view_logs/guardrailviewer/guardrailviewer.test.tsx","./src/components/view_logs/guardrailviewer/presidiodetectedentities.test.tsx","./src/components/view_logs/logdetailsdrawer/classifytag.test.tsx","./src/components/view_logs/logdetailsdrawer/collapsiblemessage.test.tsx","./src/components/view_logs/logdetailsdrawer/historytree.test.tsx","./src/components/view_logs/logdetailsdrawer/inputcard.test.tsx","./src/components/view_logs/logdetailsdrawer/jsonviewer.test.tsx","./src/components/view_logs/logdetailsdrawer/logdetailcontent.test.tsx","./src/components/view_logs/logdetailsdrawer/logdetailsdrawer.test.tsx","./src/components/view_logs/logdetailsdrawer/outputcard.test.tsx","./src/components/view_logs/logdetailsdrawer/prettymessagesview.test.tsx","./src/components/view_logs/logdetailsdrawer/realtimeprettyview.test.tsx","./src/components/view_logs/logdetailsdrawer/routingdecisioncard.test.tsx","./src/components/view_logs/logdetailsdrawer/sectionheader.test.tsx","./src/components/view_logs/logdetailsdrawer/simplemessageblock.test.tsx","./src/components/view_logs/logdetailsdrawer/simpletoolcallblock.test.tsx","./src/components/view_logs/logdetailsdrawer/tokenflow.test.tsx","./src/components/view_logs/logdetailsdrawer/truncatedvalue.test.tsx","./src/components/view_logs/toolssection/toolssection.test.tsx","./src/contexts/pluginmodecontext.test.tsx","./src/hooks/usemcpoauthflow.test.tsx","./src/hooks/usesyntaxtheme.test.tsx","./src/hooks/usetoolsoauthflow.test.tsx","./src/hooks/policies/usedeletepolicyattachment.test.tsx","./src/lib/forms/usezodform.test.tsx","./tests/createkeypage.expiredtoken.test.tsx","./tests/top_key_view.test.tsx","./.next/types/cache-life.d.ts","./.next/types/validator.ts","./node_modules/@types/d3-array/index.d.ts","./node_modules/@types/d3-color/index.d.ts","./node_modules/@types/d3-ease/index.d.ts","./node_modules/@types/d3-interpolate/index.d.ts","./node_modules/@types/d3-timer/index.d.ts","./node_modules/@types/ms/index.d.ts","./node_modules/@types/debug/index.d.ts","./node_modules/@types/estree-jsx/index.d.ts","./node_modules/@types/json5/index.d.ts","./node_modules/@types/use-sync-external-store/index.d.ts"],"fileIdsList":[[97,143,484,485,486,487],[97,143],[97,143,226,528,531,2636,2743,2777,2787,2816,2830,2841,2845,2852,2869,2976,2988,3031,3069,3092,3112,3156,3192,3216,3288,3300,3314,3442,3484,3508,3545,3566,3577,3590,3599,3611,3618,3621,3624,3644,3664,3684,3700,3702,3706,3709,3711,3714,3716,3718,3719,3721,3726,3727,3728,3729,3739],[97,143,529,530,531],[97,143,3339,3343,3344,3347,3348,3350,3352,3353,3356,3375,3400,3401,3402,3403],[97,143,3343,3351,3404],[97,143,3349],[97,143,3347,3351,3352,3404],[97,143,3404],[97,143,3345,3404],[97,143,3354,3355],[97,143,3350],[97,143,3350,3352,3353,3356,3373,3404],[97,143,3367],[97,143,3347,3353,3404],[97,143,3339,3343,3344,3346],[97,143,176],[97,143,3339],[97,138,143,3342],[97,143,3339,3347,3404],[97,143,3347,3404],[97,143,3399,3404],[97,143,3347,3369,3377,3399,3404],[97,143,3347,3369,3372,3373,3404],[97,143,3375,3404],[97,143,3393],[97,143,3347,3378,3393,3394,3396,3405],[97,143,3395],[97,143,3403],[97,143,3392],[97,143,3347,3352,3353,3357,3362,3400],[97,143,3362,3363],[97,143,3347,3353,3357,3363,3400],[97,143,3357,3358,3359,3360,3361,3363,3366,3383,3387,3390,3399],[97,143,3347,3352,3353,3357,3400],[97,143,3347,3352,3353,3356,3357,3400],[97,143,3358,3359,3360,3361,3379,3380,3381,3385,3388,3391,3400],[97,143,3364,3365,3366],[97,143,3347,3352,3353,3357,3364,3365,3400],[97,143,3347,3352,3353,3357,3364,3400],[97,143,3347,3352,3353,3357,3368,3375,3399,3400],[97,143,3376,3399],[97,143,3346,3347,3352,3357,3375,3376,3377,3378,3397,3398,3399,3400],[97,143,3346,3347,3352,3353,3357,3400],[97,143,3382,3383,3384],[97,143,3347,3352,3353,3357,3383,3400],[97,143,3347,3352,3353,3357,3363,3382,3384,3400],[97,143,3386,3387],[97,143,3347,3352,3353,3356,3357,3386,3400],[97,143,3389,3390],[97,143,3347,3352,3353,3357,3389,3400],[97,143,3346,3347,3352,3357,3375,3400,3401],[97,143,3349,3375,3400,3401,3402],[97,143,3371],[97,143,3347,3349,3352,3353,3357,3368,3375],[97,143,3370,3375],[97,143,3346,3347,3352,3357,3370,3373,3374,3375],[85,97,143,630,635],[97,143,631,635,636,637,638,639],[97,143,631,635,636,637,638],[85,97,143,627,628,630,631,634],[85,97,143,630,631,632,635],[85,97,143,627,628,630],[97,143,689,690],[97,143,693,694,695,696,697,698,699,701,702,703],[97,143,692,693,694,695,696,697,698,699,701,702],[85,97,143,226,628,691,692],[85,97,143,692,700],[97,143,707,708,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,734,736],[97,143,707,708,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,734,735],[85,97,143,630,712,713],[85,97,143,630],[85,97,143,706],[85,97,143],[85,97,143,630,738],[85,97,143,630,632,738],[97,143,738,739,740,741],[97,143,738,739,740],[97,143,743],[85,97,143,627,628,630,712],[97,143,749],[97,143,745,746,747],[97,143,745,746],[85,97,143,630,632,745],[97,143,633,751,752,753],[97,143,633,751,752],[85,97,143,630,632,633],[85,97,143,627,628,630,634],[85,97,143,632,633],[85,97,143,630,633],[85,97,143,630,713],[85,97,143,630,632],[97,143,715,717,718,719,720,721,722,723,724,725,726,727,729,730,731,734,755,756,757,758,759,760,761,762,763,764,766],[97,143,715,717,718,719,720,721,722,723,724,725,726,727,729,730,731,734,735,755,756,757,758,759,760,761,762,763,764,765],[85,97,143,630,712],[85,97,143,630,632,650,713],[85,97,143,684],[85,97,143,627,628,705],[97,143,733],[97,143,768,769,776,777,778,779,780,781,782,783,784,785,786,787,789,792,795,796,797],[97,143,732,768,769,776,777,778,779,780,781,782,783,784,785,786,787,789,792,795,796],[97,143,226,629,775,794],[85,97,143,795],[85,97,143,226],[97,143,799,800],[97,143,799],[97,143,691,694,695,696,697,698,699,700,702,802],[97,143,690,691,694,695,696,697,698,699,700,702],[85,97,143,630,632,650],[85,97,143,226,627,628,688,690],[97,143,689],[85,97,143,632,649,650,658,684,688,691,1014],[85,97,143,630,690],[85,97,143,804],[97,143,805,806],[97,143,804,805],[97,143,808,809,810,811,812,813,815,817,818,819,820,821,822,823,824,825],[97,143,690,808,809,810,811,812,813,815,817,818,819,820,821,822,823,824],[85,97,143,630,632,650,816],[85,97,143,226,627,628,688,690,816],[85,97,143,814,815],[85,97,143,630,814,816],[85,97,143,630,632,712],[97,143,712,827,828,829,830,831,832,833],[97,143,712,827,828,829,830,831,832],[85,97,143,630,711],[85,97,143,632,712],[97,143,835,836,837],[97,143,835,836],[85,97,143,679],[85,97,143,650,657,679],[85,97,143,630,661],[85,97,143,628,632,649,679,688],[85,97,143,657,679],[97,143,679],[85,97,143,672],[97,143,627,679],[97,143,657,679],[97,143,628,658,679],[97,143,668,679],[85,97,143,630,657,668,679],[97,143,667,679],[85,97,143,657,673,679],[97,143,629,649,658,688],[85,97,143,672,679],[97,143,655,657,659,662,663,664,665,669,670,671,674,675,676,677,678,679,680,681,682,683],[97,143,668],[85,97,143,628,655,657,658,659,662,663,664,665,668,669,670,671,674,675,676,677,678,680,684],[97,143,666,688],[85,97,143,627,628,630,709],[97,143,710],[97,143,629,640,704,711,737,742,744,748,750,754,765,767,794,798,801,803,807,826,834,838,840,842,844,851,866,876,881,897,910,917,921,923,931,951,961,965,972,987,989,991,999,1011,1013],[97,143,839],[85,97,143,630,834],[97,143,627],[85,97,143,710,712],[97,143,626],[85,97,143,629],[85,97,143,630,660],[85,97,143,630,775],[97,143,768,769,775,776,777,778,779,780,781,782,783,784,785,786,787,789,790,791,792,793],[97,143,732,768,769,774,775,776,777,778,779,780,781,782,783,784,785,786,787,789,790,791,792],[85,97,143,226,627,628,688,770,771,772,773,774],[85,97,143,770,775],[97,143,770],[85,97,143,630,632,649,650,657,658,684,688,775,794],[85,97,143,226,775,788],[85,97,143,770],[85,97,143,630,774],[97,143,841],[85,97,143,775],[97,143,843],[97,143,845,846,847,848,849,850],[97,143,845,846,847,848,849],[85,97,143,630,845],[97,143,852,853,854,855,856,857,858,859,860,861,862,863,864,865],[97,143,852,853,854,855,856,857,858,859,860,861,862,863,864],[85,97,143,630,632,713],[85,97,143,630,868],[97,143,868,869,870,871,872,873,874,875],[97,143,868,869,870,871,872,873,874],[85,97,143,627,628,630,712,867],[97,143,878,879,880],[97,143,732,878,879],[85,97,143,630,878],[85,97,143,627,628,630,712,877],[97,143,885,886,887,888,889,890,891,892,893,894,895,896],[97,143,884,885,886,887,888,889,890,891,892,893,894,895],[85,97,143,226,627,628,688,884],[97,143,883],[85,97,143,632,649,650,658,684,688,882,885,897,1014],[85,97,143,630,884],[97,143,900,902,903,904,905,906,907,908,909],[97,143,899,900,902,903,904,905,906,907,908],[85,97,143,901],[85,97,143,226,627,628,688,899],[97,143,898],[85,97,143,632,649,658,684,688,900,1014],[85,97,143,630,899],[97,143,911,912,913,914,915,916],[97,143,911,912,913,914,915],[85,97,143,630,911],[97,143,922],[97,143,918,919,920],[97,143,918,919],[85,97,143,630,632,918],[85,97,143,630,924],[97,143,924,925,926,927,928,929,930],[97,143,924,925,926,927,928,929],[97,143,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950],[97,143,732,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949],[97,143,732],[85,97,143,630,952],[97,143,952,953,954,955,956,958,959,960],[97,143,952,953,954,955,956,958,959],[85,97,143,630,952,957],[97,143,962,963,964],[97,143,962,963],[85,97,143,627,629,630,712],[85,97,143,630,962],[97,143,966,967,968,969,970,971],[97,143,966,967,968,969,970],[85,97,143,630,966,967],[85,97,143,630,967],[85,97,143,630,632,966,967],[85,97,143,627,628,630,966],[97,143,974],[97,143,973,974,975,976,977,978,979,980,981,982,983,984,985,986],[97,143,973,974,975,976,977,978,979,980,981,982,983,984,985],[85,97,143,630,713,974],[85,97,143,975],[85,97,143,630,632,974],[85,97,143,973],[97,143,990],[97,143,988],[85,97,143,630,993],[97,143,992,993,994,995,996,997,998],[97,143,630,992,993,994,995,996,997],[85,97,143,630,765],[97,143,1002,1003,1004,1005,1006,1007,1008,1009,1010],[97,143,1001,1002,1003,1004,1005,1006,1007,1008,1009],[85,97,143,226,627,628,688,1001],[97,143,1000],[85,97,143,632,649,658,684,688,1002,1011,1014],[85,97,143,630,1001],[85,97,143,628],[97,143,630,1012],[97,143,656,685,686,687],[85,97,143,655],[85,97,143,627,628,632,649,650,686],[97,143,630,632,658,684,685],[85,97,143,651,684],[97,143,641],[97,143,642],[97,143,642,643,645,646,647,648],[97,143,645],[85,97,143,226,645],[97,143,644,645],[97,143,2602],[97,143,651],[97,143,652,653],[85,97,143,654],[97,143,1652,1653,1654,1655,1656,1657,1658,1659,1660,1661,1662,1663,1664,1665,1666,1667,1668,1669,1670,1671,1672,1673,1674,1675,1676,1677,1678,1679,1680,1681,1682,1683,1684,1685,1686,1687,1688,1689,1690,1691,1692,1693,1694,1695,1696,1697,1698,1699,1700,1701,1702,1703,1704,1705,1706,1707,1708,1709,1710,1711,1712,1713,1714,1715,1716,1717,1718,1719,1720,1721,1722,1723,1724,1725,1726,1727,1728,1729,1730,1731,1732,1733,1734,1735,1736,1737,1738,1739,1740,1741,1742,1743,1744,1745,1746,1747,1748,1749,1750,1751,1752,1753,1754,1755,1756,1757,1758,1759,1760,1761,1762,1763,1764,1765,1766,1767,1768,1769,1770,1771,1772,1773,1774,1775,1776,1777,1778,1779,1780,1781,1782,1783,1784,1785,1786,1787,1788,1789,1790,1791,1792,1793,1794,1795,1796,1797,1798,1799,1800,1801,1802,1803,1804,1805,1806,1807,1808,1809,1810,1811,1812,1813,1814,1815,1816,1817,1818,1819,1820,1821,1822,1823,1824,1825,1826,1827,1828,1829,1830,1831,1832,1833,1834,1835,1836,1837,1838,1839,1840,1841,1842,1843,1844,1845,1846,1847,1848,1849,1850,1851,1852,1853,1854,1855,1856,1857,1858,1859,1860,1861,1862,1863,1864,1865,1866,1867,1868,1869,1870,1871,1872,1873,1874,1875,1876,1877,1878,1879,1880,1881],[97,143,2029],[97,143,1069,1255,2028],[97,143,641,2079,2080,2081,2082],[97,143,226],[97,143,1400,1408],[97,143,1088],[97,143,1409,1410,1411,1412,1413],[97,143,1408,1410],[97,143,1409,1410],[85,97,143,1407,1408,1409],[85,97,143,226,1089],[97,143,1090],[97,143,1400,1403],[97,143,1394,1400,1401,1402,1403,1404,1405,1406],[97,143,1400],[85,97,143,1146],[97,143,1396],[97,143,1396,1397,1398,1399],[97,143,1395],[97,143,1127],[97,143,1112,1135],[97,143,1135],[97,143,1135,1146],[97,143,1121,1135,1146],[97,143,1126,1135,1146],[97,143,1116,1135],[97,143,1124,1135,1146],[97,143,1122],[97,143,1112,1113,1114,1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1143,1144,1145],[97,143,1125],[97,143,1112,1113,1114,1115,1116,1117,1118,1119,1120,1122,1123,1125,1127,1128,1129,1130,1131,1132,1133,1134],[97,143,1337],[97,143,1334,1335,1336,1337,1338,1341,1342,1343,1344,1345,1346,1347,1348],[97,143,1333],[97,143,1340],[97,143,1334,1335,1336],[97,143,1334,1335],[97,143,1337,1338,1340],[97,143,1335],[97,143,2613],[97,143,2612],[85,97,143,196,460,1349,1350],[97,143,1606],[97,143,1593,1594,1595],[97,143,1588,1589,1590],[97,143,1566,1567,1568,1569],[97,143,1532,1606],[97,143,1532],[97,143,1532,1533,1534,1535,1580],[97,143,1570],[97,143,1565,1571,1572,1573,1574,1575,1576,1577,1578,1579],[97,143,1580],[97,143,1531],[97,143,1584,1586,1587,1605,1606],[97,143,1584,1586],[97,143,1581,1584,1606],[97,143,1591,1592,1596,1597,1602],[97,143,1585,1587,1597,1605],[97,143,1604,1605],[97,143,1581,1585,1587,1603,1604],[97,143,1585,1606],[97,143,1583],[97,143,1583,1585,1606],[97,143,1581,1582],[97,143,1598,1599,1600,1601],[97,143,1587,1606],[97,143,1542],[97,143,1536,1543],[97,143,1536,1537,1538,1539,1540,1541,1542,1543,1544,1545,1546,1547,1548,1549,1550,1551,1552,1553,1554,1555,1556,1557,1558,1559,1560,1561,1562,1563,1564],[97,143,1562,1606],[97,143,600,601],[97,143,4062],[97,143,2069],[97,143,2092],[97,143,4066],[97,143,546,547,4068],[97,143,2655],[97,143,157,184,191,3340,3341],[97,140,143],[97,142,143],[143],[97,143,148,176],[97,143,144,149,154,162,173,184],[97,143,144,145,154,162],[92,93,94,97,143],[97,143,146,185],[97,143,147,148,155,163],[97,143,148,173,181],[97,143,149,151,154,162],[97,142,143,150],[97,143,151,152],[97,143,153,154],[97,142,143,154],[97,143,154,155,156,173,184],[97,143,154,155,156,169,173,176],[97,143,151,154,157,162,173,184],[97,143,154,155,157,158,162,173,181,184],[97,143,157,159,173,181,184],[95,96,97,98,99,100,101,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190],[97,143,154,160],[97,143,161,184,189],[97,143,151,154,162,173],[97,143,163],[97,143,164],[97,142,143,165],[97,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190],[97,143,167],[97,143,168],[97,143,154,169,170],[97,143,169,171,185,187],[97,143,154,173,174,176],[97,143,175,176],[97,143,173,174],[97,143,177],[97,140,143,173,178],[97,143,154,179,180],[97,143,179,180],[97,143,148,162,173,181],[97,143,182],[97,143,162,183],[97,143,157,168,184],[97,143,148,185],[97,143,173,186],[97,143,161,187],[97,143,188],[97,138,143],[97,138,143,154,156,165,173,176,184,187,189],[97,143,173,190],[97,143,173,191],[85,89,97,143,192,193,194,195,196,479,524],[85,89,97,143,192,193,194,195,460,479,524],[85,89,97,143,192,193,195,196,479,524],[85,97,143,196,460,461],[85,97,143,196,460],[85,97,143,1321],[85,89,97,143,193,194,195,196,479,524],[85,89,97,143,192,194,195,196,479,524],[83,84,97,143],[97,143,533,538,539,541],[97,143,587,588],[97,143,539,541,581,582,583],[97,143,539],[97,143,539,541,581],[97,143,539,581],[97,143,594],[97,143,534,594,595],[97,143,534,594],[97,143,534,540],[97,143,535],[97,143,534,535,536,538],[97,143,534],[97,143,1015,1017],[97,143,1015],[97,143,2319],[97,143,2317,2319],[97,143,2317],[97,143,2319,2383,2384],[97,143,2319,2386],[97,143,2319,2387],[97,143,2404],[97,143,2319,2320,2321,2322,2323,2324,2325,2326,2327,2328,2329,2330,2331,2332,2333,2334,2335,2336,2337,2338,2339,2340,2341,2342,2343,2344,2345,2346,2347,2348,2349,2350,2351,2352,2353,2354,2355,2356,2357,2358,2359,2360,2361,2362,2363,2364,2365,2366,2367,2368,2369,2370,2371,2372,2373,2374,2375,2376,2377,2378,2379,2380,2381,2382,2385,2386,2387,2388,2389,2390,2391,2392,2393,2394,2395,2396,2397,2398,2399,2400,2401,2402,2403,2405,2406,2407,2408,2409,2410,2411,2412,2413,2414,2415,2416,2417,2418,2419,2420,2421,2422,2423,2424,2425,2426,2427,2428,2429,2430,2431,2432,2433,2434,2435,2436,2437,2438,2439,2440,2441,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2453,2454,2455,2456,2457,2458,2459,2460,2461,2462,2463,2464,2465,2466,2467,2468,2469,2470,2471,2472,2473,2474,2475,2476,2477,2478,2479,2481,2482,2483,2484,2485,2486,2487,2488,2489,2490,2491,2492,2493,2494,2495,2496,2497,2498,2499,2500,2505,2506,2507,2508,2509,2510,2511,2512,2513,2514,2515,2516,2517,2518,2519,2520,2521,2522,2523,2524,2525,2526,2527,2528,2529,2530,2531,2532,2533,2534,2535,2536,2537,2538,2539,2540,2541,2542,2543,2544,2545,2546,2547,2548,2549,2550,2551,2552,2553,2554,2555,2556,2557,2558,2559,2560,2561,2562,2563,2564,2565,2566,2567,2568,2569,2570,2571,2572],[97,143,2319,2480],[97,143,2319,2384,2504],[97,143,2317,2501,2502],[97,143,2503],[97,143,2319,2501],[97,143,2316,2317,2318],[97,143,2005],[97,143,2004],[97,143,2006],[97,143,546,547,2603,2604,4068],[97,143,2605],[97,143,1194,1195],[97,143,1194,1195,1196,1197],[97,143,1194,1196],[97,143,1194],[97,143,157,173,191],[97,143,574,575],[97,143,2699,2702,2705,2707,2708,2709],[97,143,2666,2694,2699,2702,2705,2707,2709],[97,143,2666,2694,2699,2702,2705,2709],[97,143,2732,2733,2737],[97,143,2709,2732,2734,2737],[97,143,2709,2732,2734,2736],[97,143,2666,2694,2709,2732,2734,2735,2737],[97,143,2734,2737,2738],[97,143,2709,2732,2734,2737,2739],[97,143,2656,2666,2667,2668,2692,2693,2694],[97,143,2656,2667,2694],[97,143,2656,2666,2667,2694],[97,143,2669,2670,2671,2672,2673,2674,2675,2676,2677,2678,2679,2680,2681,2682,2683,2684,2685,2686,2687,2688,2689,2690,2691],[97,143,2656,2660,2666,2668,2694],[97,143,2710,2711,2731],[97,143,2666,2694,2732,2734,2737],[97,143,2666,2694],[97,143,2712,2713,2714,2715,2716,2717,2718,2719,2720,2721,2722,2723,2724,2725,2726,2727,2728,2729,2730],[97,143,2655,2666,2694],[97,143,2699,2700,2701,2705,2709],[97,143,2699,2702,2705,2709],[97,143,2699,2702,2703,2704,2709],[97,143,482],[97,143,430,493,494],[97,143,201,202,204,216,240,355,366,475],[97,143,204,235,236,237,239,475],[97,143,204,372,374,376,377,379,475,477],[97,143,204,238,275,475],[97,143,202,204,215,216,222,228,233,354,355,356,365,475,477],[97,143,475],[97,143,211,217,236,256,351],[97,143,204],[97,143,197,211,217],[97,143,383],[97,143,380,381,383],[97,143,380,382,475],[97,143,157,256,454,472],[97,143,157,327,330,346,351,472],[97,143,157,299,472],[97,143,359],[97,143,358,359,360],[97,143,358],[91,97,143,157,197,204,216,222,228,234,236,240,241,254,255,322,352,353,366,475,479],[97,143,201,204,238,275,372,373,378,475,527],[97,143,238,527],[97,143,201,255,425,475,527],[97,143,527],[97,143,204,238,239,527],[97,143,375,527],[97,143,241,354,357,364],[85,97,143,430],[97,143,168,211,226],[97,143,211,226],[85,97,143,296],[85,97,143,217,226,430],[97,143,211,282,296,297,509,516],[97,143,281,510,511,512,513,515],[97,143,332],[97,143,332,333],[97,143,215,217,284,285],[97,143,217,291,292],[97,143,217,286,294],[97,143,291],[97,143,209,217,284,285,286,287,288,289,290,291,294],[97,143,217,284,291,292,293,295],[97,143,217,285,287,288],[97,143,285,287,290,292],[97,143,514],[97,143,217],[85,97,143,205,503],[85,97,143,184],[85,97,143,238,273],[85,97,143,238,366],[97,143,271,276],[85,97,143,272,481],[97,143,2629],[85,89,97,143,157,192,193,194,195,196,479,523],[97,143,157,217],[97,143,157,216,221,302,319,361,362,366,422,424,475,476],[97,143,254,363],[97,143,479],[97,143,203],[85,97,143,208,211,427,443,445],[97,143,168,211,427,442,443,444,526],[97,143,436,437,438,439,440,441],[97,143,438],[97,143,442],[97,143,226,390,391,393],[85,97,143,217,384,385,386,387,392],[97,143,390,392],[97,143,388],[97,143,389],[85,97,143,226,272,481],[85,97,143,226,480,481],[85,97,143,226,481],[97,143,319,320],[97,143,320],[97,143,157,476,481],[97,143,349],[97,142,143,348],[97,143,211,217,223,225,327,340,344,346,424,427,464,465,472,476],[97,143,217,266,288],[97,143,327,338,341,346],[85,97,143,208,211,327,330,346,349,383,431,432,433,434,435,446,447,448,449,450,451,452,453,527],[97,143,208,211,236,327,334,335,336,339,340],[97,143,173,217,236,338,345,427,428,472],[97,143,342],[97,143,157,168,205,217,221,231,263,264,267,319,322,387,422,423,464,475,476,477,479,527],[97,143,208,209,211],[97,143,327],[97,142,143,236,263,264,321,322,323,324,325,326,476],[97,143,346],[97,142,143,210,211,221,225,261,327,334,335,336,337,338,341,342,343,344,345,465],[97,143,157,261,262,334,476,477],[97,143,236,264,319,322,327,424,476],[97,143,157,475,477],[97,143,157,173,472,476,477],[97,143,157,168,197,211,216,223,225,228,231,238,258,263,264,265,266,267,302,303,305,308,310,313,314,315,316,318,366,422,424,472,475,476,477],[97,143,157,173],[97,143,204,205,206,234,472,473,474,479,481,527],[97,143,201,202,475],[97,143,395],[97,143,157,173,184,213,379,383,384,385,386,387,393,394,527],[97,143,168,184,197,211,213,225,228,264,303,308,318,319,372,399,400,401,408,411,412,422,424,472,475],[97,143,228,234,241,254,264,322,475],[97,143,157,184,205,216,225,264,406,472,475],[97,143,426],[97,143,157,395,409,410,419],[97,143,472,475],[97,143,324,465],[97,143,225,263,366,481],[97,143,157,168,203,308,368,372,401,408,411,414,472],[97,143,157,241,254,372,415],[97,143,204,265,366,417,475,477],[97,143,157,184,387,475],[97,143,157,238,265,366,367,368,377,395,416,418,475],[91,97,143,157,263,421,479,481],[97,143,317,422],[97,143,157,168,211,214,216,217,223,225,231,240,241,254,264,267,303,305,315,318,319,366,399,400,401,402,404,407,422,424,472,481],[97,143,157,173,241,408,413,419,472],[97,143,244,245,246,247,248,249,250,251,252,253],[97,143,258,309],[97,143,311],[97,143,309],[97,143,311,312],[97,143,157,215,216,217,221,222,476],[97,143,157,168,203,205,223,227,263,266,267,301,422,472,477,479,481],[97,143,157,168,184,207,214,215,225,227,264,420,465,471,476],[97,143,334],[97,143,335],[97,143,217,228,464],[97,143,336],[97,143,210],[97,143,212,224],[97,143,157,212,216,223],[97,143,219,224],[97,143,220],[97,143,212,213],[97,143,212,268],[97,143,212],[97,143,214,258,307],[97,143,306],[97,143,211,213,214],[97,143,214,304],[97,143,211,213],[97,143,263,366],[97,143,464],[97,143,157,184,223,225,229,263,366,421,424,427,428,429,455,456,459,463,465,472,476],[97,143,277,280,282,283,296,297],[85,97,143,194,195,196,226,457,458],[85,97,143,194,195,196,226,457,458,462],[97,143,350],[97,143,236,257,262,263,327,328,329,330,331,333,346,347,349,352,421,424,475,477],[97,143,296],[97,143,157,301,472],[97,143,301],[97,143,157,223,269,298,300,302,421,472,479,481],[97,143,277,278,279,280,282,283,296,297,480],[91,97,143,157,168,184,212,213,225,231,263,264,267,366,419,420,422,472,475,476,479],[97,143,208,211,218],[97,143,262,264,396,399],[97,143,262,397,466,467,468,469,470],[97,143,157,258,475],[97,143,157],[97,143,261,346],[97,143,260],[97,143,262,315],[97,143,259,261,475],[97,143,157,207,262,396,397,398,472,475,476],[85,97,143,211,217,295],[85,97,143,209],[97,143,199,200],[85,97,143,205],[85,97,143,211,281],[85,91,97,143,263,267,479,481],[97,143,205,503,504],[85,97,143,276],[85,97,143,168,184,203,270,272,274,275,481],[97,143,211,238,476],[97,143,211,403],[85,97,143,155,157,168,201,203,276,374,479,480],[85,97,143,192,193,194,195,196,479,524],[85,86,87,88,89,97,143],[97,143,148],[97,143,369,370,371],[97,143,369],[85,89,97,143,157,159,168,191,192,193,194,195,196,197,203,231,236,414,442,477,478,481,524],[97,143,489],[97,143,491],[97,143,495],[97,143,2630],[97,143,497],[97,143,499,500,501],[97,143,505],[90,97,143,483,488,490,492,496,498,502,506,508,518,519,521,525,526,527,528],[97,143,507],[97,143,517],[97,143,272],[97,143,520],[97,142,143,262,396,397,399,466,467,469,470,522,524],[97,143,191],[85,97,143,1612],[85,97,143,1611],[97,143,1611,1614],[97,143,2883,2884,2889],[97,143,2885,2886,2888,2890],[97,143,2889],[97,143,2886,2888,2889,2890,2891,2893,2895,2896,2897,2898,2899,2900,2901,2905,2920,2931,2934,2938,2946,2947,2949,2952,2955,2958],[97,143,2889,2896,2909,2913,2922,2924,2925,2926,2953],[97,143,2889,2890,2906,2907,2908,2909,2911,2912],[97,143,2913,2914,2921,2924,2953],[97,143,2889,2890,2895,2914,2926,2953],[97,143,2890,2913,2914,2915,2921,2924,2953],[97,143,2886],[97,143,2892,2913,2920,2926],[97,143,2920],[97,143,2889,2909,2916,2918,2920,2953],[97,143,2913,2920,2921],[97,143,2922,2923,2925],[97,143,2953],[97,143,2902,2903,2904,2954],[97,143,2889,2890,2954],[97,143,2885,2889,2903,2905,2954],[97,143,2889,2903,2905,2954],[97,143,2889,2891,2892,2893,2954],[97,143,2889,2891,2892,2906,2907,2908,2910,2911,2954],[97,143,2911,2912,2927,2930,2954],[97,143,2926,2954],[97,143,2889,2913,2914,2915,2921,2922,2924,2925,2954],[97,143,2892,2928,2929,2930,2954],[97,143,2889,2954],[97,143,2889,2891,2892,2912,2954],[97,143,2885,2889,2891,2892,2906,2907,2908,2910,2911,2912,2954],[97,143,2889,2891,2892,2907,2954],[97,143,2885,2889,2892,2906,2908,2910,2911,2912,2954],[97,143,2892,2895,2954],[97,143,2895],[97,143,2885,2889,2891,2892,2894,2895,2896,2954],[97,143,2894,2895],[97,143,2889,2891,2895,2954],[97,143,2955,2956],[97,143,2885,2889,2895,2896,2954],[97,143,2889,2891,2933,2954],[97,143,2889,2891,2932,2954],[97,143,2889,2891,2892,2920,2935,2937,2954],[97,143,2889,2891,2937,2954],[97,143,2889,2891,2892,2920,2936,2954],[97,143,2889,2890,2891,2954],[97,143,2940,2954],[97,143,2889,2935,2954],[97,143,2942,2954],[97,143,2889,2891,2954],[97,143,2939,2941,2943,2945,2954],[97,143,2889,2891,2939,2944,2954],[97,143,2935,2954],[97,143,2920,2954],[97,143,2892,2893,2896,2897,2898,2899,2900,2901,2905,2920,2931,2934,2938,2946,2947,2949,2952,2957],[97,143,2889,2891,2920,2954],[97,143,2885,2889,2891,2892,2916,2917,2919,2920,2954],[97,143,2889,2898,2948,2954],[97,143,2889,2891,2950,2952,2954],[97,143,2889,2891,2952,2954],[97,143,2889,2891,2892,2950,2951,2954],[97,143,2890],[97,143,2887,2889,2890],[97,143,1290],[97,143,1091,1290,1291],[97,143,568],[97,143,566,568],[97,143,557,565,566,567,569,571],[97,143,555],[97,143,558,563,568,571],[97,143,554,571],[97,143,558,559,562,563,564,571],[97,143,558,559,560,562,563,571],[97,143,555,556,557,558,559,563,564,565,567,568,569,571],[97,143,571],[97,143,553,555,556,557,558,559,560,562,563,564,565,566,567,568,569,570],[97,143,553,571],[97,143,558,560,561,563,564,571],[97,143,562,571],[97,143,563,564,568,571],[97,143,556,566],[97,143,1339],[85,97,143,1051],[97,143,1051,1052,1053,1054,1055,1058,1059,1060,1061,1062,1063,1064,1067,1068],[97,143,1051],[97,143,1056,1057],[85,97,143,1048,1051],[97,143,1045,1046,1048],[97,143,1041,1044,1046,1048],[97,143,1045,1048],[85,97,143,1036,1037,1038,1041,1042,1043,1045,1046,1047,1048],[97,143,1038,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050],[97,143,1045],[97,143,1039,1045,1046],[97,143,1039,1040],[97,143,1044,1046,1047],[97,143,1044],[97,143,1036,1041,1044,1046,1047],[85,97,143,1041,1044,1045,1046],[97,143,1065,1066],[85,97,143,2256],[85,97,143,2255],[97,143,2697],[85,97,143,2656,2665,2694,2696],[85,97,143,2107,2108,2155],[97,143,2200,2201],[97,143,2107],[97,143,2155],[85,97,143,2202],[85,97,143,2074,2084,2087,2089,2095,2096,2103,2105,2106,2108,2109,2110,2112,2152,2155],[85,97,143,2095,2155],[85,97,143,2074,2084,2087,2089,2094,2096,2105,2107,2108,2109,2113,2115,2116,2152,2155],[85,97,143,2105,2113,2157],[85,97,143,2088,2155],[85,97,143,2073,2074,2076,2084,2155],[85,97,143,2074,2084,2105,2146,2155],[85,97,143,2074,2114,2135,2139,2155],[85,97,143,2087,2096,2108,2109,2122,2123,2155,2196],[97,143,2073,2155],[97,143,2084,2155],[85,97,143,2074,2084,2087,2089,2095,2096,2108,2109,2134,2152,2155],[85,97,143,2074,2076,2113,2126,2179],[85,97,143,2072,2074,2076,2126],[85,97,143,2074,2076,2104,2126,2127,2155],[85,97,143,2074,2084,2087,2091,2095,2096,2108,2109,2123,2136,2138,2152,2155],[85,97,143,2078,2084,2155],[85,97,143,2078,2084,2152,2155],[85,97,143,2155],[85,97,143,2155,2212],[85,97,143,2113,2123,2155],[85,97,143,2073,2123,2155],[85,97,143,2123,2155],[85,97,143,2085],[85,97,143,2074,2123,2155],[85,97,143,2072,2074,2155],[85,97,143,2073,2074,2075,2155],[85,97,143,2073,2074,2076,2155,2212],[85,97,143,2097,2098,2099],[85,97,143,2084,2086,2087,2098,2123,2155,2158],[97,143,2145,2155],[97,143,2084,2085,2104,2150,2152,2155],[97,143,2072,2073,2074,2076,2077,2078,2084,2085,2087,2095,2096,2097,2100,2104,2106,2107,2108,2109,2110,2111,2113,2114,2123,2126,2128,2134,2135,2136,2138,2139,2140,2147,2150,2151,2152,2155,2156,2157,2159,2160,2161,2162,2163,2164,2165,2166,2168,2170,2172,2173,2174,2175,2176,2177,2180,2181,2182,2183,2184,2185,2186,2187,2188,2189,2190,2191,2192,2193,2194,2195,2196,2197,2198,2199,2200,2201,2202,2203,2204,2206,2207,2208,2209,2210,2211],[85,97,143,2074,2087,2089,2096,2108,2109,2118,2120,2122,2137,2155,2171,2212],[85,97,143,2074,2078,2084,2127,2155,2169],[85,97,143,2074,2084],[85,97,143,2074,2078,2084,2127,2155,2167],[85,97,143,2074,2096,2104,2108,2109,2119,2127,2155],[85,97,143,2074,2084,2087,2089,2094,2096,2105,2108,2109,2152,2155,2163,2171,2174],[85,97,143,2094,2155],[85,97,143,2107,2155],[97,143,2079,2083,2155],[97,143,2077,2078,2079,2083,2152,2155],[97,143,2079,2083,2088],[97,143,2079,2083,2122,2140,2155],[97,143,2079,2083,2084,2089,2090,2091,2112,2116,2117,2120,2121,2155],[97,143,2079,2083,2097,2100,2155],[97,143,2079,2083,2123,2155],[97,143,2079,2083,2084],[97,143,2079,2083],[97,143,2079,2080,2083,2084,2126,2128],[97,143,2079,2080,2083,2084,2155],[97,143,2079,2083,2085,2111,2155],[97,143,2103,2122,2145,2155],[97,143,2084,2089,2102,2103,2104,2122,2129,2132,2141,2145,2147,2148,2149,2151,2155],[97,143,2084,2089,2102,2103],[97,143,2145],[97,143,2083,2084,2089,2101,2122,2123,2124,2125,2129,2130,2131,2132,2133,2141,2142,2143,2144],[97,143,2079,2083,2084,2086,2087,2122,2155],[97,143,2089,2102,2111,2122,2155],[97,143,2102,2115,2122],[97,143,2089,2122,2155],[85,97,143,2087,2118,2119,2122,2155],[97,143,2122],[97,143,2102,2122],[97,143,2087,2089,2122,2155],[97,143,2105,2122,2155],[97,143,2123,2155],[85,97,143,2113,2114,2155],[97,143,2087,2094,2101,2103,2104,2123,2152,2155],[85,97,143,2087,2111,2114,2135,2139,2155,2159,2182,2183,2184,2197],[85,97,143,2087,2155,2159,2168,2170,2172,2173,2175],[85,97,143,2155,2175,2212],[97,143,2084,2155,2205],[97,143,2078,2155],[85,97,143,2122,2136,2137,2139,2155],[97,143,2094,2102,2105,2122],[85,97,143,2118,2178],[85,97,143,2071,2072,2073,2076,2077,2078,2084,2085,2086,2089,2107,2111,2118,2152,2153,2154,2212],[97,143,2079],[97,143,2706,2739,2740],[97,143,2741],[97,143,2694,2695],[97,143,2656,2660,2665,2666,2694],[97,143,547,579,580],[97,143,173,191,405],[97,143,537],[97,143,2662],[97,110,114,143,184],[97,110,143,173,184],[97,105,143],[97,107,110,143,181,184],[97,143,162,181],[97,105,143,191],[97,107,110,143,162,184],[97,102,103,106,109,143,154,173,184],[97,110,117,143],[97,102,108,143],[97,110,131,132,143],[97,106,110,143,176,184,191],[97,131,143,191],[97,104,105,143,191],[97,110,143],[97,104,105,106,107,108,109,110,111,112,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,132,133,134,135,136,137,143],[97,110,125,143],[97,110,117,118,143],[97,108,110,118,119,143],[97,109,143],[97,102,105,110,143],[97,110,114,118,119,143],[97,114,143],[97,108,110,113,143,184],[97,102,107,110,117,143],[97,143,173],[97,105,110,131,143,189,191],[97,143,2660,2664],[97,143,2655,2660,2661,2663,2665],[97,143,3319,3320,3321,3322,3323,3324,3325,3327,3328,3329,3330,3331,3332,3333,3334],[97,143,3321],[97,143,3321,3326],[97,143,2657],[97,143,2658,2659],[97,143,2655,2658,2660],[97,143,2070],[97,143,2093],[97,143,591,592],[97,143,591],[97,143,543],[97,143,154,155,157,158,159,162,173,181,184,190,191,543,544,545,547,548,550,551,552,572,573,577,578,579,580],[97,143,543,544,545,549],[97,143,545],[97,143,576],[97,143,547,580],[97,143,542,611,1191],[97,143,584,603,604,1191],[97,143,534,541,584,596,597,1191],[97,143,606],[97,143,585],[97,143,534,542,584,586,596,605,1191],[97,143,589],[97,143,146,155,173,534,539,541,580,584,586,589,590,593,596,598,599,602,605,607,608,610,1191],[97,143,584,603,604,605,1191],[97,143,580,609,610],[97,143,584,586,593,596,598,1191],[97,143,189,599],[97,143,146,155,173,534,539,541,580,584,585,586,589,590,593,596,597,598,599,602,603,604,605,606,607,608,609,610,1191],[97,143,585,586],[97,143,146,155,173,189,533,534,539,541,542,580,584,585,586,589,590,593,596,597,598,599,602,603,604,605,606,607,608,609,610,1190,1191,1192,1193,1198],[97,143,2018,2019],[97,143,2016,2017,2018,2020,2021,2026],[97,143,2017,2018],[97,143,2026],[97,143,2027],[97,143,2018],[97,143,2016,2017,2018,2021,2022,2023,2024,2025],[97,143,2016,2017,2028],[97,143,1255],[97,143,1255,1258],[97,143,1248,1255,1256,1257,1258,1259,1260,1261,1262],[97,143,1263],[97,143,1255,1256],[97,143,1255,1257],[97,143,1201,1203,1204,1205,1206],[97,143,1201,1203,1205,1206],[97,143,1201,1203,1205],[97,143,1201,1203,1204,1206],[97,143,1201,1203,1206],[97,143,1201,1202,1203,1204,1205,1206,1207,1208,1248,1249,1250,1251,1252,1253,1254],[97,143,1203,1206],[97,143,1200,1201,1202,1204,1205,1206],[97,143,1203,1249,1253],[97,143,1203,1204,1205,1206],[97,143,1264],[97,143,1205],[97,143,1209,1210,1211,1212,1213,1214,1215,1216,1217,1218,1219,1220,1221,1222,1223,1224,1225,1226,1227,1228,1229,1230,1231,1232,1233,1234,1235,1236,1237,1238,1239,1240,1241,1242,1243,1244,1245,1246,1247],[97,143,164,226],[85,97,143,226,1091,1199,1351,1607,2783],[85,97,143,226,617,1020,1021,1022,1024,1029,1030,1091,1095,1266,1267,1293,1301,1384,1389,1460,1906,2031,2779],[97,143,226,1199,1267],[97,143,226,624,1266],[97,143,226,1265],[97,143,226,1199,1351,1384,1385,1607,2782,2788],[85,97,143,226,1020,1024,1077,1099,1301,1313,1385,1952,2750,2781],[97,143,226,1021,1022,1024,1029,1030,1069,1265,1301,1389,1460,1906,2779],[97,143,226,1199,1384,1607,2781,2788],[85,97,143,226,617,1020,1095,1384,1388,2031,2780],[97,143,226,1199,1351,1384,1607,2786,2788],[85,97,143,226,1020,1023,1024,1087,1094,1189,1384,1387,2747,2758,2782,2783,2785],[85,97,143,226,1024,1147,1149,1161,1189,2784],[97,143,226,1019,1020,1024,1147,1149,1161,1177,1189,1314],[97,143,226,1094,2786],[97,143,226,1199,1351,1607,2815],[85,97,143,226,617,1020,1021,1024,1029,1077,1094,1095,1151,1187,1265,1301,1906,1908,2031,2793,2794,2795,2797,2805,2807,2808,2811,2812,2813,2814],[97,143,226,1094,1380,2815],[97,143,226,1199,1351,2743],[85,97,143,226,1187,1199,1351,1607,2823],[85,97,143,226,617,1020,1021,1022,1024,1026,1028,1029,1030,1032,1035,1069,1079,1081,1083,1094,1095,1099,1176,1187,1269,1270,1306,1313,1903,1915,1918,1919,2767,2796,2818,2820,2821,2822],[85,97,143,226,1187,1199,1351,1607,2788,2821],[85,97,143,226,1020,1021,1022,1024,1035,1079,1080,1099,1156,1187,1270,1313,1414,1908],[85,97,143,226,1199,1272,1351,2788,2825],[85,97,143,226,1272],[97,143,226,1199,1270],[97,143,226,1187],[85,97,143,226,1020,1021,1022,1024,1029,1030,1069,1079,1269,2818,2819],[85,97,143,226,1187,1199,1351,1607,2826],[85,97,143,226,1187,1199,1272,1351,2826],[85,97,143,226,617,1019,1020,1021,1024,1028,1029,1032,1035,1069,1077,1187,1269,1270,1272,1273,1301,1313,1445,2772,2818,2820,2821,2822,2824,2825],[97,143,226,1187,1272],[85,97,143,226,1032,1199,1351,1607,2788,2824],[85,97,143,226,1020,1024,1032,1035],[85,97,143,226,1021,1024,1025,1029,1035,1069,1080],[85,97,143,226,1187,1199,1351,1607,2829],[85,97,143,226,617,1020,1024,1032,1087,1187,1272,1300,1908,2823,2826,2828],[97,143,226,1199,1272,1351,1607,2828],[85,97,143,226,1024,1035,1079,1147,1149,1161,1272,2827],[97,143,226,1019,1020,1024,1099,1147,1149,1161,1177,1272,1314],[85,97,143,226,1021,1269,2818],[85,97,143,226,1021,1022,1029,1030,1187,1269,2796,2818,2819],[97,143,226,1094,1503,2829],[97,143,226,1199,1351,2776],[85,97,143,226,518,1032,1094,1503,1923,2633,2775],[85,97,143,226,1094,2650,2776],[97,143,226,1199,1351,1607,2843],[85,97,143,226,1301,1324,2842],[85,97,143,226,1019,1024],[97,143,226,1094,1380,2843,2844],[85,97,143,226,1199,1351,1607,2847],[85,97,143,226,617,1020,1021,1024,1029,1030,1080,1095,1265,1274,1417,1906,2031],[85,97,143,226,616,1091,1199,1351,1607,2851],[85,97,143,226,617,1020,1024,1087,1094,1276,1301,1321,1323,1417,2747,2758,2847,2849,2850],[97,143,226,1199,1274],[97,143,226,616,1166,1199,1351,1416,1417,1607,2788,2849],[85,97,143,226,616,1021,1024,1027,1156,1161,1392,1416,1417,2848],[97,143,226,1019,1020,1024,1147,1149,1161,1177,1314,1417,1650],[85,97,143,226,624,1199,1351,1607,2850],[85,97,143,226,617,1020,1021,1024,1029,1030,1069,1080,1095,1274,1417,1906],[97,143,226,1094,2851],[85,97,143,226,1199,1351,2788,2868],[85,97,143,226,617,1020,1024,1025,1077,1187,1301,1418,1964,2220,2753,2858,2862,2866,2867],[85,97,143,226,1199,1351,1607,2788,2858],[85,97,143,226,1020,1024,1301,2857],[85,97,143,226,1277,1278,2860],[85,97,143,226,1021,1022,1025,1069,1079,1277,1278,1906,2796],[97,143,226,1199,1277,1278],[97,143,226,1277],[97,143,226,1199,1351,1607,2862],[85,97,143,226,617,1020,1024,1069,1080,1082,1187,1277,1278,2859,2860,2861],[97,143,226,1199,1351,2859],[85,97,143,226,1030],[85,97,143,226,1280,1281,2863],[85,97,143,226,1021,1022,1069,1079,1280,1281,1906,2796],[85,97,143,226,1199,1280,1351,1607,2788,2865],[85,97,143,226,1030,1280],[97,143,226,1074,1199,1281],[97,143,226,1074,1176,1280],[97,143,226,617,1091,1187,1199,1351,1607,2866],[97,143,226,617,1074,1091,1187,1199,1351,1607,2866],[85,97,143,226,617,1020,1069,1176,1280,1281,1313,1434,2864,2865],[85,97,143,226,1199,1351,2867],[85,97,143,226,624,1020,1024,1077,2214,2220],[97,143,226,1094,2868],[85,97,143,226,1094,1187,1958],[97,143,226,1199,1283],[97,143,226,624],[85,97,143,226,616,1091,1162,1199,1283,1296,1351,2974],[85,97,143,226,616,1030,1035,1077,1099,1151,1162,1166,1283,1286,1295,1296,1301,2753,2972,2973],[97,143,226,1199,1285,1295,1351,2969],[85,97,143,226,1024,1035,1077,1151,1166,1286,1295,1301,2753],[97,143,226,1187,1199,1285,1286],[97,143,226,1166,1187,1285],[85,97,143,226,1091,1199,1351,2975],[85,97,143,226,1024,1295,1301,1369,2747,2879,2880,2881,2970,2974],[97,143,226,1199,1288],[97,143,226,1199,1351,2970],[85,97,143,226,617,1187,1295,2968,2969],[97,143,226,1199,1351,1607,2881],[85,97,143,226,617,1020,1021,1024,1029,1035,1077,1079,1187,1265,1288,1313,1906,2031],[85,97,143,226,616,1199,1298,1351,1445,1607,2972],[85,97,143,226,616,1020,1021,1026,1027,1030,1077,1094,1099,1151,1162,1286,1298,1445,1463,2971],[85,97,143,226,1162,1199,1283,1351,2973],[85,97,143,226,1077,1106,1108,1110,1162,1283,2220],[97,143,226,1187,1199,1285,1351,1607,2880],[85,97,143,226,1077,1187,1286,1295,1301,1369,2220,2753,2755],[97,143,226,1199,1296],[97,143,226,1187,1293,1295],[97,143,226,1199,1295,1351],[97,143,226,1187,1199,1295,1351],[85,97,143,226,1087,1187,1285,1294],[97,143,226,1199,1298],[97,143,226,617,624,1091,1094,1293],[97,143,226,1094,2975],[85,97,143,226,1199,1302,1310,1351,1607,2788],[85,97,143,226,1020,1021,1024,1025,1029,1035,1083,1302,1305,1306],[97,143,226,1199,1302,1308,1351,1607,2788],[85,97,143,226,1199,1302,1305,1308,1351,1607,2788],[85,97,143,226,1020,1021,1023,1024,1025,1029,1035,1302,1305,1306],[85,97,143,226,1199,1330,1351,1607,2788],[85,97,143,226,1020,1024,1079,1080,1082,1095,1300,1301,1302,1307,1308,1309,1310,1319,1320,1325,1327,1328,1329],[85,97,143,226,1199,1325,1351,1607,2788],[85,97,143,226,1021,1027,1324],[97,143,226,1302,1307,1308,1309,1310,1325,1326,1327,1328,1330],[85,97,143,226,1199,1311,1319,1351,1607,2788],[85,97,143,226,1020,1021,1024,1026,1083,1151,1311,1317,1318],[85,97,143,226,1199,1302,1311,1317,1351,1607,2788],[85,97,143,226,1020,1024,1028,1077,1099,1151,1166,1302,1311,1313,1316],[85,97,143,226,1199,1311,1315,1316,1607,2788],[85,97,143,226,1020,1024,1311,1314,1315],[97,143,226,1199,1302,1311,1315],[97,143,226,1166,1302,1311],[97,143,226,1302],[97,143,226,1199,1302,1311,1318,1351],[85,97,143,226,1187,1302,1311],[85,97,143,226,1199,1307,1351,1607,2788],[85,97,143,226,1020,1021,1024,1302,1303,1305,1306],[97,143,226,1199,1326],[97,143,226,1305],[85,97,143,226,1199,1305,1309,1351,1607,2788],[97,143,226,617,1187,1199,1329,1351],[85,97,143,226,617,1187],[97,143,226,617,1199,1327,1351],[85,97,143,226,617,1187,1302,1305,1326],[97,143,226,617,1199,1328,1351],[97,143,226,1094,1331],[97,143,226,1199,1351,1607,3061],[85,97,143,226,1020,1022,1024,1026,1082,1095],[97,143,226,1199,1351,1607,3072],[85,97,143,226,1020,1021,1022,1024,1027,1030,1079],[97,143,226,1091,1199,1351,1607,3064],[85,97,143,226,1020,1024,1091,1099,1176,1187,1301,1313,1975,3061,3062,3063],[97,143,226,1091,1187,1199,1351,3067],[85,97,143,226,1187,1964,2753,3064,3066],[97,143,226,1091,1187,1199,1351,1607,3066],[85,97,143,226,1020,1024,1091,1147,1149,1161,1187,1313,1975,2747,3061,3063,3065],[85,97,143,226,1199,1351,2788,3065],[85,97,143,226,1077,2220],[97,143,226,1199,1351,2788,3069],[97,143,226,1094,1369,3067,3068],[85,97,143,226,1187,1199,1351,1607,2788,3016],[85,97,143,226,1199,1351,2788,3016],[85,97,143,226,617,1020,1021,1022,1025,1029,1030,1035,1069,1076,1095,1187,1306,1313,1358,3007,3008,3009,3010,3011,3012,3014,3015],[85,97,143,226,1020,1024,1030,1099,1147,1149,1161,1361],[85,97,143,226,1187,1199,1351,1607,3007],[85,97,143,226,1029,1030,1077,1079,1187,1647,3006],[85,97,143,226,1020,1024,1025,1030,1077,1080,1099,1147,1149,1161,1187,1361],[97,143,226,1199,1607,2788,3008],[85,97,143,226,617,1020,1024,1077,1187,1313,3000,3001,3002,3003,3004,3005,3007],[97,143,226,1199,2788,3020],[85,97,143,226,1077,1099,3003,3004,3019],[97,143,226,1199,1351,1607,3021],[85,97,143,226,1024,1028,1908,3007,3008,3020],[97,143,226,1199,1607,2788,3003,3004,3005,3019],[97,143,226,1199,1351,1607,3001],[85,97,143,226,1020,1021,1030,1095,1361],[97,143,226,1199,1351,1607,3002],[85,97,143,226,1020,1021,1022,1030,1095,1361],[85,97,143,226,1020,1024,1030,1147,1149,1161,1361],[97,143,226,1199,1351,1607,3000],[85,97,143,226,1020,1025,1030,1095,1361],[85,97,143,226,1199,1351,1607,1647],[85,97,143,226,1025],[85,97,143,226,1199,1351,1607,3006],[85,97,143,226,1021],[97,143,226,1187,1199,1351,1362,1607],[85,97,143,226,617,1020,1021,1022,1024,1025,1030,1079,1080,1095,1187,1313],[97,143,226,1362],[97,143,226,1199,1351,1359,1607,3028],[85,97,143,226,1023,1024,1359,3026,3027],[97,143,226,1199,1351,1359,1607,3026],[85,97,143,226,1024,1306,1359],[97,143,226,1199,1359],[97,143,226,1358],[97,143,226,1199,1351,1359,3027],[85,97,143,226,1020,1024,1306,1357,1359,3016],[97,143,226,1187,1199,1351,1607,2788,3022],[97,143,226,1187,1199,1351,1607,3022],[85,97,143,226,617,1020,1021,1022,1024,1028,1029,1030,1035,1069,1077,1099,1166,1187,1301,1306,1358,1362,3009,3010,3011,3014,3015,3021],[97,143,226,1199,1358],[97,143,226,530],[85,97,143,226,1020,1021,1030,1076,1887,2796,3009],[85,97,143,226,1021,1029,1030,1076,1084,1187,1313,1358,1887,2796,3009],[97,143,226,1199,1351,1607,2040,3018],[85,97,143,226,1024,1147,1149,1161,2040,3017],[85,97,143,226,1024,1029,1030,1035,1069],[85,97,143,226,1187,1199,1351,1358,3030],[85,97,143,226,617,1019,1020,1024,1087,1187,1301,1314,1358,1363,2040,2758,3016,3018,3022,3025,3028,3029],[97,143,226,1019,1020,1024,1147,1149,1161,1177,1306,1314,1358,2040],[97,143,226,1199,1351,1607,3024],[85,97,143,226,617,1020,1022,1024,1035,1313,3023],[97,143,226,1199,1351,1607,3025],[85,97,143,226,617,1023,1024,1077,1187,1313,1358,2040,3024],[97,143,226,1199,1351,1607,3023],[85,97,143,226,617,1020,1024,1077],[85,97,143,226,1020,1021,1023,1024,1025,1029,1030,1069,3009],[97,143,226,1199,1351,2040,3013],[85,97,143,226,1020,1024,1025,1030,1035,1099,1156,2040],[97,143,226,1199,1351,3014],[85,97,143,226,2040,3013],[97,143,226,1094,1187,1199,1351,1607,2788,3029],[97,143,226,1094,1187,1199,1351,2788,3029],[85,97,143,226,617,1020,1021,1022,1024,1029,1030,1035,1087,1094,1095,1187,1265,1414,1415,1441,1903,1906,2031,2301],[85,97,143,226,1199,1351,1607,3015],[85,97,143,226,1020,1021,1022,1024,1028,1030,1035,1077],[97,143,226,1094,3030],[97,143,226,1087,1091,1094,1187,1384],[85,97,143,226,1091,1094,1187,1199,1351,1384],[97,143,226,1087,1091,1092,1094,1187],[97,143,226,1091,1094,1187,1384],[85,97,143,226,1091,1187,1199,1272,1351,1389],[97,143,226,1087,1091,1092,1094,1187,1272],[97,143,226,1091,1092,1187],[97,143,226,1091,1187],[97,143,226,1199,1392],[97,143,226,1147,1149],[85,97,143,226,624,1091,1092,1094,1147,1149,1187,1392,1416],[97,143,226,1199,1351,1418],[97,143,226,624,1094,1293],[85,97,143,226,1091,1199,1351,1420],[85,97,143,226,1091,1199,1351,1422],[85,97,143,226,1091,1199,1351,1424],[85,97,143,226,1091,1199,1351,1426,1427],[97,143,226,1091,1092,1187,1426],[97,143,226,1092,1199],[85,97,143,226,1091,1147,1149,1199,1351,1416],[85,97,143,226,624,1091,1147,1149,1414,1415],[97,143,226,1091,1430,1431],[97,143,226,1091,1092,1094,1430],[97,143,226,1074,1091,1092,1094,1187],[85,97,143,226,1091,1187,1199,1351,1435],[97,143,226,1091,1092,1094,1187],[97,143,226,1199,1351,1437],[97,143,226,624,1087,1094,1293],[85,97,143,226,1091,1187,1199,1351,1439],[85,97,143,226,1091,1187,1199,1351,1443],[97,143,226,1032,1091,1094,1187,1445],[85,97,143,226,1032,1091,1199,1351,1445],[97,143,226,1032,1091,1092,1094,1187],[97,143,226,1091,1094,1187,1445],[85,97,143,226,1091,1187,1199,1351,1449],[97,143,226,1091,1094,1187],[85,97,143,226,1091,1094,1187,1199,1351,1456],[85,97,143,226,1091,1094,1187,1199,1351,1458],[85,97,143,226,1091,1092,1094,1187],[85,97,143,226,1091,1094,1187,1199,1351,1460],[97,143,226,1073,1091,1092,1094,1187],[85,97,143,226,1091,1187,1199,1351,1463],[85,97,143,226,1091,1162,1187,1199,1351],[85,97,143,226,1091,1187,1199,1351,1466],[97,143,226,1091,1092,1093,1187],[85,97,143,226,1091,1187,1199,1351,1367],[85,97,143,226,1091,1199,1351,1469,1470],[97,143,226,1091,1094,1187,1469],[85,97,143,226,1091,1199,1351,1469,1472],[85,97,143,226,1091,1199,1351,1469,1474],[97,143,226,1087,1091,1094,1187,1469],[85,97,143,226,1091,1199,1351,1469],[85,97,143,226,1091,1199,1351,1469,1477],[85,97,143,226,1091,1187,1199,1351,1479],[85,97,143,226,1091,1199,1351,1481],[97,143,226,1091,1092,1379],[85,97,143,226,1091,1199,1351,1483],[97,143,226,1091,1092,1094,1187,1486],[97,143,226,1199,1351,1488],[97,143,226,1199,1351,1490],[97,143,226,1094,1293,1488],[85,97,143,226,1091,1187,1199,1351,1492],[85,97,143,226,1091,1187,1199,1351,1494],[85,97,143,226,1091,1094,1199,1351,1496],[97,143,226,1091,1094,1187,1481],[85,97,143,226,623,1091,1187,1199,1351,1499],[97,143,226,623,1091,1092,1094,1187],[97,143,226,1199,1501],[97,143,226,616,1091,1092,1094,1187],[85,97,143,226,1032,1091,1187,1188,1199,1351,1503],[97,143,226,1032,1087,1091,1092,1094,1187,1188],[85,97,143,226,1091,1093,1187,1199,1351],[85,97,143,226,1091,1187,1199,1351,1506,1507],[97,143,226,1506],[85,97,143,226,1091,1187,1199,1351,1506],[85,97,143,226,1091,1187,1199,1351,1510],[85,97,143,226,1091,1094,1199,1351],[85,97,143,226,620,622,1086,1091,1094,1187,1199,1351],[85,97,143,226,620,622,1086,1087,1093,1187],[97,143,226,1094,1366,1368],[85,97,143,226,1370],[97,143,226,1199,1351,1370,1373],[97,143,226,1199,1351,1370,1375],[97,143,226,1187,1199,1351,1368],[97,143,226,1087,1094,1367],[97,143,226,620,1086,1380],[97,143,226,1091,1187,1512],[85,97,143,226,1091,1187,1199,1351,1514],[85,97,143,226,1091,1187,1199,1351,1516],[97,143,226,1199,1351,1382,1383],[85,97,143,226,518,1382],[85,97,143,226,1032,1094,1188],[97,143,226,1187,1199,1351,2633,2743],[85,97,143,226,518,616,1178,1187,1947,2633,2643,2647,2649,2650,2651,2652,2653,2654,2742],[97,143,226,1094,3091],[97,143,226,1094,3111],[85,97,143,226,1021,1024,1035,1071,1526,2013,2796],[97,143,226,619,1187,1199,1351,1607,1608,3137],[97,143,226,1187,1199,1351,1607,1608,3137],[85,97,143,226,530,617,619,1020,1021,1024,1030,1035,1069,1071,1073,1080,1087,1095,1187,1313,1518,1520,1521,1526,1528,2013,2796,3117,3118,3120,3121,3123,3124,3125,3126,3127,3128,3129,3130,3132,3133,3134,3135,3136],[97,143,226,618,1199,1518],[97,143,226,618,1073],[97,143,226,1199,1521],[97,143,226,1073,1520],[85,97,143,226,1024,1035,1071,1073,1079,1526],[97,143,226,1073,1523],[97,143,226,1073,1199,1520,1521,1523,1524],[97,143,226,1073,1520,1521],[85,97,143,226,1069,1071,1199,1351,1607,3134],[85,97,143,226,1020,1021,1023,1024,1030,1035,1069,1071,1526,1528,2013],[85,97,143,226,1021,1022,1024,1035,1071,1076,1526,2013,2796],[97,143,226,3149,3154],[85,97,143,226,1199,1351,1607,3138],[85,97,143,226,1020,1024,1027,1077,1079,1166,1187,1301,1908],[85,97,143,226,1199,1351,1607,3127],[85,97,143,226,1020,1024,1077,1080,1313,1908],[97,143,226,1073,1187,1199,1351,1607,3146],[85,97,143,226,1019,1020,1023,1024,1073,1095,1150,1187,1304,3137],[97,143,226,1199,1351,1607,3126],[85,97,143,226,1023,1024,1035,1073,1077,1080,1099],[97,143,226,1199,1351,3141],[85,97,143,226,1073],[85,97,143,226,1073,1187,1199,1351,3140],[85,97,143,226,617,618,1187,1199,1351,1607,1608,3140],[85,97,143,226,617,618,619,1020,1021,1022,1024,1030,1035,1069,1071,1073,1076,1187,1301,1520,1523,1526,1528,1908,2013,2581,2796,3120,3121,3123,3124,3125,3126,3128,3129,3130,3133,3134,3135],[97,143,226,1073,1199,1351,1607,3142],[85,97,143,226,618,1020,1024,1073,1077,1099,1166,1301,1520,3140,3141,3155],[85,97,143,226,1091,1187,1199,1351,1607,3149],[85,97,143,226,617,618,1020,1023,1024,1030,1035,1073,1087,1091,1099,1187,1300,1301,1313,1458,1460,2289,3114,3116,3137,3138,3139,3142,3144,3145,3146,3147,3148],[85,97,143,226,1199,1351,3128],[85,97,143,226,1019,1020,1021,1022,1023,1024,1077,1099,1156,1313,1520,1917],[97,143,226,619,1091,1187,1199,1351,3154],[85,97,143,226,618,619,1019,1020,1023,1024,1073,1077,1091,1099,1187,1304,1313,2289,2581,3151,3152,3153],[97,143,226,1071,1199,1526],[85,97,143,226,1069,1071],[85,97,143,226,1069,1071,1199,1351,1528],[97,143,226,1069,1071],[85,97,143,226,1069,1071,1351],[85,97,143,226,1199,1351,1607,3133],[85,97,143,226,530,1019,1023,1024,1035,1306],[97,143,226,1187,1199,1351,1607,3145],[85,97,143,226,1020,1021,1024,1077,1099,1187,1313,2844],[85,97,143,226,1199,1351,1607,3130,3162],[85,97,143,226,1020,1023,1024,1029,1035,1069,1071,1073,1076,1079,1080,1526,1528,1908,2013],[85,97,143,226,1073,1186,1199,1351,3139],[85,97,143,226,1019,1020,1024,1035,1073,1099,1306,1314,1520],[97,143,226,1073,1199,3113],[97,143,226,1073],[85,97,143,226,617,1024,1073,1187,3113],[85,97,143,226,1073,1091,1187,1199,1351,1460,1462,1607,3116],[85,97,143,226,617,1020,1021,1023,1024,1029,1073,1091,1095,1147,1149,1161,1187,1265,1313,1460,1462,1906,2031,3115],[97,143,226,1073,1161,1199,1351,1607,3115],[97,143,226,1019,1020,1024,1073,1147,1149,1161,1166,1177,1187,1314],[97,143,226,1199,1529],[97,143,226,1073,1521],[85,97,143,226,1199,1351,3120,3162],[85,97,143,226,1020,1021,1022,1024,1030,1035,1071,1073,1076,1526,2013,2796,3119],[85,97,143,226,1021,1024,1035,1069,1071,1076,1079,1526],[85,97,143,226,1021,1024,1035,1071,1073,1526,1528,2013,3131],[97,143,226,1187,1199,1351,1607,3131],[85,97,143,226,1019,1187,1313],[85,97,143,226,1199,1351,3123,3162],[85,97,143,226,1020,1027,1071,1073,1156,1526,2796,3122],[85,97,143,226,1022,1024,1035,1071,1526,2013],[97,143,226,1199,1351,1607],[85,97,143,226,1024,1030,1035,1071,1526],[85,97,143,226,1021,1024,1030,1035,1069,1071,1076,1526,2013,2796],[85,97,143,226,1020,1021,1022,1024,1029,1030,1035,1069,1073,1313,1609,1906],[97,143,226,1073,1199,1609],[97,143,226,1069,1073],[85,97,143,226,1073,1199,1351,1607,3151],[85,97,143,226,617,1020,1024,1035,1073,1304,1609,3150],[97,143,226,1073,1199,1351,3121],[85,97,143,226,1024,1073,1908],[85,97,143,226,1073,1091,1187,1199,1351,1607,3148],[85,97,143,226,617,1020,1024,1029,1073,1091,1095,1099,1176,1187,1265,1313,1906,1908,2031,2796],[97,143,226,1199,1520],[97,143,226,1094,3155],[85,97,143,226,1187,1199,1351,1607,3187],[85,97,143,226,1154,1187],[85,97,143,226,1187,1199,1351,1607,3188],[85,97,143,226,1020,1021,1022,1024,1029,1035,1095,1187,1265,1906,2031],[85,97,143,226,1147,1149,1187,1199,1351,1607,3190],[85,97,143,226,1024,1147,1149,1161,1187,3189],[97,143,226,1019,1020,1024,1147,1149,1177,1187,1314],[85,97,143,226,1091,1187,1199,1351,1607,3191],[85,97,143,226,617,1020,1024,1091,1147,1149,1187,1414,1415,2758,3187,3188,3190],[97,143,226,1199,1351,2788,3192],[97,143,226,1094,1369,2844,3068,3191],[97,143,226,1087,1094,3214,3215],[97,143,226,1091,1094,1199,1351,1607,3241,3243],[85,97,143,226,617,1024,1091,1094,1147,1149,1162,1187,1414,1463,1503,1625,2055,2758,3240,3241,3242],[97,143,226,1199,1351,1607,2055,3242],[85,97,143,226,1019,1020,1024,1026,1030,1147,1149,1161,2055,2638,3241],[97,143,226,1199,1619,1621],[97,143,226,1108,1162,1187,1619,1620],[97,143,226,1199,1607,2788,3250],[85,97,143,226,617,1020,1024,1095,1162,1187,1616,1620,1621,2758,3247,3249],[85,97,143,226,1147,1149,1161,1177,1621,3248],[85,97,143,226,1019,1020,1024,1099,1147,1149,1161,1177,1314,1621,1623],[97,143,226,1199,1623],[97,143,226,1199,1351,1607,3281],[85,97,143,226,1020,1021,1024,1027,1030],[97,143,226,1020,1024,1079,1099,1147,1149,1161,1166,1177,2055,2749,2960,3224],[97,143,226,1199,1351,3286],[85,97,143,226,1094,1463,3285],[97,143,226,1199,1351,1613,1616],[85,97,143,226,1615],[97,143,226,1091,1199,1351,1607,3288],[85,97,143,226,1020,1024,1087,1091,1094,1301,1503,1506,1616,1618,1620,1950,3217,3225,3239,3244,3251,3260,3265,3276,3280,3282,3284,3287],[97,143,226,1187,1199,1607,2788,3260],[85,97,143,226,1069,1071,1091,1094,1305,1435,1463,1503,3255,3259],[85,97,143,226,1616,1618,3243],[97,143,226,1087,1094,1503,1506,1620,3250],[97,143,226,1199,1351,1613,3280],[85,97,143,226,1094,1147,1149,1162,1463,1503,1616,1625,3224,3279],[97,143,226,3264],[85,97,143,226,1094,1187,3283],[85,97,143,226,617,1094,1187,1485,1618,3281],[97,143,226,1094,3275],[97,143,226,3286],[85,97,143,226,1162],[97,143,226,1199,1625],[85,97,143,226,1199,1351,1607,2788,3299],[85,97,143,226,1020,1025,1030,1077,1151,1166,1174,1177,1187,1301,1366,2220,2753,2775,3297,3298],[97,143,226,1094,2844,3299],[85,97,143,226,1091,1199,1351,1613,3310,3312,3313],[85,97,143,226,617,1020,1091,1162,1187,1367,1615,2758,3305,3308,3310,3312],[85,97,143,226,1187,1199,1351,1607,3312],[85,97,143,226,1024,1147,1149,1161,1187,3311],[97,143,226,1019,1020,1024,1147,1149,1161,1177,1187,1314],[97,143,226,1199,1351,1607,3305],[97,143,226,1024,3302,3303,3304],[97,143,226,1094,3313],[97,143,226,1199,1351,2777],[85,97,143,226,518,1086,1178,1187,2633,2650,2776],[85,97,143,226,1020,1024,1035,1080],[97,143,226,1199,1351,1607,3414],[85,97,143,226,1019,1021,1024,1035,1156,1954],[85,97,143,226,1199,1351,1607,1631,3436],[85,97,143,226,617,1020,1021,1022,1024,1030,1073,1076,1082,1187,1300,1301,1313,1324,1631,2290,3318,3435],[97,143,226,1199,1351,1636,3423],[85,97,143,226,1636],[97,143,226,1199,1351,3415],[85,97,143,226,1019,1020,1023,1024,1035],[97,143,226,1627],[85,97,143,226,506,1024,1636,3417],[85,97,143,226,617,1020,1024,1035,1629],[97,143,226,1199,1636,3417],[97,143,226,1636],[97,143,226,1199,1351,1627,1636,3431],[85,97,143,226,1024,1073,1321,1323,1627,1635,1636,1639,2698,3422,3423,3424,3425,3426,3427,3429,3430],[97,143,226,1082,1199,1351,1607,2788,3317,3435],[85,97,143,226,617,618,1020,1021,1024,1026,1030,1035,1073,1076,1082,1095,1187,1321,1323,1369,1414,1627,1628,1629,1631,1636,1637,1640,1920,1954,2767,2768,3147,3213,3317,3335,3336,3337,3338,3406,3407,3408,3409,3410,3411,3412,3413,3414,3415,3416,3417,3418,3419,3420,3421,3426,3428,3431,3432,3433,3434],[97,143,226,1199,1351,1607,3425],[85,97,143,226,1020,1024,1080,1187,1321,1323],[85,97,143,226,617,1024,1035,1079],[97,143,226,1199,1351,1607,1628,3419],[85,97,143,226,1026,1628],[97,143,226,1082,1199,1627,3420],[97,143,226,1082,1627],[97,143,226,1199,1351,1607,3421],[97,143,226,1020,1024],[97,143,226,1199,1351,1607,3434],[85,97,143,226,1020,1021,1024,1030,1187,1628],[85,97,143,226,1024,1636,3428],[85,97,143,226,1020,1024,1080,1636],[85,97,143,226,617,1020,1024,1035,1079,1627],[97,143,226,1199,1629],[97,143,226,1199,1351,1607,3317,3441],[85,97,143,226,617,1020,1021,1024,1030,1035,1082,1414,1415,1631,1632,1635,1636,3317,3335,3338,3416,3417,3439,3440],[97,143,226,1199,1351,1607,1632,3439,3441],[85,97,143,226,1024,1028,1084,1156,1632,1920,1954,2767,3337,3437,3438,3441],[97,143,226,1199,1351,1636,3437],[85,97,143,226,1024,1321,1323,1635,1636,2698,3424,3427,3430],[97,143,226,1199,1351,1607,3440],[85,97,143,226,1020,1022,1024],[97,143,226,1199,1351,1607,3460],[85,97,143,226,1021,1026],[97,143,226,1199,1351,1607,1632,3438],[97,143,226,1025,1313,1632],[97,143,226,1199,1631,1632],[97,143,226,1631],[85,97,143,226,1024,1187,1369,1641,1969,2287,2768,3317],[97,143,226,1199,1351,1637],[85,97,143,226,1070,1073,1414,1635,1636],[85,97,143,226,1639],[97,143,226,1187,1636,3335],[97,143,226,1199,1635,3406],[97,143,226,617,1073,1187,1634,1635,1636,2050,3405],[97,143,226,1199,2959,3407],[97,143,226,617,1187,1628,2959],[97,143,226,1199,2959,3408],[97,143,226,617,1187,2959],[97,143,226,1199,3409],[97,143,226,617,1187],[97,143,226,1199,1351,3442],[85,97,143,226,1094,1301,1379,2844,3318,3435,3436,3441],[85,97,143,226,1187,1199,1351,1607,1641,2788,3477],[85,97,143,226,617,1020,1024,1028,1029,1035,1083,1094,1095,1187,1265,1313,1641,1642,1644,1906,2031,3475,3476],[97,143,226,1199,1351,1607,1641,2788,3471],[85,97,143,226,617,1020,1021,1022,1024,1026,1028,1029,1035,1076,1083,1094,1095,1099,1176,1187,1265,1313,1641,1906,1908,2031,2040],[85,97,143,226,1199,1351,1607,2788,3482],[85,97,143,226,1020,1021,1022,1024,1026,1035,1077,1095,1156,1187,1313],[85,97,143,226,1199,1351,1607,1641,2788,3474],[85,97,143,226,1024,1147,1149,1161,1641,3473],[97,143,226,1019,1020,1024,1147,1149,1161,1166,1177,1314,1641,3472],[97,143,226,1199,1642],[97,143,226,1641],[85,97,143,226,1199,1351,1607,2788,3480],[85,97,143,226,1020,1024,1028,1095,1099,1156,1358],[85,97,143,226,1187,1199,1607,1641,2788,3472],[85,97,143,226,1020,1024,1035,1099,1187,1641,1954],[97,143,226,1199,1351,2788,3475],[85,97,143,226,1024,1099,1908],[85,97,143,226,1199,1351,1607,2788,3483],[85,97,143,226,617,1020,1024,1087,1187,1301,1641,1908,2040,2292,2758,3468,3469,3470,3471,3474,3477,3478,3479,3480,3481,3482],[85,97,143,226,1199,1351,1607,1641,2040,2788,3469],[85,97,143,226,617,1020,1021,1024,1026,1030,1187,1313,1641,2040,2287],[97,143,226,1187,1199,1351,1607,1641,2788,3470],[85,97,143,226,1020,1024,1028,1077,1099,1150,1187,1641,1908,3469],[85,97,143,226,1187,1199,1351,1607,2788,3479],[85,97,143,226,617,1020,1024,1077,1099,1150,1156,1187],[85,97,143,226,1187,1199,1351,1607,2788,3478],[85,97,143,226,1020,1024,1025,1029,1069,1094,1099,1187,1313,1906,1908,3476],[85,97,143,226,1199,1351,1607,1641,2788,3468],[85,97,143,226,1024,1147,1149,1161,1641,3467],[97,143,226,1019,1020,1024,1147,1149,1161,1177,1314,1641],[97,143,226,1199,1644],[85,97,143,226,1199,1351,1607,2788,3481],[85,97,143,226,1020,1021,1024,1026,1083,1095,1099,1187,1313],[97,143,226,1094,3483],[97,143,226,1199,1469,1607,2788,3504],[85,97,143,226,1020,1024,1077,1099,1174,1176,1313,1474,1503,1952,2220,2750,3500,3503],[97,143,226,1199,2788,3503],[85,97,143,226,1023,1024,1077,1147,1149,1445,3502],[97,143,226,1032,1199,1607,2788,3502],[85,97,143,226,1024,1032,1147,1149,1161,3501],[97,143,226,1032,1147,1149,1177,1179,2750],[97,143,226,1187,1199,1607,2788,3499],[97,143,226,1199,1607,2788,3499],[85,97,143,226,617,1020,1024,1095,1313,1470,1646,1924,1925,2031],[97,143,226,1187,1199,1469,1607,2788,3500],[97,143,226,1199,1469,1607,2788,3500],[85,97,143,226,617,1020,1024,1095,1313,1469,1477,1646,1924,1925,2031],[85,97,143,226,1199,1607,1646,1924,2031,2788],[85,97,143,226,1020,1021,1022,1023,1024,1026,1028,1029,1030,1032,1069,1079,1080,1081,1094,1187,1503,1646,1647,1906,1908,1923],[97,143,226,1199,1924,1925],[97,143,226,1924],[97,143,226,1199,1469,1607,1613,2788,3507],[85,97,143,226,1020,1023,1024,1469,1503,1615,2747,3499,3504,3506],[97,143,226,1199,1469,1607,1613,2788,3506],[85,97,143,226,1024,1147,1149,1161,1469,1615,3505],[97,143,226,1024,1099,1147,1149,1150,1161,1177,1469],[97,143,226,1094,3507],[85,97,143,226,617,1187,1199,1351,3524],[85,97,143,226,617,1020,1021,1024,1029,1030,1095,1187,1265,1313,1906,2031],[97,143,226,1187,1199,1351,1607,3544],[85,97,143,226,617,1020,1024,1030,1087,1187,1300,3521,3523,3524,3543],[97,143,226,1927,3542],[97,143,226,1199,1351,3533],[85,97,143,226,1024],[97,143,226,1199,1351,3538],[85,97,143,226,1020,1024,1930,1931,3532,3535,3536,3537],[97,143,226,1199,1351,3534],[85,97,143,226,1024,1321,1323,1635,1930,2698],[97,143,226,1199,1351,3537],[85,97,143,226,1199,1351,3535],[85,97,143,226,1024,1930,3533,3534],[97,143,226,1635],[85,97,143,226,617,1187,1635,1928,1930],[97,143,226,1199,1351,3532],[97,143,226,1199,1351,3530],[85,97,143,226,1077,3529],[85,97,143,226,1927,1928],[85,97,143,226,617,1187,1927,1928,3525,3526,3527,3528,3530,3531,3538,3539,3540,3541],[97,143,226,1199,1351,3527],[85,97,143,226,1020,1021,1024,1095,1883],[97,143,226,1199,1351,1607,3522],[85,97,143,226,617,1020,1024,1030,1095,1301,1321,1323],[97,143,226,1199,1351,3526],[85,97,143,226,1020,1021,1024,1030,1099,3522],[97,143,226,1199,1351,3531],[85,97,143,226,1020,1024,1030,1077,1927,3529],[97,143,226,1199,1351,3539],[85,97,143,226,1020,1021,1024,1095],[97,143,226,1199,1351,1927,3528],[85,97,143,226,1020,1024,1077,1927],[97,143,226,1199,1927,1928],[97,143,226,1927],[97,143,226,1095,1187,1199,1607,2788,3541],[85,97,143,226,1020,1024,1099,1150,1187],[85,97,143,226,1187,1199,1351,1607,3523],[85,97,143,226,617,1020,1024,1077,1095,1099,1151,1166,1187,1301,3519,3522],[97,143,226,1187,1928],[97,143,226,1187,1199,1351,1607,3521],[85,97,143,226,1024,1147,1149,1161,1187,3519,3520],[97,143,226,1019,1020,1024,1147,1149,1161,1166,1177,1187,1305,1314,3519],[97,143,226,1199,1351,3525],[85,97,143,226,1020,1095],[97,143,226,1199,1351,3529],[85,97,143,226,1020,1021,1022,1024,1099,1954],[97,143,226,1094,2844,3544],[97,143,226,1187,1199,1607,2788,2968],[85,97,143,226,1020,1021,1023,1024,1030,1077,1079,1151,1177,1187,1301,2882,2962,2967],[97,143,226,1094,2968],[97,143,226,1091,1187,1199,1351,1607,3570],[97,143,226,1199,1351,3570],[85,97,143,226,530,617,1020,1021,1022,1024,1025,1029,1035,1069,1087,1091,1095,1187,1265,1306,1313,1906,1932,2031,2796,3568,3569],[97,143,226,3575],[97,143,226,617,1187,1199,1351,1607,3568],[85,97,143,226,617,1020,1024,1028,1187,1313],[97,143,226,1199,1932],[97,143,226,1087,1091,1187,1199,1351,1607,3569,3575],[85,97,143,226,617,1020,1021,1022,1029,1030,1087,1091,1095,1187,1265,1313,1906,1932,2031,2758,2796,3569,3570,3572,3574],[97,143,226,1199,1351,1607,2788,3569,3572],[85,97,143,226,1024,1147,1149,1161,3569,3571],[97,143,226,1019,1020,1024,1147,1149,1161,1177,1314,3569],[97,143,226,617,1187,1199,1351,1607,3573],[85,97,143,226,617,1020,1021,1024,1077,1187,1313],[97,143,226,1166,1199,1351,1607,3569,3574],[85,97,143,226,1020,1024,1077,1166,3569,3573],[97,143,226,1094,3576],[85,97,143,226,617,1187,1199,1351,2788,3586],[85,97,143,226,617,1020,1021,1022,1024,1025,1029,1034,1035,1095,1187,1265,1313,1906,2011,2031],[97,143,226,1034,1187,1199,1351,1607,3589],[85,97,143,226,617,1020,1034,1087,1187,1300,3209,3586,3588],[97,143,226,1034,1199,1351,1607,3588],[85,97,143,226,1024,1034,1147,1149,1161,3587],[97,143,226,1019,1020,1024,1034,1099,1147,1149,1161,1166,1177,1314,2011],[97,143,226,1094,3589],[97,143,226,1199,1351,1607,3597],[85,97,143,226,1020,1021,1022,1024,1029,1035,1076,1080,1095,1265,1650,1887,1906,2031],[97,143,226,1187,1199,1351,1607,3598],[85,97,143,226,617,623,1020,1024,1187,2758,3594,3596,3597],[97,143,226,623,1187,1199,1351,1607,3594],[85,97,143,226,617,623,1020,1021,1022,1024,1029,1035,1076,1077,1080,1081,1099,1166,1187,1265,1650,1887,1906,1923,2031],[97,143,226,623,1177,1199,1351,1607,3596],[85,97,143,226,623,1024,1147,1149,1161,3595],[97,143,226,623,1019,1020,1024,1099,1147,1149,1161,1177,1314],[97,143,226,1094,3598],[97,143,226,1094,3610],[97,143,226,1094,3617],[97,143,226,1094,3619],[97,143,226,617,1187,1199,1351,1607,3619],[85,97,143,226,617,1020,1022,1024,1077,1187,1313],[97,143,226,1094,3622],[97,143,226,617,1199,1351,1607,3622],[85,97,143,226,617,1020,1021,1027,1077,1187,1313,1947],[97,143,226,1199,1285,1351,2788,3632],[85,97,143,226,1077,1285,2220],[97,143,226,1199,1285,1351,2788,3633],[97,143,226,1199,2788,3634],[85,97,143,226,1147,1149,1161,1174,1177,1285],[97,143,226,1199,1351,3635],[85,97,143,226,1285,3632,3633,3634],[85,97,143,226,1187,1199,1351,1516,1607,3639],[85,97,143,226,1024,1035,1077,1147,1149,1161,1166,1177,1187,1285,1294,1301,1306,1366,1936,1937,1964,1965,1973,1989,2220,2748,2879,3298,3626,3628,3635,3636,3637,3638],[97,143,226,1285],[97,143,226,1199,1937],[97,143,226,1166],[97,143,226,1199,1351,3640],[85,97,143,226,1024,1035,1077,1079,1147,1149,1161,1166,1177,2220,2960,3629],[97,143,226,1199,1351,1607,3638],[85,97,143,226,1161,1166,1177,1301,2220],[97,143,226,1199,1934],[97,143,226,1199,1351,2788,3641],[85,97,143,226,1020,1022,1025,1187,1313,2698],[85,97,143,226,1094,1187,1199,1351,1368,1389,1437,1514,1516,1607,2788,3643],[85,97,143,226,623,1020,1024,1032,1035,1077,1087,1094,1166,1187,1285,1294,1301,1366,1368,1389,1437,1514,1908,1934,1964,1973,1989,2220,2753,2879,3297,3298,3626,3627,3628,3629,3631,3635,3637,3638,3639,3640,3641,3642],[97,143,226,1199,1351,1607,2788,3642],[85,97,143,226,1024,1030,1087,1099,1366],[97,143,226,1199,1285,1294,1351],[85,97,143,226,1285],[97,143,226,1094,1367,1503,3643],[97,143,226,617,1187,1199,1607,2788,3656],[85,97,143,226,617,1028,1076,1077,1094,1095,1151,1156,1177,1187,1887,3655],[85,97,143,226,617,1091,1199,1351,1607,1941,2779,3658],[85,97,143,226,617,1020,1021,1026,1029,1030,1069,1077,1091,1150,1293,1503,1902,1906,1940,1941,2031,2779],[97,143,226,1199,1940,1941],[97,143,226,624,1265,1940],[97,143,226,1199,1940],[97,143,226,3662],[97,143,226,1199,1351,1607,2788,3655],[85,97,143,226,625,1020,1021,1022,1024,1029,1030,1031,1035,1076,1081,1087,1156,1265,1650,1906,1915,1918,2031,2044,2048],[85,97,143,226,1091,1199,1351,1607,2788,3662],[85,97,143,226,617,1020,1087,1091,1147,1149,1150,1187,1301,1414,1415,1615,1910,1911,2758,3656,3657,3658,3660,3661],[97,143,226,1199,1351,1607,3661],[97,143,226,1199,1351,1607,2052,3661],[85,97,143,226,617,1020,1024,1025,1029,1030,1035,1077,1087,1094,1095,1151,1166,1179,1187,1301,1460,1462,1650,1910,2052,2758,2762,3309,3655],[85,97,143,226,1147,1149,1187,1199,1351,1607,3660],[85,97,143,226,1021,1024,1026,1147,1149,1161,1187,3659],[97,143,226,1019,1020,1024,1099,1147,1149,1161,1166,1177,1187,1314],[97,143,226,1094,1503,3663],[97,143,226,1082,1187,1199,1351,1607,3681],[97,143,226,1187,1199,1351,1607,3681],[85,97,143,226,617,1020,1021,1022,1024,1029,1030,1035,1077,1111,1187,1306,1313,1908,3335,3672,3679,3680],[97,143,226,1111,1199,1351,1607,3679],[85,97,143,226,1024,1111,1161,3678],[97,143,226,1019,1020,1024,1111,1147,1149,1166,1177,1314],[97,143,226,1187,1199,1351,1607,3683],[85,97,143,226,617,1020,1024,1087,1111,1182,1187,1301,2290,2758,3674,3675,3677,3681,3682],[85,97,143,226,617,1111,1181,1187],[97,143,226,1181,1182,1199,1351,1607],[85,97,143,226,1024,1147,1149,1161,1180,1182],[97,143,226,1147,1149,1161,1177,1179,1182],[97,143,226,1082,1199,1351,3680],[85,97,143,226,1021,1024,1025,1029,1035,1082,1908],[97,143,226,1111,1199,1351,1607,3682],[85,97,143,226,1025,1077,1111,3676],[97,143,226,617,1187,1199,1351,1607,3677],[85,97,143,226,1187,1199,1351,1607,3677],[85,97,143,226,617,1020,1021,1022,1024,1025,1029,1030,1035,1077,1099,1111,1187,1265,1301,1305,1306,1906,2031,3672,3676],[97,143,226,617,1187,1199,1351,1607,3675],[97,143,226,1187,1199,1305,1351,1607,3672,3675],[85,97,143,226,617,1020,1021,1022,1023,1024,1025,1029,1030,1035,1069,1082,1095,1187,1265,1306,1906,1908,2031,3672],[97,143,226,1111,1199,1351,1607,3674],[85,97,143,226,1024,1111,1147,1149,1161,3673],[97,143,226,1019,1020,1024,1111,1147,1149,1161,1166,1177,1314,3672],[97,143,226,617,1187,1199,1351,1607,3676],[85,97,143,226,617,1020,1022,1024,1028,1077,1187,1313],[97,143,226,1094,3683],[97,143,226,1199,1351,2788,3700],[97,143,226,1094,1369,2844,3068,3698],[97,143,226,1199,1351,1607,3698],[85,97,143,226,1019,1020,1021,1024,1030,1035,1080,1147,1149,1154,1161,1187,1313],[97,143,226,2003,3708],[97,143,226,2003,3710],[85,97,143,226,518,2003,3712,3713],[97,143,226,1199,1351,3702],[85,97,143,226,518,1094,1178,1506,1947,2003,2008,2649],[97,143,226,2003,3715],[85,97,143,226,1199,1351,2002,3706],[85,97,143,226,518,617,1020,1021,1024,1082,1150,1305,1635,1948,1954,2001,2003,2008,3412,3704,3705],[97,143,226,2003,3717],[97,143,226,1199,1351,3719],[97,143,226,1094,1947,2649],[97,143,226,1199,1351,3721],[85,97,143,226,518,1094,3712,3713],[97,143,226,526,529,1322,2631,2632,2633,2634,2635],[97,143,226,1091,1093,1187,1199,1351,1607,3723],[97,143,226,620,622,1091,1093,1187,1199,1351,3723],[85,97,143,226,518,620,622,1020,1021,1024,1029,1030,1035,1077,1086,1093,1187,1265,1313,1453,1906,1908,2031,2291,2650,2796],[97,143,226,3723],[85,97,143,226,518,618],[85,97,143,226,518,3214],[85,97,143,226,518,3215],[85,97,143,226,1199,1351,3730],[85,97,143,226,1020,1024,1086,1908],[85,97,143,226,1199,1351,3734],[85,97,143,226,518,620,621,1187,1466,3730,3732,3733],[97,143,226,1199,1351,1607,3733],[85,97,143,226,1199,1351,1607,3733],[85,97,143,226,1019,1020,1021,1024,1029,1077,1265,1313,1906,1908,2031,2796],[85,97,143,226,1199,1351,3732],[85,97,143,226,1313],[85,97,143,226,518,3734],[85,97,143,226,1032,1166,1199,1285,1351,3626],[85,97,143,226,1024,1032,1077,1080,1166,1285,1963,1989,2220,3625],[85,97,143,226,1021,1027,1077,1079,1083,1084,1106],[97,143,226,617,1082,1110,1162,1187,1199,1607,2295,2628,2788,3245,3247],[85,97,143,226,617,1020,1021,1024,1029,1030,1035,1069,1077,1082,1087,1091,1095,1104,1105,1106,1107,1108,1109,1110,1162,1187,1265,1313,1620,1903,1906,1993,2031,2032,2295,3218,3245,3246],[97,143,226,1032,1069,1071,1094,1187,1199,1305,1607,2788,3259],[85,97,143,226,1020,1024,1026,1029,1030,1032,1035,1069,1071,1077,1079,1087,1094,1095,1187,1305,1439,1479,1499,1620,1903,1908,2013,2032,2960,3227,3252,3253,3254,3256,3257,3258],[97,143,226,1199,1351,3252,3863],[85,97,143,226,623,1021,1022,1024,1030,1032,1035,1070,1071,1076,1079,1080,1507,1920,2006,2013,2593,3221,3222,3227],[97,143,226,1187,1199,1993,2788,3218],[85,97,143,226,1024,1187,1993],[97,143,226,1110,1187,1199,1607,2628,2788,3246],[85,97,143,226,1020,1022,1024,1099,1110,1183,1187,1991],[97,143,226,1110,1991],[97,143,226,1110,1187],[97,143,226,1993],[97,143,226,1107,1110],[97,143,226,1078,1106,1107,1108,1109],[97,143,226,1199,1351,1607,3222],[85,97,143,226,1020,1024,1027,1030,1035,1887],[85,97,143,226,1021,1024,1026,1027,1030,1035,1076,1077,1079,1083,1097,1098,1101,1106],[97,143,226,1097,1106,1199,1607,2628,2788],[85,97,143,226,617,1020,1022,1024,1094,1095,1096,1106,1187],[97,143,226,1096],[97,143,226,1078,1199],[97,143,226,1109],[97,143,226,1106,1107,1108,1199],[97,143,226,1107,1109],[97,143,226,1106,1199,1607,2628,2788],[85,97,143,226,1023,1024,1026,1028,1030,1035,1076,1077,1079,1080,1082,1085,1100,1102,1103,1104,1105,1107,1108,1109],[85,97,143,226,1069,1071,1199,1351,1607,3253,3863],[85,97,143,226,1021,1035,1069,1071,1147,1149,1161,1305,2013],[85,97,143,226,1024,1035,1076],[97,143,226,617,1110,1187],[97,143,226,1199,3255],[97,143,226,617,1187,1305,2591],[97,143,226,1100,1106,1199],[97,143,226,1098,1100,1101,1102,1106,1199,1607,2628,2788],[85,97,143,226,1020,1021,1024,1027,1080,1084,1098,1099,1100,1106],[85,97,143,226,1020,1024,1030,1035,1076,1077,1078,1108],[97,143,226,1199,1305,1351,3254,3863],[85,97,143,226,1021,1069,1071,1076,1305,2013,3227],[97,143,226,617,1187,1199,1351,3255,3256],[85,97,143,226,617,1020,1024,1028,1187,3255],[97,143,226,1069,1071,1091,1199,1305,1351,3257,3863],[85,97,143,226,1020,1021,1022,1024,1030,1069,1071,1187,1305,1479,2013,2796,3227],[97,143,226,1199,1351,1607,2034],[85,97,143,226,1020,1021,1022,1024,1026,1027,1028,1035,1077,1080,1082,1099],[97,143,226,1105,1199,1607,2788],[85,97,143,226,1021,1024,1026,1035,1079,1082],[97,143,226,1107,1199],[97,143,226,1106,1109],[97,143,226,1103,1199],[85,97,143,226,1024,1030,1035,1108],[97,143,226,1187,1199,1607,2788,3271],[85,97,143,226,617,1020,1021,1024,1030,1035,1069,1077,1079,1095,1187,1265,1313,1887,1906,1908,2031,3266,3267,3268,3269,3270,3275],[97,143,226,1199,1351,1607,1648],[85,97,143,226,1076,1187],[97,143,226,1161,1199,1351,1607,3198],[97,143,226,1019,1020,1024,1099,1147,1149,1161,1166,1177,1314],[97,143,226,1187,1199,1351,3198,3199],[85,97,143,226,617,1019,1020,1024,1095,1099,1156,1187,3198],[97,143,226,1187,1199,1351,3200,3201],[85,97,143,226,617,1019,1020,1024,1095,1099,1156,1187,3200],[97,143,226,1187,1199,1351,3203],[85,97,143,226,617,1019,1020,1024,1095,1099,1156,1187,3202],[97,143,226,1161,1199,1351,1607,3200],[97,143,226,1187,1199,1607,2788,3215],[85,97,143,226,518,620,622,1020,1024,1034,1077,1086,1087,1095,1099,1147,1149,1161,1166,1187,1301,1321,1323,1506,3198,3199,3200,3201,3202,3203,3204,3207,3210,3211,3214],[97,143,226,1161,1199,1351,1607,3204],[85,97,143,226,1023,1024,1030,1034,1147,1149,1161,3208,3209],[97,143,226,1034,1161,1199,1351,1607,3208],[97,143,226,1019,1020,1024,1034,1099,1147,1149,1161,1166,1177,1314],[97,143,226,617,1187,1199,1351,1607,3207],[85,97,143,226,508,617,1077,1087,1151,1187,1882,3206],[85,97,143,226,617,1187,3081],[85,97,143,226,1199,1351,1607,3081],[85,97,143,226,1020,1021,1024,1069,1079,1099,1151],[97,143,226,1199,1351,1373,1950],[97,143,226,1099,1373],[97,143,226,1199,1351,1607,3657],[85,97,143,226,617,1020,1024,1095,1151,1187,1882,1909,1969],[85,97,143,226,1020,1024,1035,1080,1321,1323,1635,2001,2698,2741,3426,3427],[97,143,226,1186,1199,2008],[97,143,226,1199,1351,2008],[85,97,143,226,518,1020,1024,1028,1178,2003,2007],[97,143,226,1199,1351,3713],[85,97,143,226,1024,1187],[85,97,143,226,1020,1021,1024,1035,1095,1300,1948,2001,2006],[85,97,143,226,617,1020,1021,1024,1027,1032,1091,1095,1099,1150,1151,1187,1909,2574],[97,143,226,1187,1199,1351,2788,3715],[85,97,143,226,1020,1024,1091,1095,1150,1151,1187,2242],[85,97,143,226,1073,1091,1186,1187,1199,1351,3712],[85,97,143,226,617,1020,1021,1024,1073,1091,1150,1187,1301,1306,3153],[85,97,143,226,1073,1186,1187,1199,1351,3705],[85,97,143,226,617,1024,1073,1079,1150,1187,1306],[85,97,143,226,617,1020,1024,1091,1099,1150,1151,1187,1300],[97,143,226,1073,1635],[85,97,143,226,1020,1024,1091,1150,1187],[97,143,226,1199,1351,2002],[85,97,143,226,2001],[97,143,226,1199,1627,3213],[97,143,226,1073,1627,1636],[85,97,143,226,1019,1024,1073,1080],[97,143,226,1199,1351,3427],[85,97,143,226,1020,1024,1080,1321,1323,2698],[97,143,226,1199,1351,1635],[85,97,143,226,1024,1035,1634],[97,143,226,1034,1199,2011],[97,143,226,1034],[85,97,143,226,617,1019,1020,1024,1034,1095,1099,1156,1187],[85,97,143,226,1024,1034,2011],[85,97,143,226,1199,1351,1607,3627],[85,97,143,226,617,1020,1021,1024,1029,1030,1095,1187,1265,1313,1906,1908,2031,2796],[97,143,226,1091,1199,1351,3088],[85,97,143,226,1077,1091,1092,1094,1427,3083,3085,3087],[97,143,226,1091,1199,1351,1607,3085],[97,143,226,1091,1199,1351,3085],[85,97,143,226,617,1020,1021,1029,1035,1094,1095,1265,1420,1906,1961,2031,3084],[97,143,226,1199,1351,3083],[85,97,143,226,1023,1024,1035],[97,143,226,1091,1199,1351,1426,3087],[85,97,143,226,617,1020,1024,1028,1077,1094,1099,1300,1422,1424,1426,1427,1908,2758,3086],[97,143,226,1199,1961],[97,143,226,1091,1199,1351,1426,1607,3086],[97,143,226,1091,1199,1351,1426,3086],[85,97,143,226,617,1020,1021,1029,1035,1094,1095,1265,1426,1427,1906,1961,2031,3084],[85,97,143,226,1024,1321,1323],[85,97,143,226,1024,1076,1150,1384],[85,97,143,226,1177,1882],[85,97,143,226,1021,1022,1024,1030,1035,1069,1070,1071,1187],[97,143,226,1199,1351,2750],[97,143,226,1099],[97,143,226,1199,1607,2758,2788],[85,97,143,226,1020,1023,1024,1077,1095,1908],[97,143,226,1199,1351,3302],[85,97,143,226,1019,1023,1024,1414,1415],[97,143,226,1199,1351,1607,3303],[85,97,143,226,1019,1020,1024],[97,143,226,1199,1351,1607,3304],[85,97,143,226,1020,1024],[97,143,226,1199,1351,1882,3205],[85,97,143,226,1019],[97,143,226,1199,1351,1607,3206],[97,143,226,1035,1882,3205],[85,97,143,226,1069,1199,1607,1651,2788],[85,97,143,226,1021,1024,1028,1030,1035,1079,1156],[97,143,226,1199,1351,2751],[85,97,143,226,1019,1168,1952,2750],[97,143,226,1199,1351,2650],[97,143,226,1019,1313],[85,97,143,226,1020,1024,1035,1151,1177,1187,3206],[85,97,143,226,1199,1265,1351,1501,1607,2031,3229],[85,97,143,226,1020,1021,1024,1069,1150,1265,1501,1906],[97,143,155,164,226,1199,1351,1607,1884],[85,97,143,226,617,1020,1021,1077,1151,1882,1883],[97,143,226,1199,1351,1607,1883],[85,97,143,226,1021,1024,1026,1082,1414],[85,97,143,226,1069,1071,1199,1351,1607],[85,97,143,226,1029,1069],[97,143,226,1199,1351,1373,3891],[97,143,226,1199,1351,1607,1904],[85,97,143,226,1026,1187],[97,143,226,1187,1199,1351,1607,3270],[85,97,143,226,1020,1024,1029,1035,1077,1647,1908,2767],[85,97,143,226,1077,1079],[85,97,143,155,164,226,1199,1889,2788],[85,97,143,226,1099,1888],[85,97,143,226,1026,1469],[97,143,226,1199,1607,1890,2788],[85,97,143,226,1024,1030,1035],[85,97,143,226,1082,1091,1199,1351,1895,1900],[85,97,143,226,1082,1091,1187,1301,1414,1895,1897,1898,1899],[97,143,226,1199,2014],[97,143,226,1900],[97,143,226,1199,1351,2759],[97,143,226,1099,2014],[85,97,143,226,1091,1199,1351,1895,1897,1900,2014],[85,97,143,226,1151],[85,97,143,226,1032,1503,1902],[97,143,226,1199,1351,1503,1607,3636],[85,97,143,226,1024,1025,1032,1414,1415,1503],[97,143,226,1187,1199,1351,1415,1607,3226],[85,97,143,226,1020,1024,1025,1029,1030,1035,1069,1095,1187,1313,1414,1415,1906,1908],[97,143,226,1187,1199,1351,1516,1607,3628],[85,97,143,226,1026,1187,1516,1902],[97,143,226,617,1091,1187,1199,1351,1367,1607,1911],[85,97,143,226,617,1020,1021,1022,1024,1029,1030,1035,1069,1076,1080,1081,1091,1095,1156,1187,1367,1903,1906,1908,1910],[97,143,226,1199,1351,2647],[97,143,226,620,1020,1086,1375,1958,2291,2637,2638,2639,2641,2642,2644,2645,2646],[97,143,226,1199,1442,2652,2788],[85,97,143,226,1024,1442,1908],[97,143,226,1199,1351,1445,1607,2788,3095],[85,97,143,226,1024,1094,1147,1149,1445,1908,3094],[97,143,226,1199,1351,1445,1607,2788,3094],[85,97,143,226,1024,1147,1149,1161,1445,3093],[97,143,226,1147,1149,1161,1177,1445],[97,143,226,1199,1351,1503,2788,3098],[97,143,226,1024,1094,1503,1908,3097],[97,143,226,1199,1351,1503,2788,3097],[85,97,143,226,1024,1147,1149,1161,1503,3096],[97,143,226,1147,1149,1161,1177,1503],[97,143,226,1199,1351,1607,2844],[85,97,143,226,508,1024],[97,143,226,1199,2035],[97,143,226,2035],[85,97,143,226,617,1020,1021,1024,1029,1035,1078,1082,1095,1100,1105,1106,1107,1108,1109,1110,1187,1265,1313,1619,1906,2031,2032,2033,2034],[85,97,143,226,1199,1351,1607,2038,2788],[85,97,143,226,614,617,1020,1028,1033,1077,1150,1156,1187],[97,143,226,1033,2038],[97,143,226,614],[85,97,143,226,1199,1351,1607,2788,3080],[85,97,143,226,617,1020,1023,1024,1077,1187,2039],[97,143,226,1199,1607,1970,1971,2788],[85,97,143,226,617,1020,1024,1095,1150,1503,1963,1965,1966,1967,1968,1970],[97,143,226,1199,1966,2788],[85,97,143,226,1030,1965],[97,143,226,1967,2788],[85,97,143,226,1964],[97,143,226,1199,1607,1968,2788],[85,97,143,226,1083,1965],[97,143,226,1965,1971,1972],[97,143,226,1032,1964],[97,143,226,1199,1607,1965,1972,2788],[85,97,143,226,1020,1024,1025,1032,1964,1965,1971],[97,143,226,1199,1964,1965,1969,1970],[97,143,226,1166,1964,1965,1969],[97,143,226,1187,1199,1351,2767],[85,97,143,226,1076,1187,2040],[97,143,226,1199,2788,3230],[85,97,143,226,1019,1024,1077,1099],[85,97,143,226,1020,1024,1091,1187,1313,1975,2240,2242,2280],[85,97,143,226,2788,3063],[85,97,143,226,1199,1320,1351,1607,2788],[97,143,226,1199,2231],[97,143,226,1170,1199],[97,143,226,1199,1351,1607,1912],[85,97,143,226,1020,1024,1026,1076],[85,97,143,226,1020,1023,1030],[97,143,226,1081,1199],[97,143,226,1199,2042],[97,143,226,1032,1187],[85,97,143,226,614,625,1031,1187],[97,143,226,1031,1199,2788],[97,143,226,1031,1199],[85,97,143,226,1020,1023,1024,1026,1029,1030],[97,143,226,1199,2044],[97,143,226,1031],[85,97,143,226,1199,1351,1607,1914],[85,97,143,226,1020,1021],[97,143,226,1199,2046],[97,143,226,1032],[97,143,226,1031,2044,2048],[85,97,143,226,1199,1351,1607,3266],[85,97,143,226,1020,1021,1024],[97,143,226,1087,1199,1351,1958,2788],[85,97,143,226,508,1019,1020,1024,1087,1094,1099,1178,1187,1366,1368,1381,1442,1503,1947,1948,1949,1950,1955,1957],[85,97,143,226,1187,1199,1351,2654],[85,97,143,226,1020,1024,1187,1451,1908,1956],[97,143,226,1199,1635,3317],[97,143,226,1073,1187,1634,1635,1636,2913,2959],[97,143,226,1082,1187,1199],[97,143,226,1081,1187],[97,143,226,1073,1199,2050],[97,143,226,1199,1635,1636,3412],[97,143,226,617,1073,1187,1634,1635,1636,1639,2959],[97,143,226,1199,1351,2760],[85,97,143,226,1099,1306,1882,1886],[97,143,226,1073,1075],[97,143,226,1075,1199,1351,1456,1460,1462,1607,1915,2788],[85,97,143,226,1075,1076,1456,1460,1462],[85,97,143,226,1187,1199,1351,1607,1918,2788],[85,97,143,226,1073,1083,1187,1313,1460,1916,1917],[97,143,226,617,1073,1185,1199,1351,1607,3147],[85,97,143,226,616,617,1024,1073,1079,1095,1293,2796],[85,97,143,226,1024,1156,1916],[85,97,143,226,1073,1199,1351,1607,3336],[85,97,143,226,1021,1022,1024,1029,1030,1035,1069,1073,1906],[97,143,226,1073,1199],[97,143,226,1199,1305,2053],[97,143,226,1091,1187,1199,1305,1351,3261],[85,97,143,226,1020,1021,1026,1035,1069,1071,1095,1187,1305,1306,2013,2053,3227,3257],[97,143,226,617,1091,1187,1199,1351,1607,3264],[85,97,143,226,617,1020,1024,1087,1094,1187,1435,2580,2758,3261,3263],[97,143,226,1187,1199,1351,1607,3263],[85,97,143,226,1024,1147,1149,1161,1187,3262],[97,143,226,1019,1020,1024,1147,1149,1161,1166,1177,1187,1305,1314],[97,143,226,1187,1199,1607,2788,3219],[85,97,143,226,1020,1021,1029,1035,1095,1187,1265,1906,2031],[85,97,143,226,1147,1149,1199,1351,1607,3279],[85,97,143,226,1020,1032,1095,1147,1149,1187,2312,3277,3278],[85,97,143,226,1147,1149,1199,1351,1607,3277,3278],[85,97,143,226,1024,1032,1147,1149,1161,3277],[97,143,226,1019,1024,1032,1147,1149,1161,1177],[97,143,226,617,1199,1351,1481,1496,1607,2766,2788,3240],[85,97,143,226,617,1020,1024,1029,1035,1069,1079,1095,1150,1481,1496,1906,2766],[85,97,143,226,1077],[85,97,143,226,617,1077,1151,1187,1882],[85,97,143,226,617,1091,1187,1199,1351,1607,2628,3225],[85,97,143,226,617,623,1020,1024,1035,1070,1077,1091,1095,1108,1162,1166,1187,1301,1306,1463,1503,1507,1619,1620,1625,1882,1993,2035,2580,2594,2758,3218,3219,3220,3223,3224],[85,97,143,226,623,1020,1021,1022,1024,1030,1035,1069,1079,1099,1187,1265,1313,1647,1887,1906,1920,2006,2030,2580,2591,2593,3221,3222],[97,143,226,1162,1187,1199,1351,1367,1503,1514,1607,2779,2788],[97,143,226,1025,1035,1150,1162,1187,1367,1503,1514,1976],[97,143,226,1199,1976],[97,143,226,1199,1351,3217],[85,97,143,226,1199,1305,1306,1351],[85,97,143,226,1304,1305],[85,97,143,226,1199,1305,1351,2960],[85,97,143,226,1306],[85,97,143,226,620,1199,1370,1607,2649,2788],[85,97,143,226,508,620,1019,1024,1086,1099,1178,1187,1372,1375,1380,1442,1947,1979,2291,2639,2641,2642,2644,2645,2646,2648],[97,143,226,1199,1607,2639,2788],[85,97,143,226,1020,1024,1314,1371,1391,1979],[97,143,226,1199,2641,2788],[85,97,143,226,1019,1020,1024,1035,1375,2640],[97,143,226,1199,1951],[85,97,143,226,1607,2642,2788],[85,97,143,226,1019,1020,1024,1099,1370,1377,1954],[97,143,226,1199,1370,1607,2648,2788],[85,97,143,226,1019,1024,1028,1035,1079,1094,1099,1370,1371,1372,1375,1951,1952,1953,1954],[97,143,226,1199,1351,2644],[85,97,143,226,518,1024,1178,1314,1506,2643],[97,143,226,1199,1351,1607,2646],[85,97,143,226,1023,1024,1025,2291],[97,143,226,617,620,1178,1187,1199],[97,143,226,616,617,620,622,623,625,1031,1032,1033,1034,1072,1073,1074,1075,1110,1182,1183,1184,1185,1186],[97,143,226,1091,1199,1442,2653,2788],[85,97,143,226,1024,1442],[85,97,143,226,625,2761,2762,2763],[97,143,226,1199,1910],[85,97,143,226,617,1020,1095,1909],[97,143,226,617,1032,1187,1199,1607,1923,2788],[97,143,226,1187,1199,1923],[85,97,143,226,617,1020,1021,1022,1024,1025,1026,1029,1030,1031,1032,1035,1069,1071,1072,1075,1076,1079,1080,1081,1083,1087,1091,1094,1095,1099,1166,1187,1367,1369,1414,1415,1445,1469,1499,1506,1647,1648,1649,1650,1651,1884,1885,1887,1889,1890,1900,1903,1904,1905,1911,1912,1913,1914,1915,1918,1919,1920,1921,1922],[97,143,226,1199,1921],[97,143,226,1031,1650,1886,1900,1913,1914],[97,143,226,1032,1199,1607,2765,2788],[97,143,226,617,1032,1199,1607,2765,2788],[85,97,143,226,617,1020,1021,1024,1029,1032,1035,1069,1094,1095,1187,1265,1906,1908,1909,2031,2057,2574],[97,143,226,1199,2057],[97,143,226,1199,1922],[97,143,226,1199,2061],[97,143,226,624,1265,2060],[85,97,143,226,1091,1199,1351,1607,3308],[85,97,143,226,617,1020,1021,1022,1029,1030,1091,1095,1293,1367,1906,1915,1920,2031,2060,2061,2779,3307],[97,143,226,1187,1199,2063],[97,143,226,624,1187,1265,2060],[85,97,143,226,1091,1187,1199,1351,1607,3307],[85,97,143,226,617,1020,1021,1022,1029,1030,1091,1187,1293,1367,1906,1915,1920,2031,2060,2063,2299,2779],[85,97,143,226,1199,1351,1367,1607,2788,3310],[85,97,143,226,617,1020,1024,1077,1091,1166,1177,1179,1187,1301,1367,1503,1952,1963,2290,2764,3226,3232,3236,3307,3309],[97,143,226,1087,1199,1946,1958,1959],[97,143,226,1087,1946,1958],[97,143,226,1187,1199,1607,2788,3272],[85,97,143,226,617,1020,1021,1022,1023,1024,1030,1069,1077,1079,1099,1187,1265,1301,1906,2031,3268,3269,3270],[97,143,226,1199,1351,1607,3274,3275],[85,97,143,226,1024,1161,3273,3275],[85,97,143,226,1019,1020,1024,1099,1147,1149,1177,1314,3275],[97,143,226,1187,1199,1351,1607,3274,3275],[85,97,143,226,617,1020,1187,3271,3272,3274],[97,143,226,1187,1199,1351,3630],[85,97,143,226,1020,1147,1149,1161,1187,1301,2220],[85,97,143,226,1035,1099,1187,1882],[97,143,226,1075,1187,1199,1351,1607,2762],[85,97,143,226,1035,1073,1075,1099,1187,1882],[85,97,143,226,1099,1187,1882],[97,143,226,1187,1199,1351,1641,2768,2788],[85,97,143,226,1076,1187,1369,1641],[97,143,226,617,1187,1199,1351,1607,3285],[85,97,143,226,617,1019,1020,1023,1024,1028,1035,1077,1095,1099,1187,1300],[97,143,226,1199,1305],[97,143,226,530,1304],[97,143,226,1147,1149,1187,1199,1351,3212,3214],[85,97,143,226,617,1024,1025,1034,1035,1076,1077,1095,1099,1147,1149,1161,1187,1301,1305,1627,1636,1882,1947,2649,3210,3212,3213],[97,143,226,1099,1147,1149,1161,1177,1305],[85,97,143,226,1199,1351,1607,3266,3267],[85,97,143,226,1020,1021,1024,3266],[97,143,226,1199,1351,3268],[85,97,143,226,1024,1077,1187],[97,143,226,617,1187,1199,1607,2788,2882],[85,97,143,226,617,1020,1187,1895],[97,143,226,1199,1351,1891],[97,143,226,1199,1351,1892],[97,143,226,1199,1351,1607,1895],[85,97,143,226,1891,1892,1893,1894],[97,143,226,1199,1351,1607,1893],[97,143,226,1199,1351,1607,1894],[85,97,143,226,1079],[97,143,226,617,1199,1351,1486,1487,1607,2967],[85,97,143,226,617,1020,1023,1024,1077,1094,1095,1162,1380,1483,1486,1487,2965,2966],[97,143,226,1199,1486,1607,2788,2966],[85,97,143,226,1020,1021,1022,1025,1029,1030,1069,1095,1265,1486,1906,2031,2065],[97,143,226,1199,1486,2065],[97,143,226,1486],[97,143,226,1199,1351,1486,1607,2965],[85,97,143,226,1024,1147,1149,1161,1486,2963,2964],[97,143,226,1019,1020,1024,1147,1149,1161,1177,1314,1486,2067],[85,97,143,226,1024,1301,1324,1486,2067],[97,143,226,617,1187,1199,1351,1607,2788,2794],[85,97,143,226,617,1020,1021,1024,1028,1029,1077,1187,1265,1313,1906,1908,1909,2031,2766],[97,143,226,1187,1199,1607,2788,3231],[85,97,143,226,1019,1025,1187],[97,143,226,1069,1187,1199,1351,1607,3091],[85,97,143,226,617,1020,1021,1025,1029,1069,1077,1079,1095,1151,1187,1301,1306,1987,2758,2766,3080,3082,3088,3090],[97,143,226,1199,1351,1431,1433,1607,2788,2809],[85,97,143,226,617,1020,1021,1028,1029,1094,1095,1265,1313,1431,1433,1906,1980,2031,2796],[97,143,226,1199,1351,1607,2788,2811],[85,97,143,226,617,1020,1024,1077,1094,1150,1430,1431,1432,1433,1908,1980,2758,2809,2810],[97,143,226,1199,1351,1607,2810],[97,143,226,617,1199,1351,1481,1498,1607,2766,2788,2795],[85,97,143,226,617,1020,1021,1023,1024,1029,1035,1069,1077,1079,1150,1313,1481,1498,1906,2766],[85,97,143,226,1082,1199,1351,1454,1455,1607,3144],[85,97,143,226,617,1020,1021,1024,1026,1029,1035,1069,1077,1079,1082,1084,1150,1313,1454,1455,1906,1908,1981,3143],[85,97,143,226,1199,1351,1607,1981,3143],[97,143,226,1020,1022,1024,1077,1301,1883,1908,1981],[97,143,226,617,1187,1199,1981],[97,143,226,1199,1351,1607,2812],[85,97,143,226,1020,1021,1023,1024,1029,1077,1094,1095,1151,1187,1313,1906,1983,2031],[97,143,226,1199,1351,2788,2798],[85,97,143,226,617,1020,1095,1313,1492,1985,2766,2797],[97,143,226,1199,1351,1607,2788,2797],[85,97,143,226,1021,1022,1029,1030,1069,1156,1265,1306,1906,1984,2031,2796],[97,143,226,1091,1199,1351,2799],[85,97,143,226,617,1492,1494,1985,2758,2766],[97,143,226,1199,1351,1492,1494,1607,2788,2800],[97,143,226,617,1199,1351,1492,1494,1985,2766,2797,2800],[85,97,143,226,617,1020,1095,1313,1492,1494,1985,2766,2797],[97,143,226,1199,1351,1607,2788,2801],[97,143,226,1199,1351,1494,2788,2802],[97,143,226,1024,1028,1077,1147,1149,1161,1176,1494,1984],[97,143,226,1091,1199,1351,2805],[85,97,143,226,1020,1024,1077,1099,1166,1306,1494,1984,1985,2798,2799,2800,2801,2802,2803,2804],[97,143,226,1199,1351,2803],[97,143,226,1199,1351,2788,2804],[97,143,226,1024,1077,1150],[97,143,226,1199,1494,1985],[97,143,226,1494],[97,143,226,1199,1607,2788,2806],[85,97,143,226,1020,1024,1080,1099,1156,1959],[97,143,226,617,1199,1351,2807],[97,143,226,617,1028,1077,1079,1094,1150,1506,1510,1908,2806],[97,143,226,1187,1199,1351,1512,1513,2788,2808],[85,97,143,226,617,1020,1022,1027,1030,1077,1079,1094,1150,1187,1512,1513,1908,2742],[97,143,226,1199,1351,1607,3090],[85,97,143,226,1020,1024,1161,1987,3089],[97,143,226,1019,1020,1024,1147,1149,1177,1314,1987],[97,143,226,617,1082,1199,1351,1607,1899],[85,97,143,226,617,1020,1082,1313,1896,1897,1898],[97,143,226,1199,1351,1896],[85,97,143,226,1024,1095],[97,143,226,1082,1091,1199,1351,1607,2961],[85,97,143,226,617,1020,1024,1082,1091,1896,1897],[85,97,143,226,1024,1026,1076],[97,143,226,1082,1091,1187,1199,1351,1607,2962],[85,97,143,226,617,1024,1035,1087,1151,1187,1463,1899,2758,2959,2960,2961],[97,143,226,617,1199,1351,1607,1897,1898],[85,97,143,226,617,1020,1024,1301,1897],[97,143,226,1199,1351,1607,2753],[85,97,143,226,1019,1020,1024,1964,2242],[97,143,226,1199,1351,1908],[85,97,143,226,1019,1907],[97,143,226,1199,1351,1607,3309],[85,97,143,226,1019,1099,1168],[97,143,226,1199,1351,3629],[85,97,143,226,1199,1351,2215],[85,97,143,226,1019,2068,2212,2213,2214],[85,97,143,226,1199,1351,2216],[85,97,143,226,1199,1351,2217],[85,97,143,226,2068,2214],[85,97,143,226,1199,1351,2214],[85,97,143,226,2212],[85,97,143,226,1199,1351,2218],[97,143,226,2068,2214,2215,2216,2217,2218,2219],[85,97,143,226,1199,1351,2219],[97,143,226,1199,1607,1952,2788],[97,143,226,617,1199,1351,1607,1919],[85,97,143,226,617,1020,1909],[85,97,143,226,1147,1148,1149],[97,143,226,1147,1149,1153],[85,97,143,226,1147,1149,1153,1158,1160,1199,1351,1607],[85,97,143,226,1019,1024,1147,1148,1149,1150,1151,1152],[85,97,143,226,1147,1149,1153,1155,1159,1199,1351,1607],[85,97,143,226,1020,1027,1147,1149,1154],[97,143,226,1152,1199,1351,1607],[97,143,226,1019,1020,1024,1030],[85,97,143,226,1147,1149,1161,1199,1351,1607],[97,143,226,1147,1149,1156],[85,97,143,226,1147,1149,1160,1199,1351,1607],[85,97,143,226,794,1019,1024,1147,1149],[85,97,143,226,1147,1149,1153,1159,1199,1351,1607],[85,97,143,226,1019,1020,1021,1024,1099,1147,1149,1158],[97,143,226,794,1020,1024,1147,1149],[97,143,226,1148,1149,1152,1153,1155,1157,1158,1159,1160],[85,97,143,226,1147,1149],[97,143,226,1168,1199,1351,1607],[85,97,143,226,518,1019,1024],[85,97,143,226,1021,1069,1199,1265,1351,1607,1906,2030],[85,97,143,226,1024,1035],[85,97,143,226,1019,1021,2006,2590],[97,143,226,1173,1199,1351,1607],[97,143,226,1032,1035,1166,1187],[97,143,226,1174,1199,1351],[85,97,143,226,851,1018,1019],[97,143,226,1076,1199,1351,1607],[97,143,226,1199,2747,2788],[85,97,143,226,2638],[85,97,143,226,1026,1199,1351,1607,2971],[85,97,143,226,1024,1025,1026,1901],[85,97,143,226,1026,1199,1351,1607,1902],[97,143,226,1199,1351,2879],[97,143,226,1020,1024,1908],[85,97,143,226,1023,1024],[85,97,143,226,1166,1285,1286,2754],[97,143,226,1026,1199,1351,1607],[97,143,226,1199,1351,1949],[85,97,143,226,744,1018,1019],[85,97,143,226,1024,1077,1954],[97,143,226,1162,1163,1199,1351],[85,97,143,226,1019,1024,1099,1162],[85,97,143,226,1035],[97,143,226,1165,1199,1351],[97,143,226,1164],[97,143,226,1166,1167,1199,1351,1607],[85,97,143,226,1019,1024,1164,1166],[97,143,226,1169,1199,1351,1607],[85,97,143,226,1019,1024,1168],[97,143,226,1163,1164,1165,1167,1169,1171,1172,1175,1176],[97,143,226,1171,1199,1351,1607],[97,143,226,1081,1099,1164,1170],[97,143,226,1172,1199,1351],[97,143,226,1175,1199,1351],[97,143,226,1166,1173,1174],[97,143,226,1176,1199,1351,1607],[85,97,143,226,1019,1099,1164],[97,143,226,1199,1351,2638],[97,143,226,1019,1028],[85,97,143,226,1414,1415],[97,143,226,1199,1370,1607,1955,2788],[85,97,143,226,1019,1020,1024,1028,1079,1094,1099,1370,1371,1372,1373,1375,1442,1951,1952,1953,1954],[85,97,143,226,1091,1187,1199,1351,1451,1607,1957],[97,143,226,1020,1024,1080,1091,1174,1187,1451,1956],[97,143,226,617,1187,1199,1351,1607,2797,2813],[85,97,143,226,617,1020,1029,1069,1095,1187,2766,2797],[97,143,226,1199,1351,3337],[85,97,143,226,623,1076,1187],[97,143,226,1187,1199,1351,1607,2788,3604,3606],[85,97,143,226,617,1187,3604,3605],[85,97,143,226,1024,1147,1149,1161,3604],[97,143,226,1019,1020,1024,1147,1149,1161,1177,1314],[85,97,143,226,1888],[97,143,226,1199,1351,2788,3232],[85,97,143,226,1020,1021,1029,1030,1076,1095,1265,1313,1650,1887,1906,2031,2221],[85,97,143,226,1024,1025],[85,97,143,155,164,226,1199,1607,1888,2788],[85,97,143,226,1020,1021,1023,1024,1028,1030,1035,1077,1099,1306,1882,1886,1887],[97,143,226,1187,1199,1351,2788,3234],[85,97,143,226,617,1020,1024,1077,1151,1156,1187,3233],[97,143,226,1199,2221],[97,143,226,1199,2227,2788,3235],[85,97,143,226,1024,1035,1077,1099,1166,2227,2308],[97,143,226,1199,3233],[97,143,226,1199,2223],[97,143,226,1162,1187,1199,1351,1367,1445,1501,1503,1514,1607,2788,3239],[85,97,143,226,617,625,1020,1021,1022,1024,1026,1029,1035,1069,1076,1077,1079,1080,1081,1087,1091,1094,1099,1166,1176,1187,1265,1301,1313,1367,1369,1439,1501,1647,1648,1649,1650,1882,1884,1885,1887,1900,1906,1915,1918,1920,2031,2223,2225,2228,2290,2576,2758,2760,2764,2770,2779,3226,3227,3228,3229,3230,3231,3232,3234,3235,3237,3238],[97,143,226,1087,1094,1199,1351,1506,1607,2788,3237,3239],[85,97,143,226,1024,1035,1087,1094,1166,1177,1187,1506,3236,3239],[97,143,226,1199,2225],[97,143,226,1032,1187,1199,1445,1607,2788,3238],[85,97,143,226,1021,1024,1032,1035,1081,1099,1147,1149,1161,1170,1177,1187,1414,1415,1445,1952,2749,2750,2772],[85,97,143,226,617,1081,1091,1187,1199,1351,1501,1607,1613,3610],[85,97,143,226,616,617,1020,1021,1022,1024,1026,1029,1032,1035,1079,1080,1081,1087,1091,1095,1187,1265,1301,1367,1369,1501,1503,1615,1647,1648,1649,1650,1884,1885,1887,1889,1900,1906,1915,1918,1920,2031,2225,2747,2758,2779,3227,3229,3231,3239,3606,3607,3609],[85,97,143,226,1032,1199,1351,1503,1607,2788,3609],[85,97,143,226,1021,1026,1032,1147,1149,1161,1367,1414,1415,1503,3608],[97,143,226,1019,1020,1024,1032,1147,1149,1150,1161,1166,1177,1187,1314],[85,97,143,226,617,1187,1199,1607,2788,3607],[85,97,143,226,617,1020,1021,1023,1024,1025,1077,1081,1099,1187,1313,1367,1650,1904,2779],[97,143,226,1199,2228],[85,97,143,226,1031,1032,1187,1199,1351,1607,2771,2788],[85,97,143,226,617,623,1020,1021,1022,1029,1030,1031,1032,1035,1075,1076,1079,1081,1087,1187,1313,1366,1367,1469,1506,1647,1648,1649,1650,1651,1885,1886,1887,1890,1900,1904,1906,1912,1913,1914,1915,1918,1920,1923,2014,2031,2049,2228,2230,2232,2767,2768,2769,2770],[97,143,226,1032,1094,1187,1199,1351,1367,1607,2748,2772,2788],[97,143,226,1032,1091,1094,1187,1199,1351,1460,1462,1607,2748,2772,2788],[85,97,143,226,617,1020,1024,1032,1077,1087,1091,1094,1095,1099,1166,1168,1173,1179,1187,1301,1367,1445,1448,1449,1460,1462,1469,1506,1886,2014,2052,2231,2576,2748,2752,2756,2757,2758,2759,2760,2764,2765,2766,2771],[97,143,226,1199,2232],[97,143,226,1032,1265,1886,2228,2230,2231],[97,143,226,1199,1351,1607,2752],[85,97,143,226,1020,1024,1028,1035,1099,1168,1179,1314,1952,2749,2750,2751],[85,97,143,226,1087,1091,1199,1351,2772],[97,143,226,1199,1285,1295,1351,2756],[85,97,143,226,1077,1087,1286,1295,1301,2220,2753,2755],[97,143,226,1199,1322,1351,1607,2645],[85,97,143,226,1020,1024,1099,1314,1322],[97,143,226,1091,1187,1199,1351,1607,3613],[85,97,143,226,1020,1024,1025,1091,1099,1187,1313,1903,1975,3062,3612],[97,143,226,1199,2788,3612],[85,97,143,226,1019,1030],[85,97,143,226,617,1091,1187,1199,1351,1607,2788,3616],[85,97,143,226,617,1091,1187,1369,1988,3063,3615],[85,97,143,226,1187,1199,1351,1607,2788,3615],[85,97,143,226,1024,1030,1147,1149,1161,1187,3612,3614],[97,143,226,1147,1149,1187,1199,1351,1607,3614],[97,143,226,1035,1147,1149,1161,1177,1187,3612],[85,97,143,226,1199,1351,1607,2788,3617],[85,97,143,226,1369,3613,3616],[97,143,226,1020,1199,1300,1351,1607],[85,97,143,226,704,1019,1020],[85,97,143,226,1018,1019],[97,143,226,1199,1351,1953],[85,97,143,226,742,1019],[97,143,226,1099,1199,1351],[97,143,226,844,1013,1018,1019],[97,143,226,1199,1351,2637],[97,143,226,844,1013,1018,1019,1028],[85,97,143,226,1020,1199,1351],[97,143,226,744,1018,1019],[85,97,143,226,1199,1351,2213],[85,97,143,226,1019,2212],[97,143,226,748,1019,1024],[97,143,226,754],[85,97,143,226,1014,1019,1020,1023,1024],[85,97,143,226,803,1019,1020,1024],[85,97,143,226,794,1019,1024],[85,97,143,226,1029,1199,1351],[85,97,143,226,1018,1019,1027,1028],[97,143,226,910,1019],[85,97,143,226,1018,1019,1020,1021,1022],[85,97,143,226,897,1019],[97,143,226,921,923,1019],[85,97,143,226,1020,1021,1022,1027,1028,1077,1099,1150,1151,1199,1313,1351,2213],[85,97,143,226,931,1019],[97,143,226,1030,1199,1351],[85,97,143,226,951,1019,1024],[97,143,226,765,1019],[97,143,226,1019],[97,143,226,961,1019],[97,143,226,615,1024,1322],[97,143,226,965,1019],[97,143,226,972,1018,1019],[97,143,226,1035,1199,1351,1607],[85,97,143,226,1011,1019,1024],[97,143,226,1199,1313,1351],[85,97,143,226,1019,1312],[97,143,226,1187,1199,1351,1607,2814],[85,97,143,226,617,1020,1021,1024,1029,1030,1035,1069,1187,1265,1313,1906,2031],[97,143,226,1187,1199],[97,143,226,617,1187,1199,1351,1607,3220],[85,97,143,226,617,1020,1024,1029,1095,1187,1265,1313,1906,1908,2031,2796],[97,143,226,1032,1094,1187,1199,1351,1607,2046,3298],[85,97,143,226,1027,1035,1083,1094,1161,1166,1177,1187,1285,1882,2046,2220,2772],[97,143,226,1199,1285,1351,1607,3625],[85,97,143,226,1077,1147,1149,1161,1166,1177,1285,2220],[97,143,226,1199,1989],[97,143,226,1187,1199,1351,3631],[85,97,143,226,1025,1035,1077,1187,1301,1964,2220,3629,3630],[85,97,143,226,1187,1199,1351,2775,2788],[85,97,143,226,620,621,1032,1087,1187,1923,2746,2774],[97,143,226,1187,1199,1351,1512,2742,2788],[85,97,143,226,1020,1024,1187,1512,1908,2698,2741],[97,143,226,1076,1111,1199,1351,1920],[85,97,143,226,1076,1111,1187],[97,143,226,1199,1305,3672],[97,143,226,530,1305],[97,143,226,1199,1351,1607,2242,3099,3101],[85,97,143,226,1020,1024,1154,1176,1952,2242,2750,3099],[85,97,143,226,1091,1147,1149,1187,1304,3099,3100,3101],[97,143,226,1147,1149,1199,1351,1607,3099,3100],[85,97,143,226,1021,1024,1030,1147,1149,1161,3099],[97,143,226,1147,1149,1177,2750],[97,143,226,1199,1351,2251],[85,97,143,226,1199,1607,2250,2788],[85,97,143,226,1024,1080,1166],[85,97,143,226,1024,1035,1077,1099,1151],[97,143,226,2237],[85,97,143,226,1199,2237,2238,2788],[85,97,143,226,1035,1187],[85,97,143,226,1199,1607,2238,2248,2788],[85,97,143,226,1035,2237,2245,2246,2247],[85,97,143,226,1199,1607,2238,2245,2788],[97,143,226,1199,1351,1607,2788,3111],[85,97,143,226,1301,1313,1369,3095,3098,3102,3110],[85,97,143,226,1032,1091,1147,1149,1187,1199,1351,2042,2242,3103],[97,143,226,1032,1087,1091,1147,1149,1187,2042,2240,2242,2793],[97,143,226,1199,1351,2241],[97,143,226,1019,1099],[85,97,143,226,1199,1351,1607,2270],[85,97,143,226,1024,1080],[85,97,143,226,1020,1024,1035,1099,1177,1305,2239,2240,2241,2242],[85,97,143,226,1199,1351,1607,2267,2273],[85,97,143,226,1024,1080,2267,2272],[97,143,226,2278,2279],[85,97,143,226,1199,1351,1607,2267,2274],[85,97,143,226,617,2267,2269,2270,2272,2273],[97,143,226,1199,1351,2257],[97,143,226,526,2239,2256],[97,143,226,1199,1351,1607,2240,2278],[85,97,143,226,1020,1024,1035,1077,1080,1099,1166,1183,1301,1313,1634,2239,2240,2242,2248,2249,2250,2251,2252,2253,2254,2257,2258,2266,2277],[97,143,226,1091,1177,1187,1199,1351,2240,2279],[85,97,143,226,1020,1024,1091,1154,1166,1177,1187,1301,1452,2234,2236,2239,2240,2241,2243,2244,2258,2278],[85,97,143,226,1199,1351,1607,2267,2275],[85,97,143,226,617,2239,2267,2269,2272],[97,143,226,2267],[85,97,143,226,1199,1351,2277],[97,143,226,2268,2274,2275,2276],[85,97,143,226,1199,1351,1607,2276],[85,97,143,226,1024,1035,1099,2269],[85,97,143,226,1183,1199,1351],[97,143,226,1019,1024,1099],[97,143,226,1199,1351,1607,2269],[97,143,226,1019,1020,1024,1035],[85,97,143,226,1199,1351,2272],[97,143,226,1019,2267,2271],[85,97,143,226,1199,1351,2271],[97,143,226,1019,2267],[97,143,226,1199,1351,2254],[97,143,226,1199,1351,2253],[97,143,226,1035,1952,2239],[85,97,143,226,2239,2240],[97,143,226,1199,2258],[97,143,226,1199,2242,3104],[97,143,226,2242],[85,97,143,226,1020,1021,1024,1079,1954,2234,2242,3104],[97,143,226,1162,1199,1351,1443,1488,1490,1607,2788,3103,3106],[85,97,143,226,1021,1025,1026,1030,1032,1161,1162,1443,1488,1490,1902,2234,3103],[97,143,226,1091,1187,1199,1351,1607,1613,2240,2242,2788,3110],[85,97,143,226,1032,1091,1147,1149,1177,1187,2234,2235,2240,2242,2280,2772,3103,3105,3109],[85,97,143,226,1024,1032,1147,1149,1161,2240,3103,3106,3108],[97,143,226,1161,1199,1351,1607,2240,3108],[97,143,226,1147,1149,1161,1166,1177,1305,2234,2240,3107],[97,143,226,1151,2259],[97,143,226,2259,2260,2265],[97,143,226,2259],[85,97,143,226,1301,2259,2261,2262],[85,97,143,226,1024,1099,2259,2263],[97,143,226,1199,1351,1607,2240,2260,2265],[85,97,143,226,1024,1080,2240,2260,2264],[97,143,226,1199,2240,2260],[97,143,226,2240,2259],[97,143,226,1199,1351,3107],[97,143,226,2234],[85,97,143,226,1024,1080,1305],[85,97,143,226,1094,1166,1187],[97,143,226,1024,1032,1147,1149,1150,1161,1173,1177,1187,2749,2750],[85,97,143,226,1032,1187,1199,1351,1445,1446,1607,1613,2748,2774,2788],[85,97,143,226,1021,1024,1026,1032,1147,1149,1161,1367,1414,1415,1445,1446,1503,1615,2747,2772,2773],[85,97,143,226,620,621,622,1087,1187],[85,97,143,226,518,2001,2002],[97,143,226,1199,1351,2643],[85,97,143,226,616,1187],[97,143,226,1091],[85,97,143,226,1187],[97,143,226,2287],[97,143,226,2283,2284,2285,2286,2288],[85,97,143,226,617,1091,1187,1199,1351,2292],[97,143,226,617,1091,1187],[97,143,226,618,1187,1199,1351,3135],[85,97,143,226,617,618,1187,2313,2587],[85,97,143,226,1199,1321,1322,1323,1351],[85,97,143,226,1321,1322],[85,97,143,226,1073,1187],[97,143,226,1187,1199,1351,3152],[85,97,143,226,617,618,619,1187,2289,2313,2587],[85,97,143,226,617,618,1187,2289,2313,2587],[85,97,143,226,1093,1187],[97,143,226,1199,1304],[97,143,226,1184,1186],[97,143,226,1104,1105,1199,2295],[97,143,226,1078,1104,1105,1106,1109,1110,2294],[97,143,226,1019,1199],[97,143,226,1015,1016,1018],[97,143,226,1069,1199,1351,2299],[97,143,226,1069],[97,143,226,1199,2301],[85,97,143,226,1199,1265,1351,1607,2031],[97,143,226,1069,1255,2030],[97,143,226,1185,1199,1293],[97,143,226,616,624,1184,1185,1291,1292],[97,143,226,616,1199],[97,143,226,1184,1199],[97,143,226,1185,1199],[97,143,226,1184],[97,143,226,616,617,1199],[85,97,143,226,615,616],[97,143,226,2006],[97,143,226,1087,1199,1366],[97,143,226,1087],[97,143,226,619,620,1199],[97,143,226,619],[97,143,226,617,1166,1199],[97,143,226,617],[97,143,226,1178],[97,143,226,1199,2313],[97,143,226,621,622,1199],[97,143,226,621],[97,143,226,1199,2574],[97,143,226,2573],[97,143,226,1199,2576],[97,143,226,1199,1956],[97,143,226,1199,1370],[97,143,226,1199,2581],[97,143,226,619,1199],[97,143,226,618],[97,143,226,1199,1916],[97,143,226,1178,1199],[97,143,226,1187,1199,1620],[97,143,226,1087,1187],[97,143,226,1199,1634],[97,143,226,1187,1199,1379],[97,143,226,1199,2006,2591],[97,143,226,2006,2590],[97,143,226,1199,2006,2590,2594],[97,143,226,2006,2591,2593],[97,143,226,1199,2593],[97,143,226,1086],[97,143,226,1087,1187,1199],[97,143,226,1199,1382],[97,143,226,1032,1199,1963],[97,143,226,1070,1199],[85,97,143,226,1086,1091,1199,1351,2633,2777],[97,143,226,2605,2616],[97,143,226,2605,2618],[97,143,226,2605,2620],[97,143,226,2605,2622],[97,143,226,2605,2624],[97,143,226,2605,2626],[97,143,226,1199,2605],[97,143,226,2607],[97,143,226,1199,2609],[97,143,226,1199],[97,143,226,1199,1351],[85,97,143,226,1091,1199,1351,1607,1613],[97,143,226,1094,1199,1285,2788,3298],[97,143,164,226,612]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"27bdc30a0e32783366a5abeda841bc22757c1797de8681bbe81fbc735eeb1c10","impliedFormat":1},{"version":"8fd575e12870e9944c7e1d62e1f5a73fcf23dd8d3a321f2a2c74c20d022283fe","impliedFormat":1},{"version":"2ab096661c711e4a81cc464fa1e6feb929a54f5340b46b0a07ac6bbf857471f0","impliedFormat":1},{"version":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2e80ee7a49e8ac312cc11b77f1475804bee36b3b2bc896bead8b6e1266befb43","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cdf8847677ac7d20486e54dd3fcf09eda95812ac8ace44b4418da1bbbab6eb8","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"df83c2a6c73228b625b0beb6669c7ee2a09c914637e2d35170723ad49c0f5cd4","affectsGlobalScope":true,"impliedFormat":1},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e3c06ea092138bf9fa5e874a1fdbc9d54805d074bee1de31b99a11e2fec239d","affectsGlobalScope":true,"impliedFormat":1},{"version":"87dc0f382502f5bbce5129bdc0aea21e19a3abbc19259e0b43ae038a9fc4e326","affectsGlobalScope":true,"impliedFormat":1},{"version":"b1cb28af0c891c8c96b2d6b7be76bd394fddcfdb4709a20ba05a7c1605eea0f9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2fef54945a13095fdb9b84f705f2b5994597640c46afeb2ce78352fab4cb3279","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac77cb3e8c6d3565793eb90a8373ee8033146315a3dbead3bde8db5eaf5e5ec6","affectsGlobalScope":true,"impliedFormat":1},{"version":"56e4ed5aab5f5920980066a9409bfaf53e6d21d3f8d020c17e4de584d29600ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ece9f17b3866cc077099c73f4983bddbcb1dc7ddb943227f1ec070f529dedd1","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a6282c8827e4b9a95f4bf4f5c205673ada31b982f50572d27103df8ceb8013c","affectsGlobalScope":true,"impliedFormat":1},{"version":"1c9319a09485199c1f7b0498f2988d6d2249793ef67edda49d1e584746be9032","affectsGlobalScope":true,"impliedFormat":1},{"version":"e3a2a0cee0f03ffdde24d89660eba2685bfbdeae955a6c67e8c4c9fd28928eeb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811c71eee4aa0ac5f7adf713323a5c41b0cf6c4e17367a34fbce379e12bbf0a4","affectsGlobalScope":true,"impliedFormat":1},{"version":"51ad4c928303041605b4d7ae32e0c1ee387d43a24cd6f1ebf4a2699e1076d4fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"60037901da1a425516449b9a20073aa03386cce92f7a1fd902d7602be3a7c2e9","affectsGlobalScope":true,"impliedFormat":1},{"version":"d4b1d2c51d058fc21ec2629fff7a76249dec2e36e12960ea056e3ef89174080f","affectsGlobalScope":true,"impliedFormat":1},{"version":"22adec94ef7047a6c9d1af3cb96be87a335908bf9ef386ae9fd50eeb37f44c47","affectsGlobalScope":true,"impliedFormat":1},{"version":"196cb558a13d4533a5163286f30b0509ce0210e4b316c56c38d4c0fd2fb38405","affectsGlobalScope":true,"impliedFormat":1},{"version":"73f78680d4c08509933daf80947902f6ff41b6230f94dd002ae372620adb0f60","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5239f5c01bcfa9cd32f37c496cf19c61d69d37e48be9de612b541aac915805b","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"7e29f41b158de217f94cb9676bf9cbd0cd9b5a46e1985141ed36e075c52bf6ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac51dd7d31333793807a6abaa5ae168512b6131bd41d9c5b98477fc3b7800f9f","impliedFormat":1},{"version":"814d5c7384f3ca276e9dc4bcfde5545801a3ea0bfae09916b3336774e662fd1b","impliedFormat":1},{"version":"acd8fd5090ac73902278889c38336ff3f48af6ba03aa665eb34a75e7ba1dccc4","impliedFormat":1},{"version":"d6258883868fb2680d2ca96bc8b1352cab69874581493e6d52680c5ffecdb6cc","impliedFormat":1},{"version":"1b61d259de5350f8b1e5db06290d31eaebebc6baafd5f79d314b5af9256d7153","impliedFormat":1},{"version":"f258e3960f324a956fc76a3d3d9e964fff2244ff5859dcc6ce5951e5413ca826","impliedFormat":1},{"version":"643f7232d07bf75e15bd8f658f664d6183a0efaca5eb84b48201c7671a266979","impliedFormat":1},{"version":"21da358700a3893281ce0c517a7a30cbd46be020d9f0c3f2834d0a8ad1f5fc75","impliedFormat":1},{"version":"70521b6ab0dcba37539e5303104f29b721bfb2940b2776da4cc818c07e1fefc1","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","affectsGlobalScope":true,"impliedFormat":1},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"98cffbf06d6bab333473c70a893770dbe990783904002c4f1a960447b4b53dca","affectsGlobalScope":true,"impliedFormat":1},{"version":"ba481bca06f37d3f2c137ce343c7d5937029b2468f8e26111f3c9d9963d6568d","affectsGlobalScope":true,"impliedFormat":1},{"version":"6d9ef24f9a22a88e3e9b3b3d8c40ab1ddb0853f1bfbd5c843c37800138437b61","affectsGlobalScope":true,"impliedFormat":1},{"version":"1db0b7dca579049ca4193d034d835f6bfe73096c73663e5ef9a0b5779939f3d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"9798340ffb0d067d69b1ae5b32faa17ab31b82466a3fc00d8f2f2df0c8554aaa","affectsGlobalScope":true,"impliedFormat":1},{"version":"f26b11d8d8e4b8028f1c7d618b22274c892e4b0ef5b3678a8ccbad85419aef43","affectsGlobalScope":true,"impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"763fe0f42b3d79b440a9b6e51e9ba3f3f91352469c1e4b3b67bfa4ff6352f3f4","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"7f182617db458e98fc18dfb272d40aa2fff3a353c44a89b2c0ccb3937709bfb5","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"b52476feb4a0cbcb25e5931b930fc73cb6643fb1a5060bf8a3dda0eeae5b4b68","affectsGlobalScope":true,"impliedFormat":1},{"version":"e2677634fe27e87348825bb041651e22d50a613e2fdf6a4a3ade971d71bac37e","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"8c0bcd6c6b67b4b503c11e91a1fb91522ed585900eab2ab1f61bba7d7caa9d6f","impliedFormat":1},{"version":"8cd19276b6590b3ebbeeb030ac271871b9ed0afc3074ac88a94ed2449174b776","affectsGlobalScope":true,"impliedFormat":1},{"version":"696eb8d28f5949b87d894b26dc97318ef944c794a9a4e4f62360cd1d1958014b","impliedFormat":1},{"version":"3f8fa3061bd7402970b399300880d55257953ee6d3cd408722cb9ac20126460c","impliedFormat":1},{"version":"35ec8b6760fd7138bbf5809b84551e31028fb2ba7b6dc91d95d098bf212ca8b4","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"68bd56c92c2bd7d2339457eb84d63e7de3bd56a69b25f3576e1568d21a162398","affectsGlobalScope":true,"impliedFormat":1},{"version":"3e93b123f7c2944969d291b35fed2af79a6e9e27fdd5faa99748a51c07c02d28","impliedFormat":1},{"version":"9d19808c8c291a9010a6c788e8532a2da70f811adb431c97520803e0ec649991","impliedFormat":1},{"version":"87aad3dd9752067dc875cfaa466fc44246451c0c560b820796bdd528e29bef40","impliedFormat":1},{"version":"4aacb0dd020eeaef65426153686cc639a78ec2885dc72ad220be1d25f1a439df","impliedFormat":1},{"version":"f0bd7e6d931657b59605c44112eaf8b980ba7f957a5051ed21cb93d978cf2f45","impliedFormat":1},{"version":"8db0ae9cb14d9955b14c214f34dae1b9ef2baee2fe4ce794a4cd3ac2531e3255","affectsGlobalScope":true,"impliedFormat":1},{"version":"15fc6f7512c86810273af28f224251a5a879e4261b4d4c7e532abfbfc3983134","impliedFormat":1},{"version":"58adba1a8ab2d10b54dc1dced4e41f4e7c9772cbbac40939c0dc8ce2cdb1d442","impliedFormat":1},{"version":"641942a78f9063caa5d6b777c99304b7d1dc7328076038c6d94d8a0b81fc95c1","impliedFormat":1},{"version":"714435130b9015fae551788df2a88038471a5a11eb471f27c4ede86552842bc9","impliedFormat":1},{"version":"855cd5f7eb396f5f1ab1bc0f8580339bff77b68a770f84c6b254e319bbfd1ac7","impliedFormat":1},{"version":"5650cf3dace09e7c25d384e3e6b818b938f68f4e8de96f52d9c5a1b3db068e86","impliedFormat":1},{"version":"1354ca5c38bd3fd3836a68e0f7c9f91f172582ba30ab15bb8c075891b91502b7","affectsGlobalScope":true,"impliedFormat":1},{"version":"27fdb0da0daf3b337c5530c5f266efe046a6ceb606e395b346974e4360c36419","impliedFormat":1},{"version":"2d2fcaab481b31a5882065c7951255703ddbe1c0e507af56ea42d79ac3911201","impliedFormat":1},{"version":"a192fe8ec33f75edbc8d8f3ed79f768dfae11ff5735e7fe52bfa69956e46d78d","impliedFormat":1},{"version":"ca867399f7db82df981d6915bcbb2d81131d7d1ef683bc782b59f71dda59bc85","affectsGlobalScope":true,"impliedFormat":1},{"version":"372413016d17d804e1d139418aca0c68e47a83fb6669490857f4b318de8cccb3","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e043a1bc8fbf2a255bccf9bf27e0f1caf916c3b0518ea34aa72357c0afd42ec","impliedFormat":1},{"version":"b4f70ec656a11d570e1a9edce07d118cd58d9760239e2ece99306ee9dfe61d02","impliedFormat":1},{"version":"3bc2f1e2c95c04048212c569ed38e338873f6a8593930cf5a7ef24ffb38fc3b6","impliedFormat":1},{"version":"6e70e9570e98aae2b825b533aa6292b6abd542e8d9f6e9475e88e1d7ba17c866","impliedFormat":1},{"version":"f9d9d753d430ed050dc1bf2667a1bab711ccbb1c1507183d794cc195a5b085cc","impliedFormat":1},{"version":"9eece5e586312581ccd106d4853e861aaaa1a39f8e3ea672b8c3847eedd12f6e","impliedFormat":1},{"version":"47ab634529c5955b6ad793474ae188fce3e6163e3a3fb5edd7e0e48f14435333","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"45650f47bfb376c8a8ed39d4bcda5902ab899a3150029684ee4c10676d9fbaee","impliedFormat":1},{"version":"fad4e3c207fe23922d0b2d06b01acbfb9714c4f2685cf80fd384c8a100c82fd0","affectsGlobalScope":true,"impliedFormat":1},{"version":"74cf591a0f63db318651e0e04cb55f8791385f86e987a67fd4d2eaab8191f730","impliedFormat":1},{"version":"5eab9b3dc9b34f185417342436ec3f106898da5f4801992d8ff38ab3aff346b5","impliedFormat":1},{"version":"12ed4559eba17cd977aa0db658d25c4047067444b51acfdcbf38470630642b23","affectsGlobalScope":true,"impliedFormat":1},{"version":"f3ffabc95802521e1e4bcba4c88d8615176dc6e09111d920c7a213bdda6e1d65","impliedFormat":1},{"version":"809821b8a065e3234a55b3a9d7846231ed18d66dd749f2494c66288d890daf7f","impliedFormat":1},{"version":"ae56f65caf3be91108707bd8dfbccc2a57a91feb5daabf7165a06a945545ed26","impliedFormat":1},{"version":"a136d5de521da20f31631a0a96bf712370779d1c05b7015d7019a9b2a0446ca9","impliedFormat":1},{"version":"c3b41e74b9a84b88b1dca61ec39eee25c0dbc8e7d519ba11bb070918cfacf656","affectsGlobalScope":true,"impliedFormat":1},{"version":"4737a9dc24d0e68b734e6cfbcea0c15a2cfafeb493485e27905f7856988c6b29","affectsGlobalScope":true,"impliedFormat":1},{"version":"36d8d3e7506b631c9582c251a2c0b8a28855af3f76719b12b534c6edf952748d","impliedFormat":1},{"version":"1ca69210cc42729e7ca97d3a9ad48f2e9cb0042bada4075b588ae5387debd318","impliedFormat":1},{"version":"f5ebe66baaf7c552cfa59d75f2bfba679f329204847db3cec385acda245e574e","impliedFormat":1},{"version":"ed59add13139f84da271cafd32e2171876b0a0af2f798d0c663e8eeb867732cf","affectsGlobalScope":true,"impliedFormat":1},{"version":"b7c5e2ea4a9749097c347454805e933844ed207b6eefec6b7cfd418b5f5f7b28","impliedFormat":1},{"version":"b1810689b76fd473bd12cc9ee219f8e62f54a7d08019a235d07424afbf074d25","impliedFormat":1},{"version":"2beff543f6e9a9701df88daeee3cdd70a34b4a1c11cb4c734472195a5cb2af54","impliedFormat":1},{"version":"2e07abf27aa06353d46f4448c0bbac73431f6065eef7113128a5cd804d0c384d","impliedFormat":1},{"version":"be1cc4d94ea60cbe567bc29ed479d42587bf1e6cba490f123d329976b0fe4ee5","impliedFormat":1},{"version":"66be1299a7a3129ceb488b340c291cf575bebb0e337f92e169dec38231472e34","impliedFormat":1},{"version":"9894dafe342b976d251aac58e616ac6df8db91fb9d98934ff9dd103e9e82578f","impliedFormat":1},{"version":"413df52d4ea14472c2fa5bee62f7a40abd1eb49be0b9722ee01ee4e52e63beb2","impliedFormat":1},{"version":"db6d2d9daad8a6d83f281af12ce4355a20b9a3e71b82b9f57cddcca0a8964a96","impliedFormat":1},{"version":"446a50749b24d14deac6f8843e057a6355dd6437d1fac4f9e5ce4a5071f34bff","impliedFormat":1},{"version":"182e9fcbe08ac7c012e0a6e2b5798b4352470be29a64fdc114d23c2bab7d5106","impliedFormat":1},{"version":"2f4e6b4d39426a1b85ecf4bdeb9dddbf4d9b3397d95d8555d46f925c9519ec7d","impliedFormat":1},{"version":"78a2869ad0cbf3f9045dda08c0d4562b7e1b2bfe07b19e0db072f5c3c56e9584","impliedFormat":1},{"version":"89d5d28d4f57e000b836ac273079be1b75710e28ce14750d081fb420d37e2ca5","impliedFormat":1},{"version":"fd4e24ccff3966390600d7f5d6aa1fed5a512e92ada735ea5fbc933d313ad3d3","impliedFormat":1},{"version":"b7cddfe1aa6b86b5fad3c9ccb30d05b3ccb165aebbf112f48d2d8a5f69dd98b1","impliedFormat":1},{"version":"a86f82d646a739041d6702101afa82dcb935c416dd93cbca7fd754fd0282ce1f","impliedFormat":1},{"version":"ad0d1d75d129b1c80f911be438d6b61bfa8703930a8ff2be2f0e1f8a91841c64","impliedFormat":1},{"version":"bd2c7ada3dee03653d3f601011d30072194bc3970cd93208f9588fbdc0c69347","impliedFormat":1},{"version":"e480da45d32313e7174b265674da504f075f59ef326852f0c5a5d863b438ae85","impliedFormat":1},{"version":"ad54850f61fcf5d014e11be80d2f46fea9265cfa7e77456da876f7833ef81769","impliedFormat":1},{"version":"6f7c9e8bd2b5b6a080b07080065f94900bd3c7e5ebbd3047bc33fcce2fab1dd8","impliedFormat":1},{"version":"3e7efde639c6a6c3edb9847b3f61e308bf7a69685b92f665048c45132f51c218","impliedFormat":1},{"version":"df45ca1176e6ac211eae7ddf51336dc075c5314bc5c253651bae639defd5eec5","impliedFormat":1},{"version":"8a0e762ceb20c7e72504feef83d709468a70af4abccb304f32d6b9bac1129b2c","impliedFormat":1},{"version":"da5950ee2a90721df6f3fba45f5d05308f7e4c35835392215dd2cd404505e2de","impliedFormat":1},{"version":"ce75b1aebb33d510ff28af960a9221410a3eaf7f18fc5f21f9404075fba77256","impliedFormat":1},{"version":"f42d5fed19610d485c646a0c430e768115567d078c7fc855c57b0c578b3d6cd3","impliedFormat":1},{"version":"ee8df1cb8d0faaca4013a1b442e99130769ce06f438d18d510fed95890067563","impliedFormat":1},{"version":"d5630f2ad9b4541e5ce891648121022f9412ecdca1820baa1f0104f70fd7eff7","impliedFormat":1},{"version":"4d15375ab13497104bc8fe56fdef2b5fd6853f29255737d23a33fa306ff7fd69","impliedFormat":1},{"version":"2cd3fc1d0d6a1e85baffd2d4f50f5efb192b5446eef567e97c94765402f0aad4","impliedFormat":1},{"version":"e4cbf2f1e89ecccaddd2c045e600ae41b732295953fb06247c7dcbc2d281ed30","impliedFormat":1},{"version":"6dcedaef57dff0d79a05ab0ab602cde74db803d1e765468bf91263786a383e1b","impliedFormat":1},{"version":"8c1697d90c394a6fd955b98eae01238eff628e129b987a68aea10f898a48e7da","impliedFormat":1},{"version":"7580e62139cb2b44a0270c8d01abcbfcba2819a02514a527342447fa69b34ef1","impliedFormat":1},{"version":"b838d4c72740eb0afd284bf7575b74c624b105eff2e8c7b4aeead57e7ac320ff","impliedFormat":1},{"version":"f374cb24e93e7798c4d9e83ff872fa52d2cdb36306392b840a6ddf46cb925cb6","impliedFormat":1},{"version":"d10d63718e1646c2279e3b33831f82c60e31f622b2b7020f1196409ca4c09242","impliedFormat":1},{"version":"106c6025f1d99fd468fd8bf6e5bda724e11e5905a4076c5d29790b6c3745e50c","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"148679c6d0f449210a96e7d2e562d589e56fcde87f843a92808b3ff103f1a774","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"02436d7e9ead85e09a2f8e27d5f47d9464bced31738dec138ca735390815c9f0","impliedFormat":1},{"version":"f8d5ff8eafd37499f2b6a98659dd9b45a321de186b8db6b6142faed0fea3de77","impliedFormat":1},{"version":"c86fe861cf1b4c46a0fb7d74dffe596cf679a2e5e8b1456881313170f092e3fa","impliedFormat":1},{"version":"a22dd55aa4d39906252000ab8e8a1b83b195eef7f4274eb51e457c1f11cf6580","impliedFormat":1},{"version":"540cc83ab772a2c6bc509fe1354f314825b5dba3669efdfbe4693ecd3048e34f","impliedFormat":1},{"version":"121b0696021ab885c570bbeb331be8ad82c6efe2f3b93a6e63874901bebc13e3","impliedFormat":1},{"version":"612d9da66bb046a9c1e2e8d026245ded881fc4b9f98cbfae714415d57ee0ae0b","impliedFormat":1},{"version":"32c2ad9494dad5d11b0564a619fee18f388db6c1e9e2cd3c360b3122549691eb","impliedFormat":1},{"version":"6c301d40aec56a74ec7bd7324e31a728dadf9bfba3e96def02938d3d973534ec","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1},{"version":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1},{"version":"aa14cee20aa0db79f8df101fc027d929aec10feb5b8a8da3b9af3895d05b7ba2","impliedFormat":1},{"version":"493c700ac3bd317177b2eb913805c87fe60d4e8af4fb39c41f04ba81fae7e170","impliedFormat":1},{"version":"aeb554d876c6b8c818da2e118d8b11e1e559adbe6bf606cc9a611c1b6c09f670","impliedFormat":1},{"version":"acf5a2ac47b59ca07afa9abbd2b31d001bf7448b041927befae2ea5b1951d9f9","impliedFormat":1},{"version":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1},{"version":"d71291eff1e19d8762a908ba947e891af44749f3a2cbc5bd2ec4b72f72ea795f","impliedFormat":1},{"version":"c0480e03db4b816dff2682b347c95f2177699525c54e7e6f6aa8ded890b76be7","impliedFormat":1},{"version":"25a5f6fd3a2243c859eddc99ab5fba11d970af2fe7a5df9c32b7668f76f97b01","impliedFormat":1},{"version":"8d207e1f9d2c30d6f77dfa693f3827c3fbf0d89240297e10bdfe1041d433df68","impliedFormat":1},{"version":"b620391fe8060cf9bedc176a4d01366e6574d7a71e0ac0ab344a4e76576fcbb8","impliedFormat":1},{"version":"6ac6715916fa75a1f7ebdfeacac09513b4d904b667d827b7535e84ff59679aff","impliedFormat":1},{"version":"2652448ac55a2010a1f71dd141f828b682298d39728f9871e1cdf8696ef443fd","impliedFormat":1},{"version":"d682336018141807fb602709e2d95a192828fcb8d5ba06dda3833a8ea98f69e3","impliedFormat":1},{"version":"6124e973eab8c52cabf3c07575204efc1784aca6b0a30c79eb85fe240a857efa","impliedFormat":1},{"version":"0d891735a21edc75df51f3eb995e18149e119d1ce22fd40db2b260c5960b914e","impliedFormat":1},{"version":"3b414b99a73171e1c4b7b7714e26b87d6c5cb03d200352da5342ab4088a54c85","impliedFormat":1},{"version":"4fbd3116e00ed3a6410499924b6403cc9367fdca303e34838129b328058ede40","impliedFormat":1},{"version":"9c82171d836c47486074e4ca8e059735bf97b205e70b196535b5efd40cbe1bc5","impliedFormat":1},{"version":"48dcc919f76c040a999c0d46d2bf25ab089645ca21b837f120b222f56a86cd76","impliedFormat":1},{"version":"2f9c89cbb29d362290531b48880a4024f258c6033aaeb7e59fbc62db26819650","impliedFormat":1},{"version":"a365c4d3bed3be4e4e20793c999c51f5cd7e6792322f14650949d827fbcd170f","impliedFormat":1},{"version":"c5426dbfc1cf90532f66965a7aa8c1136a78d4d0f96d8180ecbfc11d7722f1a5","impliedFormat":1},{"version":"65a15fc47900787c0bd18b603afb98d33ede930bed1798fc984d5ebb78b26cf9","impliedFormat":1},{"version":"9d202701f6e0744adb6314d03d2eb8fc994798fc83d91b691b75b07626a69801","impliedFormat":1},{"version":"de9d2df7663e64e3a91bf495f315a7577e23ba088f2949d5ce9ec96f44fba37d","impliedFormat":1},{"version":"c7af78a2ea7cb1cd009cfb5bdb48cd0b03dad3b54f6da7aab615c2e9e9d570c5","impliedFormat":1},{"version":"1ee45496b5f8bdee6f7abc233355898e5bf9bd51255db65f5ff7ede617ca0027","impliedFormat":1},{"version":"273782b8454e78f6a8b30d2cfbf6860499c930595095fcc1689637115f0eddda","affectsGlobalScope":true,"impliedFormat":1},{"version":"3fbdd025f9d4d820414417eeb4107ffa0078d454a033b506e22d3a23bc3d9c41","affectsGlobalScope":true,"impliedFormat":1},{"version":"dba114fb6a32b355a9cfc26ca2276834d72fe0e94cd2c3494005547025015369","impliedFormat":1},{"version":"a8f8e6ab2fa07b45251f403548b78eaf2022f3c2254df3dc186cb2671fe4996d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fa6c12a7c0f6b84d512f200690bfc74819e99efae69e4c95c4cd30f6884c526e","impliedFormat":1},{"version":"f1c32f9ce9c497da4dc215c3bc84b722ea02497d35f9134db3bb40a8d918b92b","impliedFormat":1},{"version":"b73c319af2cc3ef8f6421308a250f328836531ea3761823b4cabbd133047aefa","affectsGlobalScope":true,"impliedFormat":1},{"version":"e433b0337b8106909e7953015e8fa3f2d30797cea27141d1c5b135365bb975a6","impliedFormat":1},{"version":"9f9bb6755a8ce32d656ffa4763a8144aa4f274d6b69b59d7c32811031467216e","impliedFormat":1},{"version":"5c32bdfbd2d65e8fffbb9fbda04d7165e9181b08dad61154961852366deb7540","impliedFormat":1},{"version":"ddff7fc6edbdc5163a09e22bf8df7bef75f75369ebd7ecea95ba55c4386e2441","impliedFormat":1},{"version":"0c05e9842ec4f8b7bfebfd3ca61604bb8c914ba8da9b5337c4f25da427a005f2","impliedFormat":1},{"version":"faed7a5153215dbd6ebe76dfdcc0af0cfe760f7362bed43284be544308b114cf","impliedFormat":1},{"version":"7029e566b8df176f703fb59fd437a38670c7a0e02c58b2d66dfb5b2e2b2defdb","impliedFormat":1},{"version":"7f2aa4d4989a82530aaac3f72b3dceca90e9c25bee0b1a327e8a08a1262435ad","impliedFormat":1},{"version":"d96b39301d0ded3f1a27b47759676a33a02f6f5049bfcbde81e533fd10f50dcb","impliedFormat":1},{"version":"e9f147ecca73d9346a4c073432843c159ccbe50bdcb678a78f6da10eae2cecf4","impliedFormat":1},{"version":"de061f7d72bd65c06fc1419f841dfdcb29a8e22fe6fa527d1e6eb20b897d4de0","impliedFormat":1},{"version":"663beafc2446079574570cba86e9b15f986f908ddb1b01274509970126fee945","impliedFormat":1},{"version":"a3102887d5058bf4cb5b37fa6964c09e9527c42053b3b5c642b89878620748de","impliedFormat":1},{"version":"0aaaa1727edd29673d85c9b26d7ca4d54e5407a48586903c51b48b7f7d196f61","impliedFormat":1},{"version":"d35bca0b261bff02635758c48e8ab99c61c420d0dfabbcf467e847171d876b7d","impliedFormat":1},{"version":"3bc12c40d90c342ff88a3d876996c555ed5cbee5fe8c3308a240b321f401ee46","impliedFormat":1},{"version":"ba130768aae855a5477e9e148e5c879548e6e7ccbcc56fd1934c8a18ea5b7569","impliedFormat":1},{"version":"2e4f37ffe8862b14d8e24ae8763daaa8340c0df0b859d9a9733def0eee7562d9","impliedFormat":1},{"version":"d38530db0601215d6d767f280e3a3c54b2a83b709e8d9001acb6f61c67e965fc","impliedFormat":1},{"version":"6ac6715916fa75a1f7ebdfeacac09513b4d904b667d827b7535e84ff59679aff","impliedFormat":1},{"version":"b499af2054a037a162b3b72cd886f48bbf32a3502c865c6e29fac7d2ab3ce0b5","impliedFormat":1},{"version":"b83cb14474fa60c5f3ec660146b97d122f0735627f80d82dd03e8caa39b4388c","impliedFormat":1},{"version":"48773ca557b0319c2ee62ae249cf52a81709e8be139920d6479a66274de7c4ed","impliedFormat":1},{"version":"7274fbffbd7c9589d8d0ffba68157237afd5cecff1e99881ea3399127e60572f","impliedFormat":1},{"version":"b73cbf0a72c8800cf8f96a9acfe94f3ad32ca71342a8908b8ae484d61113f647","impliedFormat":1},{"version":"bae6dd176832f6423966647382c0d7ba9e63f8c167522f09a982f086cd4e8b23","impliedFormat":1},{"version":"20865ac316b8893c1a0cc383ccfc1801443fbcc2a7255be166cf90d03fac88c9","impliedFormat":1},{"version":"c9958eb32126a3843deedda8c22fb97024aa5d6dd588b90af2d7f2bfac540f23","impliedFormat":1},{"version":"461d0ad8ae5f2ff981778af912ba71b37a8426a33301daa00f21c6ccb27f8156","impliedFormat":1},{"version":"e927c2c13c4eaf0a7f17e6022eee8519eb29ef42c4c13a31e81a611ab8c95577","impliedFormat":1},{"version":"fcafff163ca5e66d3b87126e756e1b6dfa8c526aa9cd2a2b0a9da837d81bbd72","impliedFormat":1},{"version":"70246ad95ad8a22bdfe806cb5d383a26c0c6e58e7207ab9c431f1cb175aca657","impliedFormat":1},{"version":"f00f3aa5d64ff46e600648b55a79dcd1333458f7a10da2ed594d9f0a44b76d0b","impliedFormat":1},{"version":"772d8d5eb158b6c92412c03228bd9902ccb1457d7a705b8129814a5d1a6308fc","impliedFormat":1},{"version":"802e797bcab5663b2c9f63f51bdf67eff7c41bc64c0fd65e6da3e7941359e2f7","impliedFormat":1},{"version":"b01bd582a6e41457bc56e6f0f9de4cb17f33f5f3843a7cf8210ac9c18472fb0f","impliedFormat":1},{"version":"8b4327413e5af38cd8cb97c59f48c3c866015d5d642f28518e3a891c469f240e","impliedFormat":1},{"version":"4cceef18d7f088e797a463e90b7a9dad10c6bc667724b7686e3e740ae00122be","impliedFormat":1},{"version":"7ee86fbb3754388e004de0ef9e6505485ddfb3be7640783d6d015711c03d302d","impliedFormat":1},{"version":"cc1954b539604b1e562319119ac7e888172208b32ca873f9a357a92c826bd046","impliedFormat":1},{"version":"a67b87d0281c97dfc1197ef28dfe397fc2c865ccd41f7e32b53f647184cc7307","impliedFormat":1},{"version":"771ffb773f1ddd562492a6b9aaca648192ac3f056f0e1d997678ff97dbb6bf9b","impliedFormat":1},{"version":"43e96a3d5d1411ab40ba2f61d6a3192e58177bcf3b133a80ad2a16591611726d","impliedFormat":1},{"version":"232f70c0cf2b432f3a6e56a8dc3417103eb162292a9fd376d51a3a9ea5fbbf6f","impliedFormat":1},{"version":"bb8f2dbc03533abca2066ce4655c119bff353dd4514375beb93c08590c03e023","impliedFormat":1},{"version":"706dd95827e7ebaabda91d5db2b755233e0952d98570e9c032b0f066a15c1177","affectsGlobalScope":true,"impliedFormat":1},{"version":"0b103e9abfe82d14c0ad06a55d9f91d6747154ef7cacc73cf27ecad2bfb3afcf","impliedFormat":1},{"version":"cd9304972e6d616197fb44fce00540a904f38b54306a1951b5dbeaf3c01ab5bd","impliedFormat":1},{"version":"77438e2c397a3db78407621cfc57241a305b310ddea2c185f1d555248297f587","impliedFormat":1},{"version":"120599fd965257b1f4d0ff794bc696162832d9d8467224f4665f713a3119078b","impliedFormat":1},{"version":"43ba4f2fa8c698f5c304d21a3ef596741e8e85a810b7c1f9b692653791d8d97a","impliedFormat":1},{"version":"5433f33b0a20300cca35d2f229a7fc20b0e8477c44be2affeb21cb464af60c76","impliedFormat":1},{"version":"db036c56f79186da50af66511d37d9fe77fa6793381927292d17f81f787bb195","impliedFormat":1},{"version":"a6805fcafed712aea7759f8bc731014f9d22738c1d6ef9d43b8091d1d48346d5","impliedFormat":1},{"version":"c49469a5349b3cc1965710b5b0f98ed6c028686aa8450bcb3796728873eb923e","impliedFormat":1},{"version":"4a889f2c763edb4d55cb624257272ac10d04a1cad2ed2948b10ed4a7fda2a428","impliedFormat":1},{"version":"7bb79aa2fead87d9d56294ef71e056487e848d7b550c9a367523ee5416c44cfa","impliedFormat":1},{"version":"d88ea80a6447d7391f52352ec97e56b52ebec934a4a4af6e2464cfd8b39c3ba8","impliedFormat":1},{"version":"142617b3cdf902b69c6464c9fbd942b60ab3e733ca18c032b19e0f7e2adbefe8","impliedFormat":1},{"version":"0b603555f1881f87256ffd6344d3e3ed6d466c2e701eabf381f28be8c2125892","impliedFormat":1},{"version":"897e4f7662488e3ecc79e743bdd3b78f13bdb69a97851afa5b440c4211e32ea9","impliedFormat":1},{"version":"e2e1c6d3b2d93add5200bd7bc1a8cccb4e446836b2111ece45db8683a2c765de","impliedFormat":1},{"version":"251b03d5cd243854ce870d9a9a39f491faf69898c5d6b5eee28cc7649c57417b","impliedFormat":1},{"version":"27ff4196654e6373c9af16b6165120e2dd2169f9ad6abb5c935af5abd8c7938c","impliedFormat":1},{"version":"2c4de79f406d137390608e8c0a44fba2ff8e00bacfcae7c9d1781fef10e9440d","impliedFormat":1},{"version":"07ba23a10465791be5d22deaf5ef7de7658774ddff53721e5ea17fedea1bc721","impliedFormat":1},{"version":"dca8c645c5afeb03b1ecedbf16323f33e7d0afaa6256c8e047e6e38087a97f53","impliedFormat":1},{"version":"775f181bd4a533d6f8b5e55ec1d9f1624559720ae8a70e9432258da26b38d27c","impliedFormat":1},{"version":"796273b2edc72e78a04e86d7c58ae94d370ab93a0ddf40b1aa85a37a1c29ecd7","impliedFormat":1},{"version":"5df15a69187d737d6d8d066e189ae4f97e41f4d53712a46b2710ff9f8563ec9f","impliedFormat":1},{"version":"7715134a0cf07dd41a9da2895d708625a3a303a0385e355ecaaf0b8bfaef2550","impliedFormat":1},{"version":"6ac6715916fa75a1f7ebdfeacac09513b4d904b667d827b7535e84ff59679aff","impliedFormat":1},{"version":"622694a8522b46f6310c2a9b5d2530dde1e2854cb5829354e6d1ff8f371cf469","impliedFormat":1},{"version":"cd8ce8d68567f62dd580b3c3c37777ac3f5b81944c7417f5ea83030eab533385","impliedFormat":1},{"version":"e5c939d896565dcac0f6fbdbada11284e7728ef26a069561c09aa5aa4a788393","impliedFormat":1},{"version":"9e2739b32f741859263fdba0244c194ca8e96da49b430377930b8f721d77c000","impliedFormat":1},{"version":"a9e6c0ff3f8186fccd05752cf75fc94e147c02645087ac6de5cc16403323d870","impliedFormat":1},{"version":"49af4b52f0d4d2304c5f2c6fe5fab3e153e0acc38830d0202821b877c097dd02","impliedFormat":1},{"version":"49c346823ba6d4b12278c12c977fb3a31c06b9ca719015978cb145eb86da1c61","impliedFormat":1},{"version":"bfac6e50eaa7e73bb66b7e052c38fdc8ccfc8dbde2777648642af33cf349f7f1","impliedFormat":1},{"version":"92f7c1a4da7fbfd67a2228d1687d5c2e1faa0ba865a94d3550a3941d7527a45d","impliedFormat":1},{"version":"f53b120213a9289d9a26f5af90c4c686dd71d91487a0aa5451a38366c70dc64b","impliedFormat":1},{"version":"e68b8e5a1df7c1be2bc105141456ecba70215806e1c28bfbc5c12bfce4be6e68","impliedFormat":1},{"version":"511c8f02329808d47d00b859c532ae9115590048b17325a946c74dac48428650","impliedFormat":1},{"version":"57d67b72e06059adc5e9454de26bbfe567d412b962a501d263c75c2db430f40e","impliedFormat":1},{"version":"b5f9e66625783eefcbe3d2da074b2e7ba2066d61ce3fc6ef4f22805ad946cab4","impliedFormat":1},{"version":"e37115962d284b9f7a37c2bdd2add50f88365dde41f5e0ff591ffc48a8ec7575","impliedFormat":1},{"version":"6459054aabb306821a043e02b89d54da508e3a6966601a41e71c166e4ea1474f","impliedFormat":1},{"version":"bb37588926aba35c9283fe8d46ebf4e79ffe976343105f5c6d45f282793352b2","impliedFormat":1},{"version":"f89488602bec98a142072fae7ea5ba99431a569ff580c64b7be39896474799d8","impliedFormat":1},{"version":"bbbc47961f39a57df103cf4ca3bb8f8732b4b6678a18225a0aa76d59c466956c","impliedFormat":1},{"version":"2e6114a7dd6feeef85b2c80120fdbfb59a5529c0dcc5bfa8447b6996c97a69f5","impliedFormat":1},{"version":"2ffb043dc5163458e473b7010859f86e01dc4edffcae0a93d885d028b426a546","impliedFormat":1},{"version":"c8f004e6036aa1c764ad4ec543cf89a5c1893a9535c80ef3f2b653e370de45e6","impliedFormat":1},{"version":"dd80b1e600d00f5c6a6ba23f455b84a7db121219e68f89f10552c54ba46e4dc9","impliedFormat":1},{"version":"b064c36f35de7387d71c599bfcf28875849a1dbc733e82bd26cae3d1cd060521","impliedFormat":1},{"version":"05c7280d72f3ed26f346cbe7cbbbb002fb7f15739197cbbee6ab3fd1a6cb9347","impliedFormat":1},{"version":"8de9fe97fa9e00ec00666fa77ab6e91b35d25af8ca75dabcb01e14ad3299b150","impliedFormat":1},{"version":"04b7b2e0832dfd3c31e81df3975e8d8fda28e7ff999b0aa2932608a8f6661d5c","impliedFormat":1},{"version":"ca2d34c6ed5cbd3070b8b6f32f42ae54adcc6499c1e4b99f0a5798b3f27cc653","impliedFormat":1},{"version":"9ec68995e66dd6b9dac834bf5ae85fde802714ea2e82151a5d1d53ef01b463ef","impliedFormat":1},{"version":"5c4d626b4902f2ef8a1cc146d761d276cef988016dc674e3b98fbad70e64bc9f","impliedFormat":1},{"version":"fdfaa0aad899524962e2955287b5b991ffe3be50f64e02eb60c933ca44644a94","impliedFormat":1},{"version":"53c972a0f9bc3a4ec70fff7314123ea8cfcf75b3703046f767d2dc1eea87b2fb","impliedFormat":1},{"version":"f974e4a06953682a2c15d5bd5114c0284d5abf8bc0fe4da25cb9159427b70072","impliedFormat":1},{"version":"50256e9c31318487f3752b7ac12ff365c8949953e04568009c8705db802776fb","impliedFormat":1},{"version":"7d73b24e7bf31dfb8a931ca6c4245f6bb0814dfae17e4b60c9e194a631fe5f7b","impliedFormat":1},{"version":"d130c5f73768de51402351d5dc7d1b36eaec980ca697846e53156e4ea9911476","impliedFormat":1},{"version":"413586add0cfe7369b64979d4ec2ed56c3f771c0667fbde1bf1f10063ede0b08","impliedFormat":1},{"version":"06472528e998d152375ad3bd8ebcb69ff4694fd8d2effaf60a9d9f25a37a097a","impliedFormat":1},{"version":"7303b45138d2511035056a5901a1490ebdcbf055cbb1276f8629c5121cbe733e","impliedFormat":1},{"version":"27f874cd5327507eeff699a74567f60c1215b94509f4308633a7b01922471ed2","impliedFormat":1},{"version":"a401617604fa1f6ce437b81689563dfdc377069e4c58465dbd8d16069aede0a5","impliedFormat":1},{"version":"2c6cf04bc525caf6546e859e8ef10bfb9573837ec0bc5ec7b53a7b1b8ca72781","impliedFormat":1},{"version":"8695dec09ad439b0ceef3776ea68a232e381135b516878f0901ed2ea114fd0fe","impliedFormat":1},{"version":"304b44b1e97dd4c94697c3313df89a578dca4930a104454c99863f1784a54357","impliedFormat":1},{"version":"0a437ae178f999b46b6153d79095b60c42c996bc0458c04955f1c996dc68b971","impliedFormat":1},{"version":"74b2a5e5197bd0f2e0077a1ea7c07455bbea67b87b0869d9786d55104006784f","impliedFormat":1},{"version":"4a7baeb6325920044f66c0f8e5e6f1f52e06e6d87588d837bdf44feb6f35c664","impliedFormat":1},{"version":"87cc05fe13108f02e12da7e3efd8e360fef78d96a0c9e11408ea1b1b9fb3e03d","impliedFormat":1},{"version":"1abbf67c218d23c2ce76887caac2df6c7dab3d97ba2b65348432b876f510002a","impliedFormat":1},{"version":"1a82deef4c1d39f6882f28d275cad4c01f907b9b39be9cbc472fcf2cf051e05b","impliedFormat":1},{"version":"4b20fcf10a5413680e39f5666464859fc56b1003e7dfe2405ced82371ebd49b6","impliedFormat":1},{"version":"c06ef3b2569b1c1ad99fcd7fe5fba8d466e2619da5375dfa940a94e0feea899b","impliedFormat":1},{"version":"f7d628893c9fa52ba3ab01bcb5e79191636c4331ee5667ecc6373cbccff8ae12","impliedFormat":1},{"version":"2467b00d963828f540f4acd7910f4c04cfe4b489550e6bb682212f65583bca5b","impliedFormat":1},{"version":"854e50b93090b3f8fd6e355b074e1d24dce1ae0240f1ce46563e35fea210a6d5","impliedFormat":99},{"version":"5a16e93d5d53d987dddda1ec606c9821f6bd31d1bdf0635e05e3841312cefa8b","impliedFormat":1},{"version":"a6dba407fc287f1e25454e75028c91bbc00675f2d1c4e8b3edcc36c08611a486","impliedFormat":1},{"version":"d663134457d8d669ae0df34eabd57028bddc04fc444c4bc04bc5215afc91e1f4","impliedFormat":1},{"version":"e91f7b1344577a02f051b9b471f33044fef8334a76dc9e1de003d17595a5219b","impliedFormat":1},{"version":"c0723195c85e19656d6b5b9fdb81d3f3403c1ae4679e722c6ea058c516b38d12","impliedFormat":1},{"version":"b55eb9f72166093b5460d34b34f5d8699c968de3bc3fc696e40f2c93f2ebf650","impliedFormat":1},{"version":"71d9eb4c4e99456b78ae182fb20a5dfc20eb1667f091dbb9335b3c017dd1c783","impliedFormat":1},{"version":"cfa846a7b7847a1d973605fbb8c91f47f3a0f0643c18ac05c47077ebc72e71c7","impliedFormat":1},{"version":"1594da19968752a22b2ac48c2d0e60575700e745c577a8a4a676b841238ad5bb","impliedFormat":1},{"version":"e0cee12109e0a10a4c3d6769fcc7644b7c1ea7f52365bea51728f5af29f8a137","impliedFormat":1},{"version":"7d4254b4c6c67a29d5e7f65e67d72540480ac2cfb041ca484847f5ae70480b62","impliedFormat":1},{"version":"3536968defef8a75514f547ead5e2e9c1e984820290ec9b00c5fdfb6ef786535","impliedFormat":1},{"version":"d83773870080c30a230e322ce13a9c6f3398e8dacea4ea8a83e26370f3bac23e","impliedFormat":1},{"version":"dcfeaf98d66314fec29a9076c4290e45d0b196a65827becc19138e9c7b855f37","impliedFormat":1},{"version":"6849fe9210fe4946d5f085bfed36758f33dc6ae15a751338d178dd4daa017c46","impliedFormat":1},{"version":"888cda0fa66d7f74e985a3f7b1af1f64b8ff03eb3d5e80d051c3cbdeb7f32ab7","impliedFormat":1},{"version":"60681e13f3545be5e9477acb752b741eae6eaf4cc01658a25ec05bff8b82a2ef","impliedFormat":1},{"version":"ffae4e1e06aa848a1e4bcef162cd1c48e5909b26223515981310af9c036bdfc7","impliedFormat":1},{"version":"a57b1802794433adec9ff3fed12aa79d671faed86c49b09e02e1ac41b4f1d33a","impliedFormat":1},{"version":"34e16eb7c31768a11a08aebcfb3d70d7b8f0b016197e98d8419e566ceae6d6c8","impliedFormat":1},{"version":"f94ec1f7e4b709d26960306c9082a7a1b728a6e13089346aa48ba57c74cbf47e","impliedFormat":1},{"version":"9a11cb4033405e96c247cd5aa29790212aaffdd127869e8a5219103f0b389fd5","impliedFormat":1},{"version":"01479d9d5a5dda16d529b91811375187f61a06e74be294a35ecce77e0b9e8d6c","impliedFormat":1},{"version":"aff5213585cb72e94054dfe17250ff315f3569b3919d1ef1ad235f37c4ee894e","impliedFormat":1},{"version":"fb2ea35e1be6388d722d7725e2b49c697d34d9c890c3b96758faaeb86d35cef8","impliedFormat":1},{"version":"ce0df82a9ae6f914ba08409d4d883983cc08e6d59eb2df02d8e4d68309e7848b","impliedFormat":1},{"version":"1a4dc28334a926d90ba6a2d811ba0ff6c22775fcc13679521f034c124269fd40","impliedFormat":1},{"version":"f05315ff85714f0b87cc0b54bcd3dde2716e5a6b99aedcc19cad02bf2403e08c","impliedFormat":1},{"version":"5fad3b31fc17a5bc58095118a8b160f5260964787c52e7eb51e3d4fcf5d4a6f0","impliedFormat":1},{"version":"72105519d0390262cf0abe84cf41c926ade0ff475d35eb21307b2f94de985778","impliedFormat":1},{"version":"456006a6975b26c0a1785feddae165f6d307e2d601ffde27e21fc4a790e448a4","impliedFormat":1},{"version":"c857e0aae3f5f444abd791ec81206020fbcc1223e187316677e026d1c1d6fe08","impliedFormat":1},{"version":"ccf6dd45b708fb74ba9ed0f2478d4eb9195c9dfef0ff83a6092fa3cf2ff53b4f","impliedFormat":1},{"version":"1fe0d18b111e1145a7e7601855bccd4ca20f24e3b9a5aba6bb1fa9d1a7059170","impliedFormat":1},{"version":"5632c3c26d420c063eebe64c45b1248b9492a67bf44f1d0c57e9dc8f6cf449bb","impliedFormat":1},{"version":"0df5aa619ab12993a39ea6dae062ee46eadbb4d738916460e636ada52bced75b","impliedFormat":1},{"version":"8fca3039857709484e5893c05c1f9126ab7451fa6c29e19bb8c2411a2e937345","impliedFormat":1},{"version":"35069c2c417bd7443ae7c7cafd1de02f665bf015479fec998985ffbbf500628c","impliedFormat":1},{"version":"10ab7be91f87ebe8916b62cf28af2e45b5601fc7b0e311adf838f912c6b31dd8","impliedFormat":1},{"version":"bc636fbc08e0979ceb7eb0731a33000283d77a33b62e1f71ee65be50394e40ba","impliedFormat":1},{"version":"7e0b7f91c5ab6e33f511efc640d36e6f933510b11be24f98836a20a2dc914c2d","impliedFormat":1},{"version":"045b752f44bf9bbdcaffd882424ab0e15cb8d11fa94e1448942e338c8ef19fba","impliedFormat":1},{"version":"2894c56cad581928bb37607810af011764a2f511f575d28c9f4af0f2ef02d1ab","impliedFormat":1},{"version":"0a72186f94215d020cb386f7dca81d7495ab6c17066eb07d0f44a5bf33c1b21a","impliedFormat":1},{"version":"75bbd3be047d539988a0ff0b56384ef7a6a25f3b676ad96bee547d44c31622a7","impliedFormat":1},{"version":"42960001a776b089ade681ab5cfddc936e0afb0615133ec1841f3dee89d3e1bf","impliedFormat":1},{"version":"0aedb02516baf3e66b2c1db9fef50666d6ed257edac0f866ea32f1aa05aa474f","impliedFormat":1},{"version":"da47712b394d944328245482603bc6f416d3949b67c9392279caab595076b510","affectsGlobalScope":true,"impliedFormat":1},{"version":"37d0071d8f0a06dc55c2c5e0ec3391affd4fd107c53410bf358196ec0bf3923f","impliedFormat":1},{"version":"b213dad76ca37fd552274c9499056e1c0d9c1bd38a55bb7f68b22ba6b84c3ad7","impliedFormat":1},{"version":"c30436b130b6218b7714314dc41d3f459590db4bdf099eecd51cb1bda32109a8","impliedFormat":1},{"version":"20fa37b636fdcc1746ea0738f733d0aed17890d1cd7cb1b2f37010222c23f13e","impliedFormat":1},{"version":"d90b9f1520366d713a73bd30c5a9eb0040d0fb6076aff370796bc776fd705943","impliedFormat":1},{"version":"bc03c3c352f689e38c0ddd50c39b1e65d59273991bfc8858a9e3c0ebb79c023b","impliedFormat":1},{"version":"19df3488557c2fc9b4d8f0bac0fd20fb59aa19dec67c81f93813951a81a867f8","affectsGlobalScope":true,"impliedFormat":1},{"version":"b25350193e103ae90423c5418ddb0ad1168dc9c393c9295ef34980b990030617","affectsGlobalScope":true,"impliedFormat":1},{"version":"bef86adb77316505c6b471da1d9b8c9e428867c2566270e8894d4d773a1c4dc2","impliedFormat":1},{"version":"5a49adaef698b7ad7e6127949fa1b0bbd3d46b7cbd11c54e392a4dcdd51f5190","impliedFormat":1},{"version":"6ee598cdfdd0fa52039dca135b3dfff7b49035dc13292143e0a93843e3861967","impliedFormat":1},{"version":"27be6622e2922a1b412eb057faa854831b95db9db5035c3f6d4b677b902ab3b7","impliedFormat":1},{"version":"5c634644d45a1b6bc7b05e71e05e52ec04f3d73d9ac85d5927f647a5f965181a","impliedFormat":1},{"version":"2489bf04d77dc025ba67f49f1a56eb24b9db477d5ff88123d887e163ed1776aa","impliedFormat":1},{"version":"63a7595a5015e65262557f883463f934904959da563b4f788306f699411e9bac","impliedFormat":1},{"version":"4ba137d6553965703b6b55fd2000b4e07ba365f8caeb0359162ad7247f9707a6","impliedFormat":1},{"version":"0b77b819b5417775fccb20c678293cf614c054a5b1a65421a5b933a9124ba998","impliedFormat":1},{"version":"eb5acb58487367e502d994b57e2c58255d8241f481ea8efa8e79af23af3f41c2","impliedFormat":1},{"version":"9252d498a77517aab5d8d4b5eb9d71e4b225bbc7123df9713e08181de63180f6","impliedFormat":1},{"version":"b1f1d57fde8247599731b24a733395c880a6561ec0c882efaaf20d7df968c5af","impliedFormat":1},{"version":"5757b78830c681b3124af568b94c269259ea5e8171a4316508ef67310c2ed1ed","impliedFormat":1},{"version":"35e6379c3f7cb27b111ad4c1aa69538fd8e788ab737b8ff7596a1b40e96f4f90","impliedFormat":1},{"version":"1fffe726740f9787f15b532e1dc870af3cd964dbe29e191e76121aa3dd8693f2","impliedFormat":1},{"version":"5a3ea721d03a361ccbdd7390ccd75f6e84cbca3a3f01f4b331ecc9af31890c49","impliedFormat":1},{"version":"e7dfaee4af38d45b1cab8a1ee0b3bc1f85ddcf64545ed391d675d78ae6526274","affectsGlobalScope":true,"impliedFormat":1},{"version":"e8daa443eaf9a27fd382cc1f8ebe30330c0f4d89511cfb469166874806751d35","impliedFormat":1},{"version":"af48e58339188d5737b608d41411a9c054685413d8ae88b8c1d0d9bfabdf6e7e","impliedFormat":1},{"version":"616775f16134fa9d01fc677ad3f76e68c051a056c22ab552c64cc281a9686790","impliedFormat":1},{"version":"65c24a8baa2cca1de069a0ba9fba82a173690f52d7e2d0f1f7542d59d5eb4db0","impliedFormat":1},{"version":"f9fe6af238339a0e5f7563acee3178f51db37f32a2e7c09f85273098cee7ec49","impliedFormat":1},{"version":"1de8c302fd35220d8f29dea378a4ae45199dc8ff83ca9923aca1400f2b28848a","impliedFormat":1},{"version":"77e71242e71ebf8528c5802993697878f0533db8f2299b4d36aa015bae08a79c","impliedFormat":1},{"version":"98a787be42bd92f8c2a37d7df5f13e5992da0d967fab794adbb7ee18370f9849","impliedFormat":1},{"version":"332248ee37cca52903572e66c11bef755ccc6e235835e63d3c3e60ddda3e9b93","impliedFormat":1},{"version":"94e8cc88ae2ef3d920bb3bdc369f48436db123aa2dc07f683309ad8c9968a1e1","impliedFormat":1},{"version":"4545c1a1ceca170d5d83452dd7c4994644c35cf676a671412601689d9a62da35","impliedFormat":1},{"version":"320f4091e33548b554d2214ce5fc31c96631b513dffa806e2e3a60766c8c49d9","impliedFormat":1},{"version":"a2d648d333cf67b9aeac5d81a1a379d563a8ffa91ddd61c6179f68de724260ff","impliedFormat":1},{"version":"d90d5f524de38889d1e1dbc2aeef00060d779f8688c02766ddb9ca195e4a713d","impliedFormat":1},{"version":"07ed3ddab975995eea41b22f3010506fb9f5fb301d04820b07d7a1aee5477d7c","impliedFormat":1},{"version":"969d8b0965849f4bae7cab0ba90bd1e1220e95999c2c6f01117fa7500901c017","impliedFormat":1},{"version":"6ec840ee5e2bc103f557fe38b1d585ee250540468713d7634ee066de372bf332","impliedFormat":1},{"version":"b0309e1eda99a9e76f87c18992d9c3689b0938266242835dd4611f2b69efe456","impliedFormat":1},{"version":"47699512e6d8bebf7be488182427189f999affe3addc1c87c882d36b7f2d0b0e","impliedFormat":1},{"version":"6ceb10ca57943be87ff9debe978f4ab73593c0c85ee802c051a93fc96aaf7a20","impliedFormat":1},{"version":"1de3ffe0cc28a9fe2ac761ece075826836b5a02f340b412510a59ba1d41a505a","impliedFormat":1},{"version":"e46d6cc08d243d8d0d83986f609d830991f00450fb234f5b2f861648c42dc0d8","impliedFormat":1},{"version":"1c0a98de1323051010ce5b958ad47bc1c007f7921973123c999300e2b7b0ecc0","impliedFormat":1},{"version":"ff863d17c6c659440f7c5c536e4db7762d8c2565547b2608f36b798a743606ca","impliedFormat":1},{"version":"5412ad0043cd60d1f1406fc12cb4fb987e9a734decbdd4db6f6acf71791e36fe","impliedFormat":1},{"version":"ad036a85efcd9e5b4f7dd5c1a7362c8478f9a3b6c3554654ca24a29aa850a9c5","impliedFormat":1},{"version":"fedebeae32c5cdd1a85b4e0504a01996e4a8adf3dfa72876920d3dd6e42978e7","impliedFormat":1},{"version":"e297c0a524edee7677939122f90027bfbe5f2698939d9a85728e5044b39c7124","impliedFormat":1},{"version":"cdf21eee8007e339b1b9945abf4a7b44930b1d695cc528459e68a3adc39a622e","impliedFormat":1},{"version":"bc9ee0192f056b3d5527bcd78dc3f9e527a9ba2bdc0a2c296fbc9027147df4b2","impliedFormat":1},{"version":"b62381cae176db34f003cc6172ee8f3e0122014889d66391aa73698105cf4934","impliedFormat":1},{"version":"1d9c0a9a6df4e8f29dc84c25c5aa0bb1da5456ebede7a03e03df08bb8b27bae6","impliedFormat":1},{"version":"84380af21da938a567c65ef95aefb5354f676368ee1a1cbb4cae81604a4c7d17","impliedFormat":1},{"version":"1af3e1f2a5d1332e136f8b0b95c0e6c0a02aaabd5092b36b64f3042a03debf28","impliedFormat":1},{"version":"30d8da250766efa99490fc02801047c2c6d72dd0da1bba6581c7e80d1d8842a4","impliedFormat":1},{"version":"03566202f5553bd2d9de22dfab0c61aa163cabb64f0223c08431fb3fc8f70280","impliedFormat":1},{"version":"41eb514d9ce0a6e87957f08a4b7af70d93f87637f37dee706e2d92a6601c25a9","impliedFormat":1},{"version":"e7765aa8bcb74a38b3230d212b4547686eb9796621ffb4367a104451c3f9614f","impliedFormat":1},{"version":"1de80059b8078ea5749941c9f863aa970b4735bdbb003be4925c853a8b6b4450","impliedFormat":1},{"version":"1d079c37fa53e3c21ed3fa214a27507bda9991f2a41458705b19ed8c2b61173d","impliedFormat":1},{"version":"5bf5c7a44e779790d1eb54c234b668b15e34affa95e78eada73e5757f61ed76a","impliedFormat":1},{"version":"5835a6e0d7cd2738e56b671af0e561e7c1b4fb77751383672f4b009f4e161d70","impliedFormat":1},{"version":"4b7f74b772140395e7af67c4841be1ab867c11b3b82a51b1aeb692822b76c872","impliedFormat":1},{"version":"7bd01f0f28cd3aeb2046274d85208e245965f6f2948edf4f7b2057bcf9f22ccc","impliedFormat":99},{"version":"d2f2cf2b8cc92bea913cda4a076e0f790b23a21e84f989d12f0116a7fe3906e0","impliedFormat":99},{"version":"6de125ea94866c736c6d58d68eb15272cf7d1020a5b459fea1c660027eca9a90","affectsGlobalScope":true,"impliedFormat":1},{"version":"f5b20bc288ee49989c95b20847fc93b96bf61cc0845598897a6a53a967dd7d07","affectsGlobalScope":true,"impliedFormat":1},{"version":"064ac1c2ac4b2867c2ceaa74bbdce0cb6a4c16e7c31a6497097159c18f74aa7c","impliedFormat":1},{"version":"3dc14e1ab45e497e5d5e4295271d54ff689aeae00b4277979fdd10fa563540ae","impliedFormat":1},{"version":"d3b315763d91265d6b0e7e7fa93cfdb8a80ce7cdd2d9f55ba0f37a22db00bdb8","impliedFormat":1},{"version":"b789bf89eb19c777ed1e956dbad0925ca795701552d22e68fd130a032008b9f9","impliedFormat":1},{"version":"db2d933d8101f90deeec6698e70f1e14729495c5daab3199f4cdf0ac78a87bdf","affectsGlobalScope":true},"7b550dda9686c16f36a17bf9051d5dbf31e98555b30d114ac49fc49a1e712651",{"version":"04471dc55f802c29791cc75edda8c4dd2a121f71c2401059da61eff83099e8ab","impliedFormat":99},{"version":"5c54a34e3d91727f7ae840bfe4d5d1c9a2f93c54cb7b6063d06ee4a6c3322656","impliedFormat":99},{"version":"db4da53b03596668cf6cc9484834e5de3833b9e7e64620cf08399fe069cd398d","impliedFormat":99},{"version":"ac7c28f153820c10850457994db1462d8c8e462f253b828ad942a979f726f2f9","impliedFormat":99},{"version":"f9b028d3c3891dd817e24d53102132b8f696269309605e6ed4f0db2c113bbd82","impliedFormat":99},{"version":"fb7c8d90e52e2884509166f96f3d591020c7b7977ab473b746954b0c8d100960","impliedFormat":99},{"version":"0bff51d6ed0c9093f6955b9d8258ce152ddb273359d50a897d8baabcb34de2c4","impliedFormat":99},{"version":"ef13c73d6157a32933c612d476c1524dd674cf5b9a88571d7d6a0d147544d529","impliedFormat":99},{"version":"13918e2b81c4288695f9b1f3dcc2468caf0f848d5c1f3dc00071c619d34ff63a","impliedFormat":99},{"version":"120a80aa556732f684db3ed61aeff1d6671e1655bd6cba0aa88b22b88ac9a6b1","affectsGlobalScope":true,"impliedFormat":99},{"version":"a7ca8df4f2931bef2aa4118078584d84a0b16539598eaadf7dce9104dfaa381c","impliedFormat":1},{"version":"10073cdcf56982064c5337787cc59b79586131e1b28c106ede5bff362f912b70","impliedFormat":99},{"version":"72950913f4900b680f44d8cab6dd1ea0311698fc1eefb014eb9cdfc37ac4a734","impliedFormat":1},{"version":"751764bb94219b4ce8f5475dc35d3de2e432fea01a0c9610cd7f69ad05e398c6","impliedFormat":1},{"version":"ee70b8037ecdf0de6c04f35277f253663a536d7e38f1539d270e4e916d225a3f","affectsGlobalScope":true,"impliedFormat":1},{"version":"a660aa95476042d3fdcc1343cf6bb8fdf24772d31712b1db321c5a4dcc325434","impliedFormat":1},{"version":"36977c14a7f7bfc8c0426ae4343875689949fb699f3f84ecbe5b300ebf9a2c55","impliedFormat":1},{"version":"ff0a83c9a0489a627e264ffcb63f2264b935b20a502afa3a018848139e3d8575","impliedFormat":99},{"version":"161c8e0690c46021506e32fda85956d785b70f309ae97011fd27374c065cac9b","affectsGlobalScope":true,"impliedFormat":1},{"version":"f582b0fcbf1eea9b318ab92fb89ea9ab2ebb84f9b60af89328a91155e1afce72","impliedFormat":1},{"version":"402e5c534fb2b85fa771170595db3ac0dd532112c8fa44fc23f233bc6967488b","impliedFormat":1},{"version":"52dcc257df5119fb66d864625112ce5033ac51a4c2afe376a0b299d2f7f76e4a","impliedFormat":1},{"version":"e5bab5f871ef708d52d47b3e5d0aa72a08ee7a152f33931d9a60809711a2a9a3","impliedFormat":1},{"version":"e16dc2a81595736024a206c7d5c8a39bfe2e6039208ef29981d0d95434ba8fcf","impliedFormat":1},{"version":"cc4a4903fb698ca1d961d4c10dce658aa3a479faf40509d526f122b044eaf6a4","impliedFormat":1},{"version":"19ee8416e6473ed6c7adb868fa796b5653cf0fa2a337658e677eaa0d134388c3","impliedFormat":1},{"version":"1328ab4e442614b28cdb3d4b414cf68325c0da0dca07287a338d0654b7a00261","impliedFormat":1},{"version":"a039dc21f045919f3cbee2ec13812cc6cc3eebc99dae4be00973230f468d19a6","impliedFormat":1},{"version":"3fbe57af01460e49dcd29df55d6931e1672bc6f1be0fb073d11410bc16f9037d","impliedFormat":1},{"version":"f760be449e8562ec5c09bb5187e8e1eabf3c113c0c58cddda53ef8c69f3e2131","impliedFormat":1},{"version":"44325ed13294fce6ab825b82947bbeed2611db7dad9d9135260192f375e5a189","impliedFormat":1},{"version":"e392e8fb5b514eafc585601c1d781485aa6dd6a320e75daf1064a4c6918a1b45","impliedFormat":1},{"version":"46e4a36e8ddbdfb4e7330e11c81c970dc8b218611df9183d39c41c5f8c653b55","impliedFormat":1},{"version":"3cc8a3d123b6b232d48d34b51b785f9da8d193f5b5817fa521fcd2f3b9315c55","impliedFormat":1},{"version":"6332f565867cf4a740a70e30f31cefba37ef7cebcf74f22eab8d744fde6d193e","impliedFormat":1},{"version":"2977b7884aedc895a1d0c9c210c7cf3272c29d6959a08a6fa3ff71e0aff08175","impliedFormat":1},{"version":"17f2922d41ddd032830a91371c948cd9ce903b35c95adca72271a54584f19b0b","impliedFormat":1},{"version":"3eed76ede2a1a14d7c9bb0a642041282dcc264811139d3dd275c9fe14efc9840","impliedFormat":1},{"version":"354a7f8e1287d9d6b7561bc97fdd8cbc2f7c1dd79e4cb37b942e8a5cfaff1085","impliedFormat":1},{"version":"8d369483f0c2b9ee388129cfdb6a43bc8112b377e86a41884bd06e19ce04f4c1","impliedFormat":99},{"version":"960bd764c62ac43edc24eaa2af958a4b4f1fa5d27df5237e176d0143b36a39c6","affectsGlobalScope":true,"impliedFormat":1},{"version":"3fd8a5aefd8c3feb3936ca66f5aa89dff7bf6e6537b4158dbd0f6e0d65ed3b9e","impliedFormat":1},{"version":"a18642ddf216f162052a16cba0944892c4c4c977d3306a87cb673d46abbb0cbf","impliedFormat":1},{"version":"41c41c6e90133bb2a14f7561f29944771886e5535945b2b372e2f6ed6987746e","impliedFormat":1},{"version":"4ec16d7a4e366c06a4573d299e15fe6207fc080f41beac5da06f4af33ea9761e","impliedFormat":1},{"version":"59f8dc89b9e724a6a667f52cdf4b90b6816ae6c9842ce176d38fcc973669009e","affectsGlobalScope":true,"impliedFormat":1},{"version":"e4af494f7a14b226bbe732e9c130d8811f8c7025911d7c58dd97121a85519715","impliedFormat":1},{"version":"cbb1c5ba5dbabe42c19ca31b83e48fec95895484fe1d1a8fb649b69ea224c5b8","impliedFormat":99},{"version":"45cec9a1ba6549060552eead8959d47226048e0b71c7d0702ae58b7e16a28912","impliedFormat":99},{"version":"6907b09850f86610e7a528348c15484c1e1c09a18a9c1e98861399dfe4b18b46","impliedFormat":99},{"version":"12deea8eaa7a4fc1a2908e67da99831e5c5a6b46ad4f4f948fd4759314ea2b80","impliedFormat":99},{"version":"f0a8b376568a18f9a4976ecb0855187672b16b96c4df1c183a7e52dc1b5d98e8","impliedFormat":99},{"version":"8124828a11be7db984fcdab052fd4ff756b18edcfa8d71118b55388176210923","impliedFormat":99},{"version":"092944a8c05f9b96579161e88c6f211d5304a76bd2c47f8d4c30053269146bc8","impliedFormat":99},{"version":"b34b5f6b506abb206b1ea73c6a332b9ee9c8c98be0f6d17cdbda9430ecc1efab","impliedFormat":99},{"version":"75d4c746c3d16af0df61e7b0afe9606475a23335d9f34fcc525d388c21e9058b","impliedFormat":99},{"version":"fa959bf357232201c32566f45d97e70538c75a093c940af594865d12f31d4912","impliedFormat":99},{"version":"d2c52abd76259fc39a30dfae70a2e5ce77fd23144457a7ff1b64b03de6e3aec7","impliedFormat":99},{"version":"e6233e1c976265e85aa8ad76c3881febe6264cb06ae3136f0257e1eab4a6cc5a","impliedFormat":99},{"version":"f73e2335e568014e279927321770da6fe26facd4ac96cdc22a56687f1ecbb58e","impliedFormat":99},{"version":"317878f156f976d487e21fd1d58ad0461ee0a09185d5b0a43eedf2a56eb7e4ea","impliedFormat":99},{"version":"324ac98294dab54fbd580c7d0e707d94506d7b2c3d5efe981a8495f02cf9ad96","impliedFormat":99},{"version":"9ec72eb493ff209b470467e24264116b6a8616484bca438091433a545dfba17e","impliedFormat":99},{"version":"d6ee22aba183d5fc0c7b8617f77ee82ecadc2c14359cc51271c135e23f6ed51f","impliedFormat":99},{"version":"49747416f08b3ba50500a215e7a55d75268b84e31e896a40313c8053e8dec908","impliedFormat":99},{"version":"5e91172586d1be7d1508d1a40c8bf76161f6f4179d1c25158a20599f9fb26a66","impliedFormat":99},{"version":"09d215b379a93f8cbb6caf9e9f5d7b4d48042295ee697e7e4771288c7917a21e","impliedFormat":99},{"version":"427fe2004642504828c1476d0af4270e6ad4db6de78c0b5da3e4c5ca95052a99","impliedFormat":1},{"version":"2eeffcee5c1661ddca53353929558037b8cf305ffb86a803512982f99bcab50d","impliedFormat":99},{"version":"9afb4cb864d297e4092a79ee2871b5d3143ea14153f62ef0bb04ede25f432030","affectsGlobalScope":true,"impliedFormat":99},{"version":"891694d3694abd66f0b8872997b85fd8e52bc51632ce0f8128c96962b443189f","impliedFormat":99},{"version":"69bf2422313487956e4dacf049f30cb91b34968912058d244cb19e4baa24da97","impliedFormat":99},{"version":"971a2c327ff166c770c5fb35699575ba2d13bba1f6d2757309c9be4b30036c8e","impliedFormat":99},{"version":"4f45e8effab83434a78d17123b01124259fbd1e335732135c213955d85222234","impliedFormat":99},{"version":"7bd51996fb7717941cbe094b05adc0d80b9503b350a77b789bbb0fc786f28053","impliedFormat":99},{"version":"b62006bbc815fe8190c7aee262aad6bff993e3f9ade70d7057dfceab6de79d2f","impliedFormat":99},{"version":"ab80d2cb170a92c61ca8c822d0db0fc50eb15c7c6cf1a24cb01852a5a15a7db8","impliedFormat":99},{"version":"210955af8573671abebb6e1391d134d82fbcff130aa68922ea1e839f8f48a0ad","impliedFormat":99},{"version":"78a8f2e95e2904914c509e4bbc68e626f8b8ff8f30ca96cffc7a795fa17394f5","impliedFormat":99},{"version":"7bbff6783e96c691a41a7cf12dd5486b8166a01b0c57d071dbcfca55c9525ec4","impliedFormat":99},{"version":"061446b67af18b541c723104f25aa94667dd438c050fc873f3c02a7b5a9a3ef0","signature":"b8ee70929b7bfa2ced6aded5f38945440e9ff6809c61d2972b59aaecf88c254c"},{"version":"8ef0b457802d1883c0c185f90610a8aaf33283250633a31853de01bb45565b7b","signature":"b730dbc27807d6a94494d69e0154827379b8ed4606f3dd3a4584a1e2242b1e53"},{"version":"64bc7684d633c835220935b80701168771e6ddc8c3d9145af8bb3a3ac7d0c59a","impliedFormat":99},{"version":"121fc7776751821e405243a0c188554d2749dd334482a1d311af61373072a89a","signature":"1c508f6403621b58f8d59e7eb61eb61788714be526c91dc3cad739330b6923b1"},{"version":"598c32af38ceddfaf9699b9013ecf2e0b2df7b5d76795c9de010d5ff92c52ad5","signature":"e064b7ccad9850f3a78ba58a45e43e4b3eaf126cd2bd2979896b5885dea07f57"},{"version":"618bb47ac74b0ab39b90743cfe920a6e670b2d3bfa24f37d106b535c1c18ae37","signature":"4c8a45f845c330caf5dc2bc33da6e8e4f317035d08a20fd5f1da986bea511d60"},{"version":"9f50731b7a6739ad4d5d0e00b5d0be3650535cd74d92bf86ba3b81cf57000269","signature":"64be38d2ab0fa005245ad20baf0fc7899f1db575a219b4428e0fc3e550d02410"},{"version":"1d0628911b56f83b654ca0ba826d503b3605926e73b985e754513832eeab5592","signature":"45b43c38bc20ca8c0edcee887ed49ed8b771dbe78e1cb5b4e3ba794e853fa887"},{"version":"6d575d93896c413b308c3726eed99ddd17e821a00bdd2cc5929510b46fe64de4","impliedFormat":99},{"version":"1beebd50610b0c9701d2de263e0183ec22aad6c051d0e15ce9e6cce295c6a40b","signature":"3c49b34b1c62e5d74c637b63276c9acacb605689334f5450cc3f67f560ac0ecf"},{"version":"310c820b803950d18c0ed9376df2cd73def2f56cfcc993f9012008403cdd4843","signature":"6fb95390f4022e0327e4a170917a06de5caad8c8c563c8b00be3cd40a71c759e"},"f563d76b16895837b1feb605fe07c79d55e7e9bfdae764252500fb29d5fcd785",{"version":"47f5078d810ecb6e57eea5f0382dbfb9db641a35460fdb723e920c4898852e0b","signature":"df6ab0ed5a36c6500e0cd4e0928f73f80fa1bc047359a22f5023393f4023cdcd"},{"version":"ddc62c8eb6b7fb8e8fd0f0f19809530b1e5ba5a131471a6eef65028d0d3b5a6e","impliedFormat":99},{"version":"802cbde8e06732ca0356927b4c9fbc39f5961df58a18b74fdc4e131269293a5d","impliedFormat":99},{"version":"480713ff75c24f445e3f159da28444406e1334730375c94d0aa24523c5e52e1c","impliedFormat":99},{"version":"3ac6eb2cafcb89a552a4923213c705f0fc3c2b50e466eae9dc1a540e3af18bc0","impliedFormat":99},{"version":"073f96a1cfddfedf8695401f8328a8e84a4d98fa5b08b4d894c3885069083cd6","impliedFormat":99},{"version":"66ba40fa928c2fada9a280a61c2b426dfbbfa69085f99913650ff72ddec75b1a","impliedFormat":99},{"version":"4d857105510df8011cfb5b3769dec55624a1df92e85d399cd03bc82bb89d090c","impliedFormat":99},{"version":"19a22f3446387435f13445a31e3d4eb65f132d8e6b7b060d249f0fb138cec698","impliedFormat":99},{"version":"ecc46b24349caeab20d889baf0a6f9d3beafa739a0f2c36afc107dceb15e7b2b","impliedFormat":99},{"version":"b887624859a2f03e78ae6018e96bd269b5318685f42adec4e93256ed7579c125","impliedFormat":99},{"version":"14191b461a91229ff4b388d15b9e15392a8a3af9bf11fa7d0d4cd31405178e75","impliedFormat":99},{"version":"23a564e852dc91b6e6f050584994b35156f6ee8a2d08c493dad04309046a8397","impliedFormat":99},{"version":"daf66c9de89f11011ef703af894970bb15985fd5a4156b8038e895ad4e4616a7","impliedFormat":99},{"version":"d59c3d0c3283c1878913fc2bc88d84160dbcdc69cf06f822ca7ffb39eefef13b","impliedFormat":99},{"version":"05128b72488ad970c2e30ae6b82c7ee232be49ce6def3b4dd56f62d8b7f7704c","impliedFormat":99},{"version":"9eb8e1320fc0ecbfba15c0f3452dfc1957543dfbd466aaf8b67ddb0f2ad0f217","impliedFormat":1},{"version":"4faca872dbd194a17b3ee267bd8ddc3daf3d16df96f4e43a02c7d9a862022c4f","impliedFormat":99},{"version":"87654de60b5cd8d91d59632ec576fa7e313b41c2540073d52814b6cf5bb739e6","impliedFormat":99},{"version":"144a4e5780b800c0553949169f50be285eccbdb0298afd83ef2ae03fef77e2d2","impliedFormat":99},{"version":"66aeb47bf8638d6767f7b4ff684c2d794391c981590073025e98f98e1afed499","impliedFormat":99},{"version":"cd5b0672c9699fe169d69efd65472a874de9d1e25fa8669a934f5f326bf0f025","impliedFormat":99},{"version":"4577621880c696b0aacec6ebd2dbf97ac178ee2e2bfaa0aa3a5260a798220ab4","impliedFormat":99},{"version":"26731910f98a56ed001d25d5167d85b1320def4ffbb76e1cc4b0c6484482a5e2","impliedFormat":99},{"version":"cbaadb95dcc68691900ffa857b3bd7eaa99eeb6c351afca15103560bc87f0d15","impliedFormat":99},{"version":"97b02501eb45f487174d5a0ff89b6a95690d50e9eae242e2162118edd5f2705c","impliedFormat":99},{"version":"bbea0619511648a92fe83d5c8eed6149106d7fbf3065310a1986d18598b83bbf","impliedFormat":99},{"version":"963ece6abb58542445eda863960cf053a98da8f4e8634b7a8826aa04f6f85a56","impliedFormat":99},{"version":"5ecea63968444d55f7c3cf677cbec9525db9229953b34f06be0386a24b0fffd2","impliedFormat":99},{"version":"1d226c1e6786584e97efede708d49f2dbd6f887905f16c785d5f09b300bc098d","impliedFormat":99},{"version":"07ff7d4360fbc945963d7a4a8105a5520d1681a00745c20a962fb36bf04452de","impliedFormat":99},{"version":"1b1c48c4d7cbe6f40616594c2a3f6f95bb1dcefd200a7e4167e47b67725b631a","impliedFormat":99},{"version":"62076be1e1e8b668a8ddcb803402f1aec725a31d592e8722ff39ad368d9cd472","impliedFormat":99},{"version":"2806e4d2a88e0461c3b0c8cd9e7bc8e927034690e33345aa0853439d67f801b4","impliedFormat":99},{"version":"b1d72bde8f54695b85883613af13295a615034b2829dde3a31bd3d2a40eb6bc4","impliedFormat":99},{"version":"26cfaec143443411bc7d5363f274f885ced430b8f4bee25a81f7827248848d7b","impliedFormat":99},{"version":"6870f32dc76ff6f8f6a419ce55add0a011909e8895252d7cca813835f431783f","impliedFormat":99},{"version":"29fcff21ff0ecbe700c7db7f719af2fb4822a08d6d703b6687822535e8bd3126","impliedFormat":99},{"version":"5597cbcd19e16f5c9148c76c914e158680de55849b625c2f6b69723f01f1007c","impliedFormat":99},{"version":"7864233f21a3bd04eb6dfa79103a6c1d0648cf17eb4c47cc7aef19d274dd639c","impliedFormat":99},{"version":"b27f7733758db8f462dadf0ee250056e370413028c99fc723c4a93baa54a7c1c","impliedFormat":99},{"version":"5bd7f6f573ac89ec20aaf326e79394da8a89fbff8a297aa864de9137ca045678","impliedFormat":99},{"version":"81b2bebeae6ec1e73b491fe22a82c7e2d3a8369271e622ed74b6e94ba108a475","impliedFormat":99},{"version":"d0e4a184f48eba140f30e8f770853b884e01694f6aff59b38d0be55b0410d397","impliedFormat":99},{"version":"1d34b3ef8e5926334d86d305477d3592d648adb41fa0110970a68059e13d45c0","impliedFormat":99},{"version":"791e26804cd328b19fc37f7903813e8e41892e70d5241dbe2c39fdb52fdd0c9a","impliedFormat":99},{"version":"02c2773eb8536a50f6e647483e78e8c2991fea8ac32ab69a37f9a24255401530","impliedFormat":99},{"version":"4ac6d584eada1621a7eaa4bfb3dd54e81c2c8a82c7ffdf421ae58d84c3a3490e","impliedFormat":99},{"version":"a522abad9b9b959a9c4bdb4e6bdad96e65d97da9385be13ffc8affc3669fd786","impliedFormat":99},{"version":"ae733b8a8fc9659e24821aa3797d25cfdc205bd31674227b49411ca4d54e510c","impliedFormat":99},{"version":"0aa9c5135c3a086d7c01d8d18409da6b01fd32f09a4a261048f8cb4653f22be1","impliedFormat":99},{"version":"1e185a3af4b4f3bd6fd52fde968f14dcf9a8cbbc4924237270e290e25d81fe40","impliedFormat":99},{"version":"ae42c6173cc8ad49d6ae21187d0bb7c7c65da10204f9e2614eeb83b29c58f4f7","impliedFormat":99},{"version":"050240464b97ffce2e353ccd5251660f5d3dcf9dc834f88504732ded7cfe926c","impliedFormat":99},{"version":"3f896952650454552b2584ef1e3dd072e97f8498908cd2ab25e6b0217e8bfeb2","impliedFormat":99},{"version":"3b3d0685f081f6a02cda029e4d1e1ba5f10690870c971e6697e0c2539501e835","impliedFormat":99},{"version":"5998b174ccb38a61393170f40448f80152ca5518f9d2048f5b5d3cbe0a9fbac2","impliedFormat":99},{"version":"6707d39d8afa069222d0674016d48c4772067eb671f9b62528a6cc8218fd5b40","impliedFormat":99},{"version":"481aab62f04afa6eab4e439fb4f39af392c5c51519f548897ff71e6bad0b6771","impliedFormat":99},{"version":"51de9d738596fcc085d13bdf86c0014f15d9b4e6986631c7be3df9d2f61590d8","impliedFormat":99},{"version":"8eca47167dadd486582ecd4e41f7fba6ae66cc4a4c5202f1f7acf34129a0dadf","impliedFormat":99},{"version":"29cc3322fd17fd1b55ea2150ad6f7cb37f0b587efca5696819cc5b6e95331bd4","impliedFormat":99},{"version":"d09b7414a64adc7cae660ecd6e8a222ad9fa58585dd2390eb0aaabfee812b354","impliedFormat":99},{"version":"769b6f9f1cd9471261d137513abc391a744a3c3a62f492491bcde520219fab53","impliedFormat":99},{"version":"49fdbd971a9b57df943498b37cf11c40fe09b2675493039a0b7841671f385108","impliedFormat":99},{"version":"faba6f3b673c89279d3b41a47e8ea2c850665eadfa1e2a56be4f50a6bf4356c6","impliedFormat":99},{"version":"5cbc3c3c6475704af132c35b095da392a03815baf2e9f2853178ff9b370b64d2","impliedFormat":99},{"version":"074209bc8fc6979cfc363d392a8babe62685adc61c62a8742ecdb86fb9b62ad0","impliedFormat":99},{"version":"6826e70645f65e77bcceb9230962687109301a4ad9d6dbb71a7785167d4a4b9e","impliedFormat":99},{"version":"3c8b637a833f97a085417e7d0024ac82f7fafc0834a4c61d5e48f8edd8da6c10","impliedFormat":99},{"version":"a3a4132d6c64f431b6d0cc890557c392f57eb43371bb73979ea38d27c86a1c4c","impliedFormat":99},{"version":"ec03be0777b98df75dcd97657ebfac0eb7a9153867aab050a591b6caadf1c2a2","impliedFormat":99},{"version":"c788aaea8be5712b40c3bd9cf589c9510930af7b2aa3d986125df0dedc569290","impliedFormat":99},{"version":"e7983072a038e512514c146b25e7e97a8a070ca3507950658ab1e96f6598957c","impliedFormat":99},{"version":"f2333bb4a221631fe506a0354fffb808507d4e5f6fe2c85b69890618226f7d9b","impliedFormat":99},{"version":"6c9114366ff07ee8f5c3cd4ba94ad189a098ce8368040909d605fb38e636d026","impliedFormat":99},{"version":"13e930c27d68ecfa906c24d599b10927b152030d07da0fa0889fd4fddc5b4115","impliedFormat":99},{"version":"b4e61f4f522304f7fce1038590ca1f6d091d58aff84833861848f8157732d8db","impliedFormat":99},{"version":"8c86f563e8bcefb0b5b1ac62e5a27ee6a2a9b775e72dea5793823edeb24d36e9","impliedFormat":99},{"version":"d9134c8daef2565f20b72171f634800efb204eba63b03142d5dae5f36088e95a","impliedFormat":99},{"version":"faf9a217d8d237b02ab6d95508d8736ae431bbeb38d98885eb5b8fb6dbe48cec","impliedFormat":99},{"version":"e702ed1fd1dcb24ec2634901441fd156449f75458359c771074cbe7675e86614","impliedFormat":99},{"version":"bbb044421875fc84b7d2f2aac4fb14499687cae5a5063da51bfa28c58239bcfb","impliedFormat":99},{"version":"74b564cd3da8f83d5e472a5b0cc53bf7e276b25576097cb89e6f67caf95b12dc","impliedFormat":99},{"version":"3705ba677801103461ff0a06d34b6b2149072952365e55d8266969978dd33154","impliedFormat":99},{"version":"cca68a7703ec3717b6d4c287884fc79ba811f894c472718126010418cd306aa7","impliedFormat":99},{"version":"590708a598f58b156518493c563df1d03040d3b2b7f75fe614e1ada06dbb44dc","impliedFormat":99},{"version":"dc2c32ad9c49a7c3e56a18f3f42933e91474bc26ecc2ea47cf533818a54e6471","impliedFormat":99},{"version":"e061e898ffe9970c067278f5a7462665e2706e7cc6ce2362276eca1c92c128f7","impliedFormat":99},{"version":"e5ee49966285e5afa0dd2db7f66acf1e8a9e1d0bc5724b03b67be92ea7819bfc","impliedFormat":99},{"version":"4db2be160aa80fecd367876f8cf1aa197cd1f296e5f82ed8d8b961d9ececb204","impliedFormat":99},{"version":"5a8e4a5e571755e265bd6a840d8ab48eeb1ca2e35487d96bbd601ed296e2d1b3","impliedFormat":99},{"version":"d93cac0bbb7e1fe241f4b0493cd47466df00d9f1c51a53b69e5442456cb4d102","impliedFormat":99},{"version":"9de94cfccea0da314e8554d6b2f1f01a1b63fa4c79dc24b54277e86b918e9d6f","impliedFormat":99},{"version":"b4f7f4e2e4d0e668ab7cfd94ae5b72b6c690eafeac0e7a6d2218b16afdf7432f","impliedFormat":99},{"version":"5e8d925c0b8f6f91ac0af131a83f72683f88d80a61f5eea37d8883afbe8f74fa","impliedFormat":99},{"version":"056e9235afb474b7b2ffb6df16ff331f5238027b185367ca745103eb228fe57b","impliedFormat":99},{"version":"2eb77a708b1d812a8b0a57a6a12cbdb659bf43acf839b21b8996dbbd511d6e53","impliedFormat":99},{"version":"9a2d7fe034d084982a18ed744a3e0748f4768fdc5b9f2cdbf5f190e5226b54a4","impliedFormat":99},{"version":"1cbf7a0290d370c2843e79344bd494a10d267b3e0323bb77cf1b34a36ecf4200","impliedFormat":99},{"version":"2dd580520217749fd86cd77b8e48075a6c2ff32339e2334aef676bd3800f345f","impliedFormat":99},{"version":"939fdf70427033c0a05d112c2b03e8e31f037b8f2ac4617df680107162ffb423","impliedFormat":99},{"version":"9bc7a3d724ff20d2429d94e087c276b9256946b2cd66c9f9bce79ab54ec9c115","impliedFormat":99},{"version":"aa813b5adf5ecf364ddcab7bc6652db73d5c4e43ee5f6ccfdc7737f6d3184667","impliedFormat":99},{"version":"e5fcc46e6fc608a77c7efea569e56e3cb02491a9fc0d74f49e784d0a4a6aee14","impliedFormat":99},{"version":"fd413d87e8bf7a8e523c70d194b2c3279016d1ec733a9db43640cc1e0cabde6f","impliedFormat":99},{"version":"126cab464ce86f9c155c0b79f9c38fa906c422ac02c856ff9874051ca35ceb14","impliedFormat":99},{"version":"4d84f055621f07107b6e882b0cb79848106d08899bde344eb6ad0c9bc3539eae","impliedFormat":99},{"version":"25ada8b073df8f9b669aa007ee66298095904b83236652ee940d827c2ed5fe9b","impliedFormat":99},{"version":"24bb5860d0b4310843a2ce164c113315db19861f3fae4f2a56727ca9b98dc4b4","impliedFormat":99},{"version":"b62d96002ec0c8710d0e99aa3175434e1df0f22f5a09291b19e5ec05e8a877e6","impliedFormat":99},{"version":"221c86478853bcca59d83ce0eb2832e575779f2244a9a0176971de55c45b9690","impliedFormat":99},{"version":"7b8940dddb145146d5e62f9d817d5cb9f54345cd17bb91a363c293dd5216a377","impliedFormat":99},{"version":"7d331ed732ddb23a5e04eb12716cff50491ba01b712f4810df496c174547403f","impliedFormat":99},{"version":"a444b1d18b18c90477babf60511e8348ab9d591698205ed1bf12f3a0bf5862e0","impliedFormat":99},{"version":"08ca4dca79ba1cc23d4610ddec493102d3fdef6bb57f025d99b1cba9759f71b3","impliedFormat":99},{"version":"39c2d0f3d8d82809c02668743fb19a50e66f05d4336d48765946e4a051d0579f","impliedFormat":99},{"version":"495e122ec7cd8b18150ec1191e48edda4e23b2587022e59805571ddf8a3b516a","impliedFormat":99},{"version":"9277cadea8fcd4c10616d7667f521274c5fc6cef385861f6962ef880db3e612d","impliedFormat":99},{"version":"20b20c535eb79b2a4a62229abf83f0fcdd3dc1f041fc3c588dbe01e3a7666ef9","impliedFormat":99},{"version":"e98970286b6514c67e3b0f916f23f8bb81ad6fbe3b5ef1f2bb013272e9ccb00a","impliedFormat":99},{"version":"09c1c46f10e01ae7399f2fb391178be7ddd42d70dc6a3abc41d80ccf73badad9","impliedFormat":99},{"version":"31c9882e1d08811f5821ea24554c0bd8a0d97fb7efc661ef76393a28d9a8eb26","impliedFormat":99},{"version":"7c9aecf4946da6395949f23bacaa6d7e9ce287f5aa65e50e69332ee5f4d1960f","impliedFormat":99},{"version":"6701adb65ce407ccabefbaf20862daf55d52dbdb2a663c899d163cc6cbb59192","impliedFormat":99},{"version":"f73df64d28c41e3bc777eca2fb49cb5cda69b52c3786b32d4dc473f855fca42b","impliedFormat":99},{"version":"b342ffdc48ee317927f88cb38871b984b7edf94634428fcad875c7a9fe5515ae","impliedFormat":99},{"version":"247fa787c809e9036079d3f4bf429f5c6e4d76a31647d5547e668fa25c46477e","impliedFormat":99},{"version":"f015d64096dbfde32ec9117706e6e1376e9ed0ea8534d17d1c4035262fb82ebe","impliedFormat":99},{"version":"0af38d2d00fc29764aead613ae52e263e235289ec9e2f365e909226e8b2df2a5","impliedFormat":99},{"version":"c610c569ccfdbcb03d9e531ac1be3ed944586e099bf4f756885fce2d5e1a680c","impliedFormat":99},{"version":"2062be175b1e4f6a0b6b21b4ad08c1e241833349fd82aae558000acb2a9c905b","impliedFormat":99},{"version":"32c98d5e98a05f108f4e405c853db481f83c5a1a9cd6c53870501d8248f9afad","impliedFormat":99},{"version":"c717d81d125641e3d95b30cb00d3c0179fdcb30c9e716c360aeb23c699e51321","impliedFormat":99},{"version":"9a96c65bc8d115c4cd1f6d61305013640593f0c0f869a2e6cebb7bbcdcd7313c","impliedFormat":99},{"version":"d5e101bf2eaafcf94b79c0a80a8b86e26ea0b24234f8f5b2c88b58cac0842a74","impliedFormat":99},{"version":"27caf95cace62037352d836d1c547a73363248289ba8b05205cb9eef146768ba","impliedFormat":99},{"version":"8ac1275f4eef836ace2b3779aa240cece0a7094cee65e3a56fc730a270695b0b","impliedFormat":99},{"version":"4dae97da440251bfb634edda1739b3cf39e66b56076e05d7b06bd3181a6fc500","impliedFormat":99},{"version":"66a183f89f492290d10baa4bc6840fac3a0212cd3e32f2230c1506eb6b1f84db","impliedFormat":99},{"version":"6576f83f333348274a02f3a9a048dfd9c0fbcc3515ec4e654def0ec5491a6261","impliedFormat":99},{"version":"f657e9bb81b35be0d298f305f4a6924c4b652692f9d48512038015e7eb79c7fa","impliedFormat":99},{"version":"5ea4c5fd9091e33b07825015ed1cce784854121cf42d337f0762f1d707ffacfa","impliedFormat":99},{"version":"0a6af3e7a2a63fec578ef9940ace9987eaa91450112efa665dd94cf26555463f","impliedFormat":99},{"version":"172423ba720956a2999c4e44a640d6b141c1c8646d96e8a88a333181eddb1eea","impliedFormat":99},{"version":"8d1ee20c4ca7a97ffb6c9b19049a1a9ebb34bfff32379261bc6295e82cb77abb","impliedFormat":99},{"version":"258436bc14be16b94eefec3da57b4eca7a3c1df633c79d4ccc35f18eaa9d8107","impliedFormat":99},{"version":"0ad0d843d93b5bf3fdaf79de4e159e28d6f9367a945970413205f345e9797cbc","impliedFormat":99},{"version":"f9a161a77ec523402d8d7dbaf9a04e9fc3d32d0b304dca4d7a86412bfdd1b1c9","impliedFormat":99},{"version":"ecaa337dd6eaa40a78934bc53a46455c969a9e2ec75e07da806552e5e1f5f575","impliedFormat":99},{"version":"747703dab2b5bfcb0f4372616373cbbe85a8a9e246bf4f2002252c54f79750a6","impliedFormat":99},{"version":"c09f4c7ec02ad3b5be269a3e220d69d3f16d43fe3843e2e75263344d3ce7981c","impliedFormat":99},{"version":"d351678cfdd7d86b5dbc0c75eaf66ada923f7ff1c76102508ac22f703cb9b927","impliedFormat":99},{"version":"b3d820765aa7672d9276e319e9a2b4d7a928b5dbfe34169e287bc2c0a03be70b","impliedFormat":99},{"version":"96ce9dcfef17a1945dbb4ec0ff2256f3847e813671bcba46381fa6673cf8b202","impliedFormat":99},{"version":"0d852b4958e9b9dee49676e33381e33280a0345bec8fde3f902b479bd0f69e37","impliedFormat":99},{"version":"1ee834bd1a5b21ee9f0f8e683ed8f46410f2548f5b81ae090c14fa41ebe3173e","impliedFormat":99},{"version":"fd875069349f1541cdbf2859ca8b0acdb81acaffeeb579f74dc08b332e8a2fc4","impliedFormat":99},{"version":"fb6994ae9a491ff440c5a78667f4d5783fb6c5827050db94f9ca7fb14f8ff260","impliedFormat":99},{"version":"3318f774e0fa8cd7decde2830e561c401e53057ea505c031f687966a16f4b32c","impliedFormat":99},{"version":"c130a5e599c565b49b02dfdaef22c5dc68bf648a9678339b44e8913d3d27ce71","impliedFormat":99},{"version":"06cb5fd4ff2e5cf532dfc6bbeae7b47ad7c2879909e6727ffdacc558115ebf0f","impliedFormat":99},{"version":"5cf2e81f262bee804fa9d50112c5288ed4224243b1837c653c9eec5a621a9b13","impliedFormat":99},{"version":"aeea67ef93786c8625e6c2840c5be41e6f6679f9890bc75628ac0a3cf8ea0c04","impliedFormat":99},{"version":"a37b86cc490287c9723338ed95965a938886313f0f912ba12f789462d8bad89c","impliedFormat":99},{"version":"41a073e65cbf693b4ca1f61f6847e16227d023cacfa75a84fb989efc3545cb19","impliedFormat":99},{"version":"e726badbad2c619272fe4fe528dd07cd5ef87bda456dc3656e4fd1bcc11976d0","impliedFormat":99},{"version":"60b0f3b27eed4652b4cf70ff359eecf92d1dadce962239812474436b4d608da6","impliedFormat":99},{"version":"4d7002dcc54793296ab4c4b1e28c00e99cdda63ef31b83ef616c58f8773c25bd","impliedFormat":99},{"version":"040dbae8a47533338afa394e6974e753b4bfc1895c322a3a715eb1be21eab5bf","impliedFormat":99},{"version":"a9d4d662f3494ab31e98c8193f20b0725a9488225df92bb4df2d9f96b5b7a166","impliedFormat":99},{"version":"6170c6827bcca40ead01d9a8e92e73049b82a0e595f1c11ef39bb98282781f7d","impliedFormat":99},{"version":"5dd074521b20eeb26c76fb3e1d0f85fb4bf26cd247c7dffbed08bd888a6d29d3","impliedFormat":99},{"version":"f3a8d4b406af14afba34488fec9b89859900a8df10510a23d9f1c2e8a116d3fd","impliedFormat":99},{"version":"b03aa91aef645f9856216a2223a47001a84954caf37b7ffb1d63d1327b4231fe","impliedFormat":99},{"version":"01b6435dae2508e231ded5ca79334075da7d6ca12d909765cb335211a90ba86e","impliedFormat":99},{"version":"75fc3992422a1d3b15788ee84656da98a10ce15ce5ba257a0df623a024a0d845","impliedFormat":99},{"version":"b6c5cede83853964b2f753d7e202613e1d461857cc3780a57a2a3d346c5afc0a","impliedFormat":99},{"version":"ffc4846043b7f71f310692e4bd38f349373981b832f907963e4bbdd4288f130e","impliedFormat":99},{"version":"54a730e06094b37f96436ccc8e736bb65b74d256439bf1663344e3fab16d2246","impliedFormat":99},{"version":"1389cb1ca8557f7380f983f00c337969542d6c932b1ba294b48f97f6fd1cb69e","impliedFormat":99},{"version":"85cfc4f1cd043b1df65ba7714d292ba7c6c79c9e288db0d4a9ea6a7b567a675b","impliedFormat":99},{"version":"74cc10ca21f4fc15188d7e7aafd66de5c34c82d011f0c9e02b05b9739e0fa31c","impliedFormat":99},{"version":"abe83f442f76121715241d0fc207d2c325510c6a4dfa6b07662f550c95c6a2a2","impliedFormat":99},{"version":"4b6de64797fd57745c2856f26b4c7de6be543f9335dfde7870a186c3541ff183","impliedFormat":99},{"version":"765122fafa15af14742c91619b7e30b36e5c38f01e6ad079d2c5ecd38a4fc45d","impliedFormat":99},{"version":"1194d3241ea56738d7d8e2b4908572a350cfe7a85b82ef89828ea32e20ab1803","impliedFormat":99},{"version":"6449789627c9555d2914c88498ab494cdc4f18e28a7426a1e74dcef3401f181d","impliedFormat":99},{"version":"17326f1b693cd3a0e89fdc1248097f0135adacbc072b0ed62cab9eecb1c21743","impliedFormat":99},{"version":"1b322be99b786ec951d3d14283aeddd32c3ab25033c4cb984b5224630317b232","impliedFormat":99},{"version":"c7523c0ac422da80b521031667dc06ca66d817ce5ac47f69db6fa98531febb26","impliedFormat":99},{"version":"19203771ab06e45e1524b7f608b332cad7143ba3ff473e302827a835ecd99dbc","impliedFormat":99},{"version":"3b7b9365174c24792ba2c762637b0bd5cbb8d88a72153e3f7f82d34e115d5647","impliedFormat":99},{"version":"7e3a2715195f927935488d7565bc30e7f540797776e1de208c64720d4ef87f77","impliedFormat":99},{"version":"5804ffbc65b78751fd510218b90827a7ca677ca34a45b4709a00783b658cbaba","impliedFormat":99},{"version":"0945a03ba41861ce8f75468e2bd1bfd424185418921fc2f55cac5eeeb5049c3d","impliedFormat":99},{"version":"246dc85745d220f0a1041d67bef89de1e02fabf49e6ce896bc1a345eab1fc507","impliedFormat":99},{"version":"616b74da95e0f9bca845458de4a8b25f12142b4a7b02e89882da05b4cc115802","impliedFormat":99},{"version":"b894722e4b4205a60154ee3d6fa8ecc3ffdfb92a7bd38936f666d3f00be6649c","impliedFormat":99},{"version":"1f7f05258c0992bd696cf00984e640011ae5477d7aac3b80fcf61bf27f42fe88","impliedFormat":99},{"version":"9129342b97e39ef2c9df4848dfe011329cef9b27e719c7913fd3859be5fc0cca","impliedFormat":99},{"version":"351edaf90b54a559e1759f7ceb54b7881079cba5f4d6dcf15bdb26f1877dd2c6","impliedFormat":99},{"version":"3f79205d951373afec1ca713cbda4be9816d97daa795a9e0a37fa3ae5429afbe","impliedFormat":99},{"version":"bcc4c8b5a39356915b8d366e3499a28adc89e2e0bffc02a108eaec1c4797a58e","impliedFormat":99},{"version":"5b2287eec9804a7fc7c6021ae0a7a92b0160750eb21604b77203589e2ad905f8","impliedFormat":99},{"version":"03870a19c7cbbad803b0ee2d69b777e12be7734e087ccfb0c862529a41cb493b","impliedFormat":99},{"version":"46a52d6ee42784826515dd6ab9f5afaab3a05dfb49ddd8298a2026b6c756b944","impliedFormat":99},{"version":"995f334b04df585cb2a77b74533441293ff1e1d4549c86dd5495494c1fc3969f","impliedFormat":99},{"version":"e83b7824f3d983e9b8c2785541579cd8d8c153e96959e71ab4f69bd83c71f953","impliedFormat":99},{"version":"7b0030262f3d2cc74ae1dd79f4990a7131c34935b2c177e6cfa17a88a6ea56ee","impliedFormat":99},{"version":"a923cde26c2e5431e455844ac5f31126d45976c85f347c7dfd2b9eba3e8ef63c","impliedFormat":99},{"version":"3b2738cfacb777ea1f53acdb26b4f4306fa3dbac7fc5d0f1c4750350d3f5741d","impliedFormat":99},{"version":"b95d11a17e57f0cd0ab04aa8148c8f0ca3a68f56c9a44ac9179cea8a6cccb546","impliedFormat":99},{"version":"7688f3196338007600eba7158240aaa15ad524ca42c204fdb3888446fd690086","impliedFormat":99},{"version":"514f33cfc8bf4a00d0603f6df438959657ce42f94e93e29df29fa9b58e7d54f9","impliedFormat":99},{"version":"7568cf2d6e505847c539e63406ddbde2ccc0f96f2e6c5f115a4b9774d0b55aad","impliedFormat":99},{"version":"d05bd9004c654c2583de473d77f047f03719e3e7bdbe62861371755208e36d59","impliedFormat":99},{"version":"74371225d6032ec7f73b46e736d9ff6ea3626be6fc7959e8b71fedff0bb75cf4","impliedFormat":99},{"version":"06dd247275efd44b3f91270763246700353f1add0945380bdbca8c90a517f9f1","impliedFormat":99},{"version":"0833e55be9920ff787cedb7ea623e97ac9bab28961e0e11aa4a56d36d6074dd2","impliedFormat":99},{"version":"92fbb2b6566fdefc6ba3f151299b2618bd1780cf26c2d0078dcd7f1bdc1c551e","impliedFormat":99},{"version":"3b5317db0574b276c1ecf6ebad9faa974f4e416786b682ed1f854cc85837c3df","impliedFormat":99},{"version":"5f27b1f1b03636451e90fc414bd8426a1db25ad438782354bea60f47d7efb9d6","impliedFormat":99},{"version":"53eb12cfe4c56afff32a3b8adec4fefefa12685c84202c8207351004d30c3b3a","impliedFormat":99},{"version":"05bc3698de467024d02654162f1eeb4edcb0ed9d855a96133572969a6f3675c4","impliedFormat":99},{"version":"a5ba4a306d8bc21ac2fef4e40e9076708dded0176aa21484f1f6da23a4d400e2","impliedFormat":99},{"version":"1c825d1f1bd9e70c306f6c16a0a6b76ccfe4be9350857831eba93e59b95fbb5b","impliedFormat":99},{"version":"b27224caf8db7ed9edf9b12368cedb963bbba3a9b5143c68dff53f5fb2351c96","impliedFormat":99},{"version":"eb3bfb8488f260946c5bbf5d9e730a6e23e0c4a568fbbbe782f3c365e0595dde","impliedFormat":99},{"version":"15de6ee96c8e0f6a78fed11e60c3a0f9b4535c1e6a802c55d65028d500e91e75","impliedFormat":99},{"version":"052f62cd94d56a5ca9d8ce7e68a2201fe8f399a12d7803be2619fd03dd36f1d9","impliedFormat":99},{"version":"06e98ec1e0428de740d985f3480b2e699826d5cd2fe2457f1265b32ff4797ae4","impliedFormat":99},{"version":"01b8daaa0be6124a730b7170c1bb1375f7ed6acf1b4b49c1389199b5ffb600e7","impliedFormat":99},{"version":"7b0d3cca9104d4d9f484ca0a64bf731ff1aea842c8a4bf93618814b1a8281992","impliedFormat":99},{"version":"e40aa12df628390fb3819a883c52c51ef94fd3998e74965fce6a38917a0530f4","impliedFormat":99},{"version":"0df397db19a2db183105dfe900d75798622677a5db73038608bd325f86a556ed","impliedFormat":99},{"version":"ab505b9c7ee7649920023b14384c71e3c542bc7535f51028dff27d70d2b1d6fd","impliedFormat":99},{"version":"29a9fb009bcc76c847dcf73d820d276d6353e5c6c4c016c847d51e42796f68f5","impliedFormat":99},{"version":"743751f2d8819fd7ac9d3ef6378614b6675d3101e42ddc18767901693621cb2f","impliedFormat":99},{"version":"e4a995fd487783122df0848df4c871dbb536e1636e8e7b6f6186d2993e9761e8","impliedFormat":99},{"version":"45da721f9a605485a439778c248dfbc6351341d87de448ec266b74185e090631","impliedFormat":99},{"version":"ec47a4e180f0cf61787ada2d4691a1cf4f7fd65482f6fa9e01444adff3cbd6eb","impliedFormat":99},{"version":"3209d42dcb86b35a13c127fc39981a644b61a1fb0e59524038d0f3bd7fe25768","impliedFormat":99},{"version":"c8c16f7fdc34f8bda36cd9827b11c065e94ae25473465b2b35aa71df336ecf63","impliedFormat":99},{"version":"db07a4e9f69cc9b58930c2d3a4ad1fd9f882794b92208d55ab057443081f649a","impliedFormat":99},{"version":"735a572ced293fa984b3675cce56091902a0529cef028fe016d9670e3a94dc8b","impliedFormat":99},{"version":"dcf0056dec8dc80fe76eac1e8c6fa778a2e4c094fe2d4b120e6f5bcabd820be8","impliedFormat":99},{"version":"6268a89f0ce2f857f6f7ada0045bf8dc990b449f648b51522c0a7d84d016fe85","impliedFormat":99},{"version":"efd3f26f59c3291a0998435ad54c67191b39b4cd0d451ac807afd8da86bc1996","impliedFormat":99},{"version":"19b70aecc85035f5faef7f3da8dcbf199af4ceccbce15a670950377b388c1d9c","impliedFormat":99},{"version":"d621382b4ad80cc27b2f670e44e0bb11a7e85cb0f6a0b043aa0c9b6b21b16a15","impliedFormat":99},{"version":"5c1f5f0c20f5171a182440cd0347dbb94e5c84f5976184f2f36dec92afbd9b9c","impliedFormat":99},{"version":"1a7e2345e3b20202800bc92adbf628d22a74902b8a5c87a6ce3c361d3ba314a9","impliedFormat":99},{"version":"eea9dc67b1bd75f72aad8483567241f5fdbe46436f018df7f0719e7ee5aa85da","impliedFormat":99},{"version":"5bf7ec4d84bfa8c29f32b7cde878e8ef4e11b1bbf0f4edbb9e851efbfdccbd2b","impliedFormat":99},{"version":"3a49927f72440d36c50e1b62f5cbc2f296253d151ea4e5484ecebc8bc461ad4f","impliedFormat":99},{"version":"ce293a2b914083388ff1de83875cc6e82792c5dc1e99c3be4b787f6b150516bf","impliedFormat":99},{"version":"f8d6e2784bb518d523898f614b8c0ae55341968c982d4617f08867b5d11cf354","impliedFormat":99},{"version":"1413f593b860e74f717f40bbf5c934fd77ee6cbbc630216954bc1a364d5d58a6","impliedFormat":99},{"version":"f7e358590496240e80dc08cd1b71ca492e4d27664bb403d3efbb9acef5075b40","impliedFormat":99},{"version":"656e30f229e3a05096b21a8d0b4a37cadda6201d74631fdfd6a6f52f0c158831","impliedFormat":99},{"version":"03206d1ab6b7f08b118786a903cf849768c8c927a21022df88fe63910ddc3433","impliedFormat":99},{"version":"702cb19c1b38ca1b2d158d765869b667b2c1e5ca0e62862b7792285055cb86d2","impliedFormat":99},{"version":"396f903b4d3bcc1d5a72580bb0a8d9f90c7dac5e481b81c2b58df80c968b64e5","impliedFormat":99},{"version":"0e8707f15586d91f92a120b4751048061e04fdee756246667158d4df0105dbe8","impliedFormat":99},{"version":"c37e7b3d6c0b5da08a46d028e980becdd8d48d7b32b7644209695d75d43f653c","impliedFormat":99},{"version":"fecc5365f9a1dd29cc8c582bc0427a7bf06a52c2a42cdb4b25012976628faa6e","impliedFormat":99},{"version":"0c073335c77c5ad0240a0303cae56c8be8da93e206591c5a5a8bd6a613d78d18","impliedFormat":99},{"version":"827c1178e5058f0aaa9047725b845d598f0f52871792441412059173f895597b","impliedFormat":99},{"version":"9e8ed20b5058a6f5f773f420c0efce5c8eb802c0af94cdb96b782cf2acf1b00b","impliedFormat":99},{"version":"8b0336c60458945b1fee185149fa4b5a512917aa171d4232b1f0805c3c12e31b","impliedFormat":99},{"version":"b15377bca02bd4d77f5d089fa0c7a13dc251b104de3b43f62dde6955cc8ef7e8","impliedFormat":99},{"version":"020409dbb29a4396e3c1c0732a0f8afa939e47c935182f6fd0603e21d5a6a8f2","impliedFormat":99},{"version":"bb259ffb75be8a11b1be05d135a561391f7123110d75074eeb5207be382ceb70","impliedFormat":99},{"version":"1f52c9be8dfb11cc31d9e2aa4f950ef56aa8eaef1b78949431882f70e10487de","impliedFormat":99},{"version":"1e685ffce849148fe9e9649189957078d9495608e9df42cfeab20367d2d70c75","impliedFormat":99},{"version":"97e30735672fbe25393231a53ab5e3b63d34e74d0697c59ffc034f9119c23d31","impliedFormat":99},{"version":"84ffde0a761e4b6cbf3cf90c97c4c01608962e8b55082f3705d29465a194f449","impliedFormat":99},{"version":"d874bdb89c1172b0eb109873d39175a5f210f5d853439e7eb250102622edb0d1","impliedFormat":99},{"version":"2b7e61a49cb27bbfc53fd5b888705290beb2d1fe78a8b433bac1ce7544113904","impliedFormat":99},{"version":"8b28a7039c2ccb5108bb3a3b771ca430db73c4ec9e47031303b8e87732a859a0","impliedFormat":99},{"version":"156eb4c6ef17eb61507364b320e2812cfc5afd862cb1baa251b2ab412384a2a9","impliedFormat":99},{"version":"9efc47a0e98346bfd4b386050634b4e150e6c41dd6d9b2bc1288e80a0f345390","impliedFormat":99},{"version":"2bd0a3ea02475382ae8e87d78e3be763dba251ddf9629664ce73c706b400dc94","impliedFormat":99},{"version":"20008d2327e19c4fd051a2c0ee88ea696d704bc6d7ad39988fc509d81c27a485","impliedFormat":99},{"version":"6cee28d40bc224e61f12e867140ab6d677a03a1defc9ade08b1bd60ab1c06524","impliedFormat":99},{"version":"3a0bb28315b2084f25a012275ef45e180ea80d9ca4bbc37665b9c67e912e998c","impliedFormat":99},{"version":"17662ae9763596c2ddaa833f9e326b3de9289098a71457ee18d2db9407cc681b","impliedFormat":99},{"version":"9442dcf95088615dd8ea58077ebed1f7d5dd662caca210b245a6b19f38984038","impliedFormat":99},{"version":"baf0ad4aa9df446c5b08370689dc08e23e112fdd1a022293676254fbb7897a47","impliedFormat":99},{"version":"e3a929f769e33c3001244a06d6a3e025083be64599c1e961aee31145d623e824","impliedFormat":99},{"version":"083493311f28114ab250a8f379798214e91f264dce121fa2140ae58376fc48c6","impliedFormat":99},{"version":"fd03b3ac929f2bcec6710176bbcdb34969d7f9810b01f65d19cbdac143a2c7d9","impliedFormat":99},{"version":"f3e2f84bdacbe962c856add41824ccfd66fba7b320753f6e9c6871cd6fd5133c","impliedFormat":99},{"version":"d70ae743099d2615ffab06760a3571a2beb01fcb27366cce4025544603a6081a","impliedFormat":99},{"version":"530fcba9474606ca2eca0b85f91b26d5e24c31431c27d20403928d51f9c1931f","impliedFormat":99},{"version":"c483babd94cb2effd09a918f5cacae5fbc8cdcb8b65b1a28cf07c2a9381f2a0d","impliedFormat":99},{"version":"c808470b50113d547da502f2380c6674fd41908d641663e5944a6070113469cd","impliedFormat":99},{"version":"f0568ac6f1c90cb01c4a2b3d14c0c6e734cfbfa34eebc57d789db55e7d0d34f1","impliedFormat":99},{"version":"0ae4ff7dd81505058a06f617152c94802f16fc7a8d2f768c8794f53f8be57178","impliedFormat":99},{"version":"3f61a28c42e990b337e084e92d7fa7df04f8a6b6699da3754dc59611d189b40e","impliedFormat":99},{"version":"73fbbf32113d791d019c474cf474344bb36d4c375f9622728163ad5640492a39","impliedFormat":99},{"version":"91b6fbc14c8a81bc1751cc033f55e0cb6f3b346653d51e30efb7995ecf969ed2","impliedFormat":99},{"version":"77e2fd9131fc81ffaffdc85a8ab553f869f2a67b236ceb95b85b9a1bd72b8823","impliedFormat":99},{"version":"330213ff23c7adbbb6f1b5ead11fb8dfb731c5c24f8c4a18586acaaa47e74077","impliedFormat":99},{"version":"a9f07992ccd51ff2a089628480d51364e19be7e5b22e04edd7e18a519c50e2fc","impliedFormat":99},{"version":"26f62f6b63fff6ad7abd3fc5d89d36f8c74f6ddb32d64795556d0ad3ac6b2d29","impliedFormat":99},{"version":"30c55932c3859c15cfb16c4cf3cda9c303588f3216f8b1ca205e2c41bf801402","impliedFormat":99},{"version":"b727fb19b28fdd8abf41b989f9ec0a6aae52cf07f3918386ad068b33d20c3468","impliedFormat":99},{"version":"d7fad08d42a437ea163bec1c3d08e5e4714a27636d89809602f04328a54a3fa4","impliedFormat":99},{"version":"22469dbd699381a169d6e02d5c080ba9d94b9d6567b7a5c41cb17f505e6a4ad7","impliedFormat":99},{"version":"44412e7238512522c472296f100c52c0accc20d3ee75db7aa503ad4d92b80754","impliedFormat":99},{"version":"27c4c4f9114b51cd89d2ba83e9fa60bacc6c29a1279f2f3b91d19c2f7b2c68ac","impliedFormat":99},{"version":"6acb809bb284648297faaefcb03e0e4500de5f78194a08b75512e13e5887829b","impliedFormat":99},{"version":"c31062874243eeb47ba70f53686f860d4c238bed5587af12ea4f73389ce2333c","impliedFormat":99},{"version":"b4f0992a1069bd5af311d02a49dae7aceb5e0400856449bd766b994267e2adba","impliedFormat":99},{"version":"adf2b0d2362e1b4c99336c56293ac3da8aa0d3ebbda67f963d4a0f3d3ef2a021","impliedFormat":99},{"version":"5fc3d9350eb34ad3cbcb1b69249161a33ffe19d7c0e72e6087c947046de6f756","impliedFormat":99},{"version":"b0418e08aab8aa9e4e406428964d2adf8187dd29f6cdaea32ede28fc36e86f56","impliedFormat":99},{"version":"be4147ddded6518b57942a23f89b50b772d841a97e22c93b70eddf901c7581d2","impliedFormat":99},{"version":"6b952ce628d71b1e1644cf8aea26a4de997596197158dc7b6e71ec356a8cf992","impliedFormat":99},{"version":"2f4dad0e02e51c0d630d46dd18b3a99a1d8c9f184af3e9d109027d8d11735f9f","impliedFormat":99},{"version":"41c5600e8662d67b2a149c2eebb422c80cc2337945f5b79dde92d41427499496","impliedFormat":99},{"version":"9c1e78acaead99ab9c612e54f5e16c0675cb6863627ec2dffa0c3d5651d53659","impliedFormat":99},{"version":"6df75e65602bbd54c977312ed62988e0c64423b046ed74ca126b529970233a2e","impliedFormat":99},{"version":"3ffc0815b3b1da65f6fc42a2a10aece2bda56d024cbcf7477b6380d4249ff8a1","impliedFormat":99},{"version":"7cb50c74ced03d93407f80f61840b52540cdc0ff7189ca603e6995306c2b25c2","impliedFormat":99},{"version":"a44dd85a5c1ba838eea01fd555504229ee74d97b1d237741598e7d97c0e857ca","impliedFormat":99},{"version":"aa7f2b3a9f4bb8a225b3a5e5c611b1a034ad76c3d870a1062e241485e3968e23","impliedFormat":99},{"version":"eb41d07bb7e2d527ac33c71146a3a4802a24d39defb6b8e4d707e5510074d076","impliedFormat":99},{"version":"405bf967f547561f6810f2903df5c5b3c7528d55917fcea0cf251951bedd879b","impliedFormat":99},{"version":"0060d5fcac50ed959be8765d1f5343eda5641109a62eba69696577e004b891d0","impliedFormat":99},{"version":"def4730fa85f358f1257bf2116242bec72080b1a0c70046d0c05ff7f90164707","impliedFormat":99},{"version":"5336f4657e6ffcc8bae26bd762b09b80ae6e3b67dce0a4b4aa99f5baab00c65a","impliedFormat":99},{"version":"8e728eefe8c7160465492dafb86f25085ede8c6b05e360dd2c7129955a155da8","impliedFormat":99},{"version":"c665cdd809976f388c82e21c47a040e5e19ba6cb953d0e0c1c38e1ce61f40922","impliedFormat":99},{"version":"c3bdb6cc2b1abe32815c4894c4d011d4ea80c79d0934d264b467cc6ec0051bcc","impliedFormat":99},{"version":"d40c02d227da200dd6be4e7d56ec2c560c08b9e24a4688a071f392b37953143a","impliedFormat":99},{"version":"01b9b0a56a739482aadb7da55886fa724bc2b557e9814ef4841d2262efb9846b","impliedFormat":99},{"version":"891117d566ab7e1a7798d83c58a20957c1703e92d5a351802081c643cf58faf0","impliedFormat":99},{"version":"6f925dbb5e83ba81d632287af1706945f435bfaec89258540eaae87817804c84","impliedFormat":99},{"version":"0fadf459265643344979f57c02e7ae5fdb5c70244fc9ccece5a1a977fe0b1fb8","impliedFormat":99},{"version":"0e77a1ed700a09eae143529750cc2eef65b8e28d76cf8a6eaf78b7f1afa24c63","impliedFormat":99},{"version":"5408800bf96b2cdd0d8d77e3d52f6848514efbf1590d96d9f8aa86c8ee95bbdf","impliedFormat":99},{"version":"b6e0ad0ba28715ae23a61b1192cdb24c06a909aa58b2048e64e56574aa4da7a8","impliedFormat":99},{"version":"c20b3e5d792dae26f5bbf8d1b73ddd16d9ddc336e32a301b9dd99c68a779f61e","impliedFormat":99},{"version":"d71713801d5419399f8edaaf0471dea5e578dd8b71eefde7abf387fb372feb1b","impliedFormat":99},{"version":"89b56bb82308d69d9ea109de95fff39ef64bcabd250688da972fcea05f50dad3","impliedFormat":99},{"version":"214f90578d41d0f5bf61b4d3de16b4671dc75fe893b803a483a4e7b96e80a1e7","impliedFormat":99},{"version":"32b6a2a6fc20f85513ffb0f35e455dfbaf058f65f063a10dda07ffe9592cd98f","impliedFormat":99},{"version":"8b2bdf89d903b856b52e4d416930701068a3522e9e8c2705602c6e7e2394e86d","impliedFormat":99},{"version":"c988c702e73a0ae03ff6d7868ebc2dd0497e921c3b7ea4fbde42aa781831b8a5","impliedFormat":99},{"version":"8409e2185704c03d12e1522dc4c7b137b6b7524e2fc1f9baee7581ee28fc3d86","impliedFormat":99},{"version":"95195cfacab74280a41490ca2c731fe499a37d7ffcaeac7dd2d9056cdc694623","impliedFormat":99},{"version":"9c8746b57866938dccd94775ccc3abe27e41d182b6f6d32ce82a1044084d3778","impliedFormat":99},{"version":"be71dce0024b565b17433b79dfb73c200bd087568e24e796d712cbd42eebf8cd","impliedFormat":99},{"version":"4d9081308548bde06c710ad7bc3af5e6d7e24538378a4c10eff2e769dec31bd5","impliedFormat":99},{"version":"09e693240afe609150a21882e64d8f34b664eea485d16ae78ac86cb3a47de3f9","impliedFormat":99},{"version":"89502a94ed72858e0018b65766f8deea38577994b7df9d406afc47224fc259c9","impliedFormat":99},{"version":"2c19973a0dad8e650d42349838ecc7bec9e181c28f7aacfc045eb3c0b8c7db19","impliedFormat":99},{"version":"851bba631a33a4413ce53ca3586b8a2d5799d0450207e8f7f9b594340e8d0af6","impliedFormat":99},{"version":"9772a1a4b6a4a8c16e2564c0d83848bc92c5410378710f9da8fb2d912ac32b57","impliedFormat":99},{"version":"ae66b8a49700f9b0e1e857eb7989a033392b92b5a19690c9ed7f8f403a1e219c","impliedFormat":99},{"version":"a095cd74b349b5c587c52343a00871d3a522d5d00614275a608e5c3ff690468f","impliedFormat":99},{"version":"ce2b17e7bb13676b9cfe8b9d71db509625851486b845475bf336e2c6f58a2cf7","impliedFormat":99},{"version":"68ff0025b0ff8a90165ae54d417191c8dddf93c794fd54fbfef6d4ea75f6ca82","impliedFormat":99},{"version":"6ff5a35137457c0c733501de9300f1801ae9abb33aea7bc9c6bf5e9d6d98cfc5","impliedFormat":99},{"version":"71128c986c2bd2554d203c724e897471277d96efae9d67721835e0174bb19a97","impliedFormat":99},{"version":"5118e5ed493b74299ca53eca1e5a422fb8f3207337285fe9206dd5d1f88785ad","impliedFormat":99},{"version":"aacbc0d9b6f47db9784a2193fcc7f4bfb1fc6cc711587a4bbac43e45432332ea","impliedFormat":99},{"version":"5be892a93003f44bc4420408ec0726322928020fe22f9a68264a176dc4eb8b96","impliedFormat":99},{"version":"9cf47cb5d151b9a09d0d2fed8b5858d726cbde497560ccb136557aa203364208","impliedFormat":99},{"version":"981feaf9d706617834eb318674966a8741ea35c93ce33e0ce155498e665d2593","impliedFormat":99},{"version":"8e661b24aed6caeef42e16eba111174c13ed178a660b41fd8f82401dfe129515","impliedFormat":99},{"version":"74606837f50a3a16d02993364c004db527b47cdb828edbd770595d5e4ee8dbde","impliedFormat":99},{"version":"d7e7588481cd78747b1d6a9439feede87c2e497df8448acc74d9803867cfdcc9","impliedFormat":99},{"version":"a46d60895edd2436d8927e02798c82975267d0b6fe3af28d7596177f23da3639","impliedFormat":99},{"version":"f93b561633fc4bf5005f34f0c2f96f48c3e548d1593136cfaa9331d7294ca417","impliedFormat":99},{"version":"d64b9ad5dc93f6dc86e1c13f5e483583597b35fa0ad3170c928e436253b1a252","impliedFormat":99},{"version":"23bbc076a14d01df086f77870c735b053cb1c9dc07c2c8b160f6a04db80c469e","impliedFormat":99},{"version":"7f1f69fdcac775d124fe626182219327b833a962de2c9751073d2643695ce2e0","impliedFormat":99},{"version":"ad774bd48cdebf2909e354cb24ed9ade7763306edda185b7692890a2aa96be4b","impliedFormat":99},{"version":"f53c345523d49bc3e6a11a5f6540ba145b441af3618efaf58d25b58db03d2922","impliedFormat":99},{"version":"164af37e5cde8d2d830b5a5f2aaa6be547b8004e4e98b33fd6977581f8be4d4a","impliedFormat":99},{"version":"2aa08243d9c596b3e993b558033dd391f39ba4d6525ccba992b11bb5be54c04e","impliedFormat":99},{"version":"208371c97acf811ef41ba4b217816aedb802a570129042463b198c7d72d1cca1","impliedFormat":99},{"version":"6311ecffa1680ff0f9587217df76d9556d4c8c623f12464b8beb44461d1d22af","impliedFormat":99},{"version":"16e2700613d061c8a3c21fd26bdff099948396954d5935ce913424d93c97815c","impliedFormat":99},{"version":"0890d6e6870d35b625590a98abc2bd3fa880fa46d0dc3de22dbf01628cfd34b7","impliedFormat":99},{"version":"193814fef68f60058efb9c02cffd20bcbf70eec1d32ea0fce4b5887aef746157","impliedFormat":99},{"version":"c57b441e0c0a9cbdfa7d850dae1f8a387d6f81cbffbc3cd0465d530084c2417d","impliedFormat":99},{"version":"51954e948be6a5b728fcfaf561f12331b4f54f068934c77adfc8f70eea17d285","impliedFormat":1},{"version":"2fbe402f0ee5aa8ab55367f88030f79d46211c0a0f342becaa9f648bf8534e9d","impliedFormat":1},{"version":"b94258ef37e67474ac5522e9c519489a55dcb3d4a8f645e335fc68ea2215fe88","impliedFormat":1},{"version":"a9ff5614fec6e47cd306851cd39e2bb0bd1b939a9776cad032bc06753a24b105","signature":"2641cc270e66b5b412cf0f887ef90e12173ac7773390a8e0008f653358f66841"},{"version":"709504c4a347b021a9984ee3e65359992e9f0f172d22e63030207d0c604296d6","signature":"b0a30a6f3075e34a6a108ff4fb8c54e7714f964c0690db0b6e82bed93ef6568e"},{"version":"c91f4f63d6c2c84d2e0f7368a97dfb126ac74804e775e5aa5bcefd853917e69e","signature":"96d032d99c255b941936f513419610586f7e642f2abb57d1b8d2581f7d442eb8"},{"version":"a313760e9f66c6f819c3426e038acb9aa8f47a59be74062f51321caa88a688ea","signature":"439593d167651f2e1c0c439482dc3d5d5eb248ea221ecd8feb5c62cd0d60cd86"},{"version":"2c82ac3566fa4072c5cc6320a0a786afb9d27c061d41316411483f61353560eb","signature":"e0d9f1fd5544f50032be81792d9409f65c8ea46853ed0450b9934372d4255930"},{"version":"829b5cb87df9dfb327efb8a4e55644d809f3e03de209067122b99ffebf284f00","impliedFormat":1},{"version":"415510d38ea33f28cb571ef11ebd6ee777a377e0d1886b6771dcb15fdde7a02f","signature":"5a4e0d921d1c64c046a46838efd87367a659f8debed6c7f7801b8440576657de"},{"version":"6e9445b11a3d075d64853d8b32efd159b4a45f37b481bbbb7d3bd57f5a5d5f35","signature":"589cdbba6bdaf20ddef1fe78e3bdedfd4e7f6b6e08179a9d8197ded860ebaed0"},{"version":"80d23e36921e787529d3ccae753675b91180dc2326b4c1a3d8f270205b85af79","signature":"845a9728a8fd9284d40c63aaea7b11076866271659517e0ab1a1cbd041bf8588"},{"version":"1aadf3c39d08e4aeea1b9950040079b0fa8baa1d5f9644667cbbb6b9c8c0837a","signature":"730f18e9a86d7032845d6a326f8c5ec9469490304565e2a637f4dbdd8db08977"},{"version":"03a87f22d5567ad70a9761d76f0d16ca6ae32b6201d79c4946e751f2c4cb4e8a","signature":"daaa96af8feb9c538eac60042eb231ecb684bd361d5d7d5fccb0a614a41c365b"},{"version":"80f9e528efae5074a727581eb42432dfd24fba63f39999314b36b3a6c6d01023","signature":"e6ec95dc819ab75e36c9e4492ba3e6bcf21507403a6afb5bbe8cdea76fd77fc7"},{"version":"e7205096e87497cb983cffe2ea271035dc0f7bae9db702859e5a2d0941d99597","signature":"1a85b0cd6837d60863844ad43f065863cd13b3cb956c369d493761bb603f4b63"},{"version":"50f42d84512cc66cdeed3fbf0d99dbf9fe5970a9984d963f057634c05fb18962","signature":"3b62f41c8b1ab0e18b1721fddc58cdf4127d4a6cd8702f4c5cad8311271eb2bd"},{"version":"4ed96213860296593b569b425eec8dfac37cb5bdaffbce2206c000dc673007c7","signature":"0fbe920fa2bb3439dfa680647a4ea264b7a8ea9bfa75e4cdd9ff2507d69df783"},{"version":"4720053f6a578540743ee8f3c02278636ada05dfc7184b43433262c4aebbbff5","signature":"20f656d6480d8146a5128b53fee43e77e2851f98fd61b3da28f2d8a5560578b1"},{"version":"21e365e7414b00e1dda3cb0e8c1ffe7eaf8f4cee8665857e7a4ab0051c694811","signature":"d36c6cc5adf1dd3c897e4bfe96cfc0506c9352c7413cd83da0d3032f820781b8"},{"version":"800de8bb8ea525980e16dd155bb6e6847e7fdeccaf816e5c2674e1a24c5bfc9a","impliedFormat":1},{"version":"88efe27bebddb62da9655a9f093e0c27719647e96747f16650489dc9671075d6","impliedFormat":1},{"version":"e348f128032c4807ad9359a1fff29fcbc5f551c81be807bfa86db5a45649b7ba","impliedFormat":1},{"version":"8ee6b07974528da39b7835556e12dd3198c0a13e4a9de321217cd2044f3de22e","impliedFormat":1},{"version":"deefd8c43b40f9797c3921d78d3f9243959621a17b817be7f5d95c149f23a9dd","impliedFormat":1},{"version":"5f12132800d430adbe59b49c2c0354d85a71ada7d756e34250a655baa8ad4ae5","impliedFormat":1},{"version":"ec27c0cee1436f58e785f621703d19d588ebbd489eca245e5198b4d6b715790d","impliedFormat":1},{"version":"b16e757e4c35434065120a2b3bf13a518fc9e621dc9c2ed668f91635a9dc4e75","impliedFormat":1},{"version":"efe2821496a760b9128309bb69ad43f1a99feb49d3fd004673c5e406de523da6","impliedFormat":1},{"version":"ea0e3c7d1347a549ac7ec32d3c61a30e473dbbbc901d458064db03f673128145","impliedFormat":1},{"version":"4374cefdde5c6e9bad52b0436e887b8325b8f407c12035194ad02c28f1553a3a","impliedFormat":1},{"version":"5f1ba0898eb0a54a644cb9c95c2240beaa961d87fd080cbb90807a6cc03daeb3","impliedFormat":1},{"version":"8e92ee8710ba85b158c5d91b0bbc9d0d033f5e062b6e70178063f01b20f63a14","impliedFormat":1},{"version":"ee933420aacba1f60aa70fb8ba47c5e69001b005073b71973114587089a13c7f","impliedFormat":1},{"version":"0a0714999d0a5bdfacd15c7b34cffbcc6f263f6cb0ccb42076cdc541c6987797","impliedFormat":1},{"version":"56584bfc655f9df64afc0f22f7d1122c29e5b74b342c203b891e19de9fa37de8","impliedFormat":1},{"version":"40ec58f0fadd0b3981b3d383e1c12fa0680115ae9f018387fc2cfc0bbcf23204","impliedFormat":1},{"version":"59709e26e08d4fd4c6a133552ad8f94c5b31463f295c4bf75fae1907738b8441","impliedFormat":1},{"version":"849b9e7283b7309a4556c9b90bb8e2dfc27751f157798065bbc513dcddb09a8c","impliedFormat":1},{"version":"76bba0c97594248c1be19af32d5799f7eff51cec2926d8e4dd59267d7636a0b4","impliedFormat":1},{"version":"10e109212c7be8a9f66e988e5d6c2a8900c9d14bf6beadf5fa70d32ada3425cf","impliedFormat":1},{"version":"f4558bcdc26690cc593cd59217cd17d8e00af0f5fbd0c4f1c0d71ba75029c42e","impliedFormat":1},{"version":"51d621c4e724720dd1b7ba6374d8a5b988beeda22d620ac84634a13691b631d9","impliedFormat":1},{"version":"f57a588d8f6b3ce5c8b494f2dc759a8885eaee18e80a4952df47de45403fedbe","impliedFormat":1},{"version":"34735727b3fe7a0ed0651a0f88d06449163d1989a2b2de7f047473adc7c1c383","impliedFormat":1},{"version":"a5b13abc88ab3186e713c445e59e2f6eee20c6167943517bc2f56985d89b8c55","impliedFormat":1},{"version":"8b29e3ed0c90b2ebc40b2bce5a518a0e86c0c417f7fe99a5e7658a61166bd9cd","impliedFormat":1},{"version":"7ae65fe95b18205e241e6695cb2c61c0828d660aca7d08f68781b439a800e6b8","impliedFormat":1},{"version":"c2c8c166199d3a7bd093152437d1f6399d05e458a9ca9364456feecba920cda4","impliedFormat":1},{"version":"369b7270eeeb37982203b2cb18c7302947b89bf5818c1d3d2e95a0418f02b74e","impliedFormat":1},{"version":"94f95d223e2783b0aef4d15d7f6990a6a550fe17d099c501395f690337f7105e","impliedFormat":1},{"version":"945be5a9505194381cfd4a8551a5f0ae48090847e454fecf834e054207c5a57b","impliedFormat":1},{"version":"d1e8b78a5ce49cee9ef4cd2565d4645d269c6fd0650e3592f85ba481f13da3a3","impliedFormat":1},{"version":"61be8f1d5345cf5750aed87af2869888ca1b675ffa481f1d4d80554e10084b4a","impliedFormat":1},{"version":"eeb6c806376b9c3464f29b6058aecf113328f9ce290af0375e520f1a844529cf","signature":"61f11ef9f7b473f14c872a139f0a329251738f177edfdcaefb3745adf8967036"},{"version":"216c830de5b7e1ff7336a1bf11dfe9c98ae2de2da56f616e7e4b4405aa14050d","signature":"f9653d5c0a8d7199894c3721eae87d898c8ce6668c3c28461dde2236367c94e6"},{"version":"ebfca49b6f505f572648960feb0bc5e131c9a6bea97f3f5883dfa9374ed4028d","signature":"5d2270355cb77cb6e68e65ae1d5c258abf97b4845ab9653f0ed1626154bbc114"},{"version":"1ceb93a23603a978c37604ac8c0f3a5adb8a7bbd76a5769b950db644b972f0aa","signature":"0895d90edbc5d40218c073393554c18fa39a891461bfc44da8be225be27a6a37"},{"version":"b16d890b0ea02f67586f064f87af862c601884fd40ec000b3ec8dacdf1c4c7cf","signature":"c4bf08d84391225b229f7d67fe8f7b3ff511782f27e0d6f5f4680aab2cf451af"},{"version":"ed0300836934be9970c950c0d485e8276fac87cf1fec92f07e5f13fb7203604d","signature":"e3d48af43b4af0455edee6944467120f4272a8306e90d504935da490b053cafd"},{"version":"172445546b246f00923ce61b907837020174c84335bfa24cddc78b6a5d28d0a3","signature":"b34528c74b3ff693ae3d27488992d045d0da79151d70e3240ea701f4a8910b5e"},{"version":"a207d5278346c5ef6ea5ce0b34dcb377bf4cccbd7153ab83953cee72c59ab34a","signature":"1dd308df0c17f9580459e35f573f15a40609c032465913c8d86a10883edcda1a"},{"version":"f299ec29ad652a02319d39bcb58adf0803a2bb2387a025aec1a0a16f50519176","signature":"9093242bf5a271587e65352246412d050ee6cca17b21bc0990a7fa7f0c5ae5d3"},{"version":"b53aedd97ce9ebdcaf94f60bb120b172149f79045edf37b22858ff10bb61e09e","signature":"ec13261703b24c5ffb56fe30e3d7b64fb29d7ea5fbf548dbb3440646b65e1316"},{"version":"1251b05bdf0f9d8118139c3ed7bb0ea60466ee664c2d58e710be9b39032c6f6c","signature":"f2c6a00624f44434d49aef27eac8b74b150c4ad7ea531992cd5ec7b61cff698a"},{"version":"a7e4a0f02427c3e07643a6d5bb9bf0cc09f2ebe28b37a42189f923133c43c186","signature":"01279e64b86fc37995c2df2f8acd601c7126eed6c6245b1e913a0eaa353f4362"},{"version":"fe3c71661dd6c6d74c4bb196af4247d019f9308057fa1347f35877c4511c460d","signature":"49a95f8d794a23dc1f7282acd9e8c68f11333b98cfc817ec75b6ee2016838abd"},{"version":"5bcca0c2e2f15929cfa8e0d91bad9f61ab85e7f256377ccc56d6b0f9f8552960","signature":"d77db17aa371d965761001b744dba64792f22b53c0a9ddd4d80d8c8b359c482b"},{"version":"641984c05f82a6e0b8dac973196b8ba146f1644b3706d318427096d844ac4f0d","signature":"eb5c97b219f68b8629c278d916c59c82b514b848ff10eb0db5d4196d69654147"},{"version":"064945c8a414c7a78b237a277403afd2b7ba4bb433d8cdc41fde3cddf09880f4","signature":"20bd6d8b518e6345256f0e7d38f412028f1c31d21376c07a4f41e3b65d0efdf1"},{"version":"5323f2f109370900f8d4f85c82ff47df76a7d63dbef322abf601217e4e677086","signature":"f59baba97905164ae2797a2a2869308ff3435aa1c66fd33034c0237abeababe1"},{"version":"1beb3dd4e06334a36673fbdf6df977bb28d28134285a21da8584cef98b0e7c46","signature":"1f03749fcec8cba452cffab3b318b2bde43ae572704f238a8d8f8ae059d3b86a"},{"version":"5a2cdf6adeec348bbc876221be4367e8adff0bb78a5680ebd7d71e5c3bad6cc0","impliedFormat":99},{"version":"e004826eac62081f867c66dabd92d3ef7d126d93a70430a2c88429228c3ecc50","impliedFormat":99},{"version":"38d6857b58d2ac42442e396311c542062d4f0dad40f2adb496dd5fd0756ee400","impliedFormat":99},{"version":"34b7d1e2d15845cf08bcf5e3c01adbb92cea1ec27564ee249ba486cdfb28526c","impliedFormat":99},{"version":"f13cc653015347688208b6a2817d6a024cae82cea1b2be422061ae1fb40e86a3","signature":"9d34eaf37fb26f7e3b5d52527e1cb097956ecec3deece2590b99f360ab4428a7"},{"version":"cc319ff8f06a331d4b359aa39f43dc18f8d4402f1f3c446b22a197389c4067a6","signature":"a6d8aa22b2e3abe3192321c687b18ff88b15d42a8c3165a2ceef83a58045e9dd"},{"version":"3c27fb3f66fa5c3798c663843ad30a16957d6cf39d4c4ee8c154dc03b777bd80","signature":"ad4ff92dbea4696533340e64c444a2c6d93c4cc8f12fe2c7017af7d0eb8d2dba"},{"version":"0c50f7da7e287df66e69485e4e5b56c4a0fb9f8730571541873377e7ed45a2c8","signature":"987de9b3dd9352f138928040bd0776e179cdf67c235a18bd54580bc4163a2999"},{"version":"ae5f21d33e9cece1850a7223c30edff9bd2b842b05492b4d1f5c74891683186a","signature":"1bc767c3ecaad8c2a205ad502ee7c4f20cffc11447fadbd4ab3f573481073582"},{"version":"f45fce4f354b6059351eaea503203fe2661457390b5c443d299c90a690122d9e","signature":"cf836e95cd5f7ff40aece41f706a0b25b70f4d6ed2d4b82a65f01a41c6e19745"},{"version":"721652119aa07fa7df69fec15bb05e7818c69f4798e424b2a444889f482d5118","signature":"c4b089b69cbaadfddd82db7f25dbb73ba7125d4d401edf45e1aaa9262747a529"},{"version":"31f74c987ac1c8dd1bd2a84a270623b054c1fc4ce81a30eb788ce3d579d95e40","signature":"58a5ec371db12fd72d7b69a8c237fc87c5a131763b45d262a3d191c5d1356d6d"},{"version":"7efed9d38ce35662483150baaecb0eb98e400391ada29a436626063a3cd09be5","signature":"56e3f4727284e65c0f755411270bbf10da22e3fe5529baed216b93557b41276a"},{"version":"b3247c06acbd296275f69ae7aaa4572cfc9228e70de48b19ceb4584247fe05c8","signature":"a6a5dd455139bdffd774acbcf9371280adccee55dc5dd44c7eec8e5a5ac9325d"},{"version":"51f6e8d0a5eebaaa7def77974f1330d53eb3e98f08b77840c1a4f5a94c008697","signature":"2abf126b8a0429351ec7cb3bd61efd7f4966a31641a2bef1339b78de215479ef"},{"version":"2cb5bcfcddafa73663cc7a0b9d07913ff00864af96cdf56ce809d55f80a1753b","signature":"f543efc561c3e8efe2d9061153ffc4a5881bbd1727d13e2eb8f3afd8f61a023c"},{"version":"8605ab3907c8332a03b0fb2bb8ecb8259321c15adf6ec70b4032b85d771cf2f3","signature":"06ae795b9ca99a2466c46639c2ab809198e6c67d400165f05424a012b1bb817f"},{"version":"0b596ac641129a560bec8f495f52adda3c82d92b1a115434a46e9c48080c9157","signature":"19485a0daffc617967e78d145ebf48193c8b2e01162a202afb02bc4cde9547b3"},{"version":"393217dd0d9559eaec6303131eacb34df82e55bb8138da849896a108dc85151a","signature":"ae87e1a0808918428d178413d816d7f69601cfea56e1aefe5df126176b88acad"},{"version":"6515c88b44047c95ee046a13f74332deb2e8568f97aa6854d5d4a785ad05b84e","signature":"5c8ec59cb71599e087a7fcbaf12539416b7af4d15c03206bd11d2e71e90cc116"},{"version":"2b25605d3b717aec5daafbf2032723fda8ab4359aed0cb6e1585028b60b3f708","signature":"f933885da7325a481c30a3055b4714b140a56435fe9400badb8047bddfa28c7b"},{"version":"921a3cebbf89a24feeca9c194e89aab4fe3d19308ce4c13dad9efe3182df4459","signature":"71eb911c1b03e983febd3ea43633faa410d2b20fd7e5e4afdc8bb973774e3b57"},{"version":"fe8e1bbc9fde27b6d56cad4808f00c9eaa9da2b59da39e50f1c5aae4a36d7117","signature":"91b73eed0f65ab831bc3c550d525e831576ef514da6fb5a4d294e0e4cb86a0dd"},{"version":"bb23c7b441db38d447145cda42a252dd88d0ac4113dc27e43a3a7db35524bda9","signature":"c4e6581c0c2bf8d017173140969f491108dcd5784f12ddf140da8b0daf20ac83"},{"version":"e7c2f40dc99121500ad108a4f86541d29cac105ed018f994c7c5a2836e77b257","impliedFormat":1},{"version":"90e930283286ab117ab89f00589cf89ab5e9992bc57e79f303b36ee14649bdd9","impliedFormat":1},{"version":"6d48a6c907c668a6d6eda66acec4242e367c983e073100e35c1e234c424ad1a4","impliedFormat":1},{"version":"68a0e898d6c39160f1326ef922508914498c7a2d0b5a0d9222b7928d343214eb","impliedFormat":1},{"version":"69d96a8522b301a9e923ac4e42dd37fc942763740b183dffa3d51aca87f978d5","impliedFormat":1},{"version":"ff2fadad64868f1542a69edeadf5c5519e9c89e33bec267605298f8d172417c7","impliedFormat":1},{"version":"2866ae69517d6605a28d0c8d5dff4f15a0b876eeb8e5a1cbc51631d9c6793d3f","impliedFormat":1},{"version":"f8c4434aa8cbd4ede2a75cbc5532b6a12c9cac67c3095ed907e54f3f89d2e628","impliedFormat":1},{"version":"0b8adc0ae60a47acf65575952eee568b3d497f9975e3162f408052a99e65f488","impliedFormat":1},{"version":"ede9879d22f7ce68a8c99e455acab32fc45091c6eed9625549742b03e1f1ac1a","impliedFormat":1},{"version":"0e8c007c6e404da951c3d98a489ac0a3e9b6567648b997c03445ac69d7938c1c","impliedFormat":1},{"version":"f2a4866bed198a7c804b58ee39efe74c66ecdcf2dfebef0b9895d534a50790c4","impliedFormat":1},{"version":"ad72538d0c5e417ee6621e1b54691c274bcacaa1807c9895c5fa6d40b45fb631","impliedFormat":1},{"version":"4f851c59f3112702f6178e76204f839e3156daa98b5b7d7e3fc407a6c5764118","impliedFormat":1},{"version":"57511f723968d2f41dd2d55b9fbc5d0f3107af4e4227db0fb357c904bd34e690","impliedFormat":1},{"version":"9585df69c074d82dda33eadd6e5dccd164659f59b09bd5a0d25874770cf6042d","impliedFormat":1},{"version":"f6f6ce3e3718c2e7592e09d91c43b44318d47bca8ee353426252c694127f2dcb","impliedFormat":1},{"version":"4f70076586b8e194ef3d1b9679d626a9a61d449ba7e91dfc73cbe3904b538aa0","impliedFormat":1},{"version":"6d5838c172ff503ef37765b86019b80e3abe370105b2e1c4510d6098b0e84414","impliedFormat":1},{"version":"1876dac2baa902e2b7ebed5e03b95f338192dc03a6e4b0731733d675ba4048f3","impliedFormat":1},{"version":"8086407dd2a53ce700125037abf419bddcce43c14b3cf5ea3ac1ebded5cad011","impliedFormat":1},{"version":"c2501eb4c4e05c2d4de551a4bace9c28d06a0d89b228443f69eb3d7f9049fbd6","impliedFormat":1},{"version":"1829f790849d54ea3d736c61fdefd3237bede9c5784f4c15dfdafb7e0a9b8f63","impliedFormat":1},{"version":"5392feeda1bf0a1cc755f7339ea486b7a4d0d019774da8057ddc85347359ed63","impliedFormat":1},{"version":"c998117afca3af8432598c7e8d530d8376d0ca4871a34137db8caa1e94d94818","impliedFormat":1},{"version":"4e465f7e9a161a5a5248a18af79dbfbf06e8e1255bfdc8f63ab15475a2ba48bd","impliedFormat":1},{"version":"e0353c5070349846fe9835d782a8ce338d6d4172c603d14a6b364d6354957a4e","impliedFormat":1},{"version":"323133630008263f857a6d8350e36fb7f6e8d221ec0a425b075c20290570c020","impliedFormat":1},{"version":"c04e691d64b97e264ca4d000c287a53f2a75527556962cdbe3e8e2b301dac906","impliedFormat":1},{"version":"3733dba5107de9152f98da9bcb21bf6c91ac385f3b22f30ed08d0dc5e74c966f","impliedFormat":1},{"version":"d3ec922ddd9677696ee0552f10e95c4e59f85bb8c93fd76cd41b2dd93988ff39","impliedFormat":1},{"version":"0492c0d35e05c0fdd638980e02f3a7cdec18b311959fc730d85ed7e1d4ff38a7","impliedFormat":1},{"version":"c7122ba860d3497fa04a112d424ee88b50c482360042972bcf0917c5b82f4484","impliedFormat":1},{"version":"838f52090a0d39dce3c42e0ccb0db8db250c712c1fa2cd36799910c8f8a7f7bf","impliedFormat":1},{"version":"116ec624095373939de9edb03619916226f5e5b6e93cd761c4bda4efecb104fc","impliedFormat":1},{"version":"8e6b8259bfd8c8c3d6ed79349b7f2f69476d255aede2cd6c0acb0869ad8c6fdd","impliedFormat":1},{"version":"02b6d443cd64d2a7e8dba0f1d59944e55e91a16b21a7d7d4fb5a81724c832dc4","signature":"e66fec1c73ea068e8541b003c79af072b1b18910017d07c47ad151a438c709c1"},{"version":"a1cc7006ac0ac2dd2748f5b4a07092a330d175b16adbcd49c0eed365e9b4575f","signature":"6521410466cd5930d8f9db814cebdf1094def90f68293a3b330296a35ff2c1f6"},{"version":"d3984cd8c4d6cdf73a81ea0891dae87ae6a01c1895fd68df0b6d740006acb9d6","signature":"0ac76f72a94a13f3081c41c43b58679492c219ccada653f40801a89fcd5e9d04"},{"version":"64a1df79fbba93c3a1642f66057608a3d7e2fd24ba015b260f7014ddde542908","signature":"feb053fdd4dce7ad7c1ba7791bb6f65fb66d38bb9c1f0543012dab8f663e88b4"},{"version":"9b47bc8dd5a4d6b7f03a22a9ff4f46883813ae93554718511b93888e39ee58d2","signature":"32937206cdaee2551a23ce603292dd67e9606a27fc71a984eab852fbea3b9ad2"},{"version":"f748a5c971c789d58810273b596542811e7e49eea7a42b7fa3c42829dbf62a58","signature":"4dd7e1bfc2c138b564a1ff5bddcae96f4cefd39724115166bdbe071cd00b3cb6"},{"version":"c4528c70ebf1acf226f198422561ad4348ac9e35a8990b1fd15e17ad9268d60b","signature":"71f762a4ed63ccdd8a60c9930b445ab8e81bdf4b9919c5b94761511cd866f447"},{"version":"d6d3f9395cfd6f2ed3c9eaf572f882a03a1fecfc1e13acc4519df67833342bd5","signature":"5c597452991cbc579454bf8e1c5f549816d79f80ddd3514b52fbb26cc1cdeced"},{"version":"7c6ce84284a608e8ca9b7636cb5da89481d8c945d03ba511da6a2fd56bcdf78c","signature":"c169279b909f77b0c7b26ce990b20c6719869fd76be6f95f4eadf4f3befda363"},{"version":"83e1bfa7986a958fd6e069fc5df9dec6aa1e63f3dd81ddae889c19edf3a6c450","signature":"6efc188b6e1596f593cdcb356be53ede31fa87f972e5d2adc9377fa511e2685e"},{"version":"c463facc7d18f4c36823714a285903d1123cc38a9dc91a5d099c64145432f75c","signature":"2150afbdeb24336371088cf931c6081d224326f5c57580ee0b36925d1569ad5c"},{"version":"dc916450a7fe9f02ea4f2b015b836fb7d3e6291e59c93b47f711623ec4c62fe4","signature":"1609615e284b1a86bbaebd997d03c23cbe145012ba3b3d4376aa8a43a701e4e3"},{"version":"02a313eaacd1d0d97e7e1605737ac03e732648ba6d92fbf2c24716c1349c30bb","signature":"e42b8c3731c42dd2bdacdcbd0b7639df957c3f9b5fdc1edabac4a5e63772a4b2"},{"version":"af2d7b90a50168850a399d83b4e9afdc302a1025148194e2e94e1a31060b93c6","signature":"9836be02a489f0fb61392d0e3fe4127c72f079fcde9e9fed4c282bb070832fb6"},{"version":"9e06917a1e0918bc34f5e3cfc014c05c7cfdad0c98997d7047b4e7542aee1861","signature":"7ec35ece4650c0072c49cc2ed9a73660bdcc5ee7a8f4f8fb7db92672d3f72843"},{"version":"086d9066a9edc176d4baeb61d0075de9353ee4695c94ecfae51f293be8fefab9","signature":"90c1986dad477ad10a8330aeb2b86a0695d484a12a6f3d6507147e07791b1476"},{"version":"94fe52c96742b25429d30bc54d7ab2a2324f37025cbea99f819a77ec87bb1772","signature":"d570651c0a2c5e78e74c52a792b94ccc2cc9b2b927bfb3a5419acc0150942695"},{"version":"1897adbce3874a07180bb47daf0e8ebedd6d1793819143c63cbce290ca2ec80e","signature":"aaf435d6dc58d0a18a54421b3a622efedf9a7a996d8f75a06354219d91707650"},{"version":"68fe3c692ad2824bc811643cd5e239d872cba48006000dfe185146ad106066b3","signature":"0342e61cdf2eadde061c53e1c6fc7907ad69390beddb2aa50e656dc2a45a632b"},{"version":"b15c4ee8a756cf303d0efc482e861876a2e90b194c7cc393a8acbe7080fb186f","signature":"4a1ee69e5477f0d725306d7c9281d127f43ec0b40a23689a1a27b9430f030177"},{"version":"f6a08a8d8fa7acf45c3ba85e864da549befc88abeca247da5b6732a82685bf45","signature":"afc9b47eb28f4775396aacf528a98d207e4714ed7600c47bd33d01d4d6d3852b"},{"version":"bb0365d741d36b7f82832dbcf1b2e0025b6638516fda9ba3061d7d41f7f073c2","signature":"1e5e485956159fcc1eee2c73dcba5186c0a66f780ad21ec3760cd35a723930ca"},{"version":"431206d65e5858f0534c8be80eb4081627924a9d1cdd853982a3a4d811999681","signature":"e4b7681fdfe65ce81bcf251c1bcdd71b93740fde81479a2e3531a23fd347d951"},{"version":"7b5bae142db908800ba59fb353d7274e1f1ef0eb46074f1675af3ee77c4d789d","signature":"a4b716d6fb7e2bc0cde7e9e02904a13247381b91faaf9092fd6c60e2b96c2d48"},{"version":"058aa6a9383796a202fdc9eb0c5eac4cce8a19ba60bd8b551091beee197fe25d","signature":"b067ed3257c3d808d867d834eb5c1688ce5984ce6377ce6213f7fbea90bd6b58"},{"version":"c837dc2de1fef03dadb1fbe3ae46565ab80cbeea60c057acd5bf1e1d8df1b509","signature":"b4ffb98ee6415d12844fda388c4ca6ef430f4e4217d9ea7a139c252576a464cc"},{"version":"e6c4a6a15416b28fac47309cf33fe8040115a2849ccd012bd098efa4ec4ce9ef","signature":"f3afc6db2c2172dfa631f271d2bc28e8dfddcb2807285ebd2ff547fb786e49bb"},{"version":"283ec3ae2b171cd28e6778d2bdba3f8b055e818dac238b8a2d27403c551974d2","signature":"b8eb376386840de0303ba01f15f27e04407fd37199eccff44e6f51ff9410bba3"},{"version":"a76cce81c55f02fa760f7b994c9aca6f3878e566f2bc8dfc8ecb79950d04f354","signature":"26b17216456cfb72ed066ba09342f94a61d6ea42ad25b2f2f00285c728be628a"},{"version":"e0340f2e710b3caf03d7435335ed6441df684f5f416b3008077280a53bc0d195","signature":"043d0bf84c084c637ced77530bd97faa0aa3a8e01e2915aa8cc2129f79d9cedb"},{"version":"92c285578eeb816b54f7042a5447e57b676d60becce977c9d4105b6565b1977b","signature":"5ff40a8d87e993b7d9798cfd183cad9e5cc58f9e4334ce2b76f69ef9294744d0"},{"version":"04780775bbde0064d8134ab5c1f40f2a0cc6e8fb4d3bc8e8e2ac961c05bda871","signature":"67482fe9e7bd39253e8d5941a55853096f50f68bdec5501585bd5191d7428776"},{"version":"c32feab5e5456978529c9eb1c2d8b56a04d9074f2f43e757edf680e132d37d00","signature":"ea673b0a7771824aa72008f0f86c71b712e5355684f05f24f8c387accd03f14b"},{"version":"be7bd88676ebb10c83d7fe1378c26122200f68085ea06524a4f0f8c66831b348","signature":"fdd9cbb46caa8f1ba8359945e433ad1f2b954b1496a933f3eb4d29c8ae3deac9"},{"version":"e111d7709868c64a5ec40c93a0831eff084f5f3747bb50300878504738e28c19","signature":"8ac220f8baeacc2d3ee8abf3398308e10ea42de2e146be47ccb866ceb017a397"},{"version":"be072d8f770e47c11f6ae1b77999dd40b0c32d7f710b8c2685a7725daeea9d19","signature":"e367993516c9f05fa87238bc5b53220f06b7f84b72629958930e2a7a37436c24"},{"version":"4d6792c606bdd2a9b2cddc4d24923ccc18f7f438cafa31e0e21285e97c58421f","signature":"2d8f81759b547e64f1b0e290fd4b0ac7316dc9c3e96f5ca93db1a1c790ec6038"},{"version":"b8b666a3d41df3b7cf4066283f67e72bc5e8e04ff4414695eb972ba7561ce133","signature":"171b8eafff7d0d126a6df4cb220dfdf7ae67c7c6687fbdc02bf4b791bca40091"},{"version":"d4e9258acb020b007d2a76f0d9870d5d10f0a2d6bc8d24bcaa0f65931892b736","signature":"345eb0a009f9b07377ff2e8bcbd390da1648e549914b3bd027bd6b4987f92481"},{"version":"5c6414ad5cfa0b67f6ba8076a39efddd48c14bb8f0977ca8fe6074f9daa30cd2","signature":"45d9cbfd0c8344e6e4d4ea90545eb730d0c62360cbf17cbb1102906725a6eb3a"},{"version":"93c88804801702c2ebf4d7e282ff71d90f118253ee206e7f0ba03305cc581546","signature":"0a7f51c3fb4b7c9a30745a92c15a4cb4eb88aa3ea69dec8f6286491fdfb99dab"},{"version":"447809300abe6967b66fe4226b18bcd8513258b0139a8fd1ac516767bc510372","signature":"6d31cb09b5e87e0588c937c73aff7673a15865e355903fe16ac3bdcb3d2894d6"},{"version":"d689a82dec12ec02e1c558870a50f71000e06f173151fcdff0458c587dbf016f","impliedFormat":99},{"version":"e58c0b5226aff07b63be6ac6e1bec9d55bc3d2bda3b11b9b68cccea8c24ae839","affectsGlobalScope":true,"impliedFormat":99},{"version":"5a88655bf852c8cc007d6bc874ab61d1d63fba97063020458177173c454e9b4a","impliedFormat":99},{"version":"7e4dfae2da12ec71ffd9f55f4641a6e05610ce0d6784838659490e259e4eb13c","impliedFormat":99},{"version":"c30a41267fc04c6518b17e55dcb2b810f267af4314b0b6d7df1c33a76ce1b330","impliedFormat":1},{"version":"72422d0bac4076912385d0c10911b82e4694fc106e2d70added091f88f0824ba","impliedFormat":1},{"version":"da251b82c25bee1d93f9fd80c5a61d945da4f708ca21285541d7aff83ecb8200","impliedFormat":1},{"version":"64db14db2bf37ac089766fdb3c7e1160fabc10e9929bc2deeede7237e4419fc8","impliedFormat":1},{"version":"98b94085c9f78eba36d3d2314affe973e8994f99864b8708122750788825c771","impliedFormat":1},{"version":"c371ea3efec17691f019bca670c161bee2f4787b1f464bdbbb10c4117bf0a55d","impliedFormat":99},{"version":"309ebd217636d68cf8784cbc3272c16fb94fb8e969e18b6fe88c35200340aef1","impliedFormat":1},{"version":"91cf9887208be8641244827c18e620166edf7e1c53114930b54eaeaab588a5be","impliedFormat":1},{"version":"ef9b6279acc69002a779d0172916ef22e8be5de2d2469ff2f4bb019a21e89de2","impliedFormat":1},{"version":"71623b889c23a332292c85f9bf41469c3f2efa47f81f12c73e14edbcffa270d3","affectsGlobalScope":true,"impliedFormat":1},{"version":"88863d76039cc550f8b7688a213dd051ae80d94a883eb99389d6bc4ce21c8688","impliedFormat":1},{"version":"e9ce511dae7201b833936d13618dff01815a9db2e6c2cc28646e21520c452d6c","impliedFormat":1},{"version":"243649afb10d950e7e83ee4d53bd2fbd615bb579a74cf6c1ce10e64402cdf9bb","impliedFormat":1},{"version":"35575179030368798cbcd50da928a275234445c9a0df32d4a2c694b2b3d20439","impliedFormat":1},{"version":"c939cb12cb000b4ec9c3eca3fe7dee1fe373ccb801237631d9252bad10206d61","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"26384fb401f582cae1234213c3dc75fdc80e3d728a0a1c55b405be8a0c6dddbe","impliedFormat":1},{"version":"26384fb401f582cae1234213c3dc75fdc80e3d728a0a1c55b405be8a0c6dddbe","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"26384fb401f582cae1234213c3dc75fdc80e3d728a0a1c55b405be8a0c6dddbe","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"03268b4d02371bdf514f513797ed3c9eb0840b0724ff6778bda0ef74c35273be","impliedFormat":1},{"version":"3511847babb822e10715a18348d1cbb0dae73c4e4c0a1bcf7cbc12771b310d45","impliedFormat":1},{"version":"80e653fbbec818eecfe95d182dc65a1d107b343d970159a71922ac4491caa0af","impliedFormat":1},{"version":"53f00dc83ccceb8fad22eb3aade64e4bcdb082115f230c8ba3d40f79c835c30e","impliedFormat":1},{"version":"35475931e8b55c4d33bfe3abc79f5673924a0bd4224c7c6108a4e08f3521643c","impliedFormat":1},{"version":"9078205849121a5d37a642949d687565498da922508eacb0e5a0c3de427f0ae5","impliedFormat":1},{"version":"e8f8f095f137e96dc64b56e59556c02f3c31db4b354801d6ae3b90dceae60240","impliedFormat":1},{"version":"451abef2a26cebb6f54236e68de3c33691e3b47b548fd4c8fa05fd84ab2238ff","impliedFormat":1},{"version":"6042774c61ece4ba77b3bf375f15942eb054675b7957882a00c22c0e4fe5865c","impliedFormat":1},{"version":"41f185713d78f7af0253a339927dc04b485f46210d6bc0691cf908e3e8ded2a1","impliedFormat":1},{"version":"23ee410c645f68bd99717527de1586e3eb826f166d654b74250ad92b27311fde","impliedFormat":1},{"version":"ffc3e1064146c1cafda1b0686ae9679ba1fb706b2f415e057be01614bf918dba","impliedFormat":1},{"version":"995869b1ddf66bbcfdb417f7446f610198dcce3280a0ae5c8b332ed985c01855","impliedFormat":1},{"version":"58d65a2803c3b6629b0e18c8bf1bc883a686fcf0333230dd0151ab6e85b74307","impliedFormat":1},{"version":"e818471014c77c103330aee11f00a7a00b37b35500b53ea6f337aefacd6174c9","impliedFormat":1},{"version":"dca963a986285211cfa75b9bb57914538de29585d34217d03b538e6473ac4c44","impliedFormat":1},{"version":"d8bc0c5487582c6d887c32c92d8b4ffb23310146fcb1d82adf4b15c77f57c4ac","impliedFormat":1},{"version":"8cb31102790372bebfd78dd56d6752913b0f3e2cefbeb08375acd9f5ba737155","impliedFormat":1},{"version":"bb9b5a18147a0f927e0fffe91515a39610e2477b0d8a0d0b391c283013e0bfac","signature":"d373335450e0c74b3455541e03c0ff8fef26b51201c49ef145a0afb217a9f026"},{"version":"4bc5159b0bb1e303f1b662d485b7f9dcfaf785a29f8cd101ea85817fdb3a518e","signature":"70cdd1bdaa655ea305231ef8f3d9f830459ae85cad5a2395b70b4caa2d81abe0"},{"version":"25bb698c825c728521550bae3d4d8777520fea078d96529db79d3901278e084f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"d7382f620923bf13382b5aa1ed1d439617c8f6c916c1d7a645a6f5005dcddf8e","signature":"32159b615fba8ba0c76d071b40e35822660f8317b107f16b5d40ce3a8d6a5bbd"},{"version":"6fbedb59be020e7d349de8a1ffe8aaa52d16c78f9aea437249f14782b290aee9","signature":"eba9ab6bd63d7d7bc2a05d255e9d56cb7321477c3ec92364db4cdfb12873e8b7"},{"version":"1318f5ed0496352fb48c4c03ed01567db651e1794260df1b2da1e146a1aefab7","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"fcbc73a398e35777c583049d7a6315455a1c340d06a7ba06fd65a08a998576a3","signature":"bb33db3843913e4d9bba12a3c10ed9c8bb77a67266905cfd9e0afeb093e715fd"},{"version":"ea963ab39dbed68f0cbfe8f7bebb09e3b9a98badb38164903aeda102ca62fe84","signature":"5b200f49d9a764a71d520c78d45962405cc5ccc514dd4174bc0d0161ac102be3"},{"version":"70ac7fbe8555de02f7cb0fe42f479173ddb89a737908c560014d733348422046","signature":"d9b4f0fd652a60e8727bf295164c2d0a652cb6d79ac90e8b13c48d4230a47039"},{"version":"656ebe6a1e35fb1e45ace5b3d8975099fa82a7a42542c09ee1e1e975b4951722","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c4f3d9c6228f744351b3f3d6ac2593edba9e7cf0a965cc6ccb1805595f44f275","signature":"96dacaf48c43f86fe63578c47b008b14f31ea3b26ba6604869be23386548a0af"},{"version":"ce80305706eb0c25efc5028968e9b4c6118a68c8987532ec9df246a8e7ecf993","signature":"b95e4b7b3523b6989a5d11cfd8722d821d0dae59e5016cc2fa69c6c3e7507a9d"},{"version":"256ac94c8da7010cbaacfb3e0f55cab2ce49beb7f21309659ab1e5c44b66cba3","signature":"4932a57ec8dc885c99967df2c08c4be4dcde303de1727465afc901bb526c9dce"},{"version":"054c188a756ddb383e1ccb176c09ab7f0894d89fdb9ed00f102af2a9f7ac0e3c","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"45d8c8b72f837a46ca63ef01ea3f4244112587c0abac142367982f443e31ea7d","signature":"eb8463d6df0ca2c38399823f1e38ff66180aaefb12e5b403155c2abe1eda8b5a"},{"version":"964e363030719b2e66f7eb64663b22f039bc64985dd1e75eae362e378608ad32","signature":"52b37759b4c21b0266e113f72e72db24ca11859fca9beaae88ac286fa508c5eb"},{"version":"2aca0bc14bc6a0e2ce70f410e002eb4aec77e7622afd0e40200a2d6c36542db3","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"d21bdd834776d159085df8f067883d3437dacf6eab3d356f7c3bb2bce9a9c98d","signature":"114811397c9ad0f10abb90a439425e93671eb3698dc832ceeb9147bfc4848dbb"},{"version":"e541c3824271bf8af94ce64854e33b2434f4f619a75bbf7c9051b746d2c5b2a2","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c7fe6433c779a7bce07b3c90d85dbd397326047eb839680cb426b97d15b1af91","signature":"8ffce94f2622151e417ce42edf509f0890eaf9268f878c698e05d0bbe3df3159"},{"version":"4edd723b64a3e617fd8ffc3bbc1fcf757ea9e1eb9132d9d77525807656426e4b","signature":"e3008ee79ee2ba6a0429610bb13c26500740fb1d8f38185478d354aa43a6b69a"},{"version":"fcf8bb50230d3b1973034c5f3d43b32ae889757e96c8f1bc574e4e229cac3855","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"2ade88925e99f1feff0c33e971814e734e05f6f9e32c2fb7c6260247635417ac","signature":"06ca53e7c778e43262f44194db43a44dae84e02e9d9ae674f74a4039f043a39a"},{"version":"a5110f54ba5e9c7c7fdc029cd20e65f35a9ddab6830394949279d03f4baaa112","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"e08859a0433654484c23ea7d2447e7da43768e228643cde336290e80359be015","impliedFormat":99},{"version":"427d5d08714a73f909d965ace2642ea9819e49245620483d47acb73b4eb922cf","impliedFormat":99},{"version":"242e53307a5705e9235ca1be47168a4c3155ea674e80f5a13f94d7938c23bb5d","impliedFormat":99},{"version":"2e0b9c5b9659b03cf5a40b73ebfe3b0c8de950f06308a61502a2722e2f418c18","signature":"b8ceda97cfbcc009561ba63ca8e39df0dcab8ad77f6bb03d001f12d0f5174f03"},{"version":"8ffa57b994af8cee7411cd7bfec0409118909a2a897b417d5ba378025b9b8eb3","signature":"66d21fb03c05d9e19a9e6328311f0e929ca450163fe3ad5a1f19b3e0563710df"},{"version":"50fdd772b1313709b583dd32561b52331a43b53d7aae0d6f3630a85d4871ad13","signature":"174bc764b129d29f04b385c4a68b521e7bd2fd2d24aa5ac4c181d64897cf320b"},{"version":"179f0303099722db250eb13fcd19349ee2fb24f33bf524e43d88f94a8a82aa95","signature":"ecafe4a932a8e5bfeddc96a105d087aa44557a08844ae73f4b6c1d56d8c0378e"},{"version":"80efb9a44eed9b0287c7811fa3b4418dd9a75a3c8c9d55bcd30ffbe3d72d8211","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"72d3fd192ffa0901a97fa17655ae18a1a4af3479f66348b17bfcafc42678e06a","signature":"56817bdce623f8966eaff68685507da7f8895e2efb22004537c7be0ff166ee42"},{"version":"849d186951b6fe08777eb595e7b5423a933404a59b255b15b3ef91eaa9e03e2b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"398322573c9e0ba2826eaea162b97f4987dd00caaa4dc29df93d7dccaff40c2f","signature":"dc1df284b2ecb2adb8124f0411490cbb6adc27d6b3f783cb98e4de022894c67c"},{"version":"0e614492dab5ee5f4418895293386b642203c8f1a3a9d14a8eca94a906c91c04","signature":"1ce004dab6fc4c13fe2a946bf541afc29f77e4b6d197bd7e078c216bf331c288"},{"version":"f22a38020548019be436f7d33fae243aecf68c9e068dd7fb5d88ec31fcfce2c5","signature":"990a86a4c51ffd7c3c146bc5b5e4f2a6eb31f8a08186da00d699ec62be38d14c"},{"version":"07a57ea6e42f784f7664053d917baf68d010a79f0df1fdb8fba87a6af92ddd7b","signature":"e57424bb8ca9fcb02c7b73c295bff56d7889e92610490ef4dbcf83dcf5006809"},{"version":"ba3f0e6512b7afdac714ac775b22777273fe0dd98096e1d1a7fa2f9aae83cec2","signature":"7546aea101d084a3039eec017b4629ef261e36c012a024daeb0f8170d86d192f"},{"version":"18f204ccd73154b6afaeb5c1672609aeaac9592c85183e75cf590a4bd70575e1","signature":"4b23394a9dda4737bec117daa9748cb9868e5be402b010881029c58b639c48b6"},{"version":"ed9e84f54b39f81bdc4e0520812489f40ea453de7a51d380a15b14d7bf02e683","signature":"e6cceaf655d91958114f0707a4d6c800cfd0d72ea8673f4f0face6b049c90ec3"},{"version":"9f2145479716604449381a636127459790f9e428a5c526cd0795223bb66dd9b3","signature":"d86c8b7a6c6edbeb6a14c73aad61eec9d13cec0040264ef13c78a8c2f7ecbf43"},{"version":"fa32219cc14042734452368d122b82bae2849be88d8941c5b363e3c47c9b651a","signature":"7c56fc0ecedef369430a6cc78f797e1f72ac6aa30cf3861bea222fc9efe93d49"},{"version":"f52646c7394ab792adfca993338d590f7d9030ae3269526d5dede9b131247717","signature":"d1d2efd128275df07279bf887018192c1b38c0cc2aea96243de78a8e92bc30ad"},{"version":"b1ffda5abe3874eaf7ee7e57cefd4c4ed1e85e00932b5da6847cbe0e22c7eedc","signature":"29afa7f4d2f64a222d590227109f01361ddb9c6588355096f6aaa036b9d67d05"},{"version":"0cdab5351929ad0e2d94ecea2b8d60d11fcdb153ff2355ab9c5109e84a697ddb","signature":"91537516c066b5bda3446b1dbd01a6b3ff342925cde014d5acb7b6f8b99ed12c"},{"version":"0172224d148517f7cf90527aa73f03cb436b3fe7f06ac70c039d6886b8f9dfdf","signature":"d01168279f1f9a417a578d3768c58eb5170a5b3445e7b2dedf880dbf0d1fe873"},{"version":"a6d5aa9d1ace7ec2a992729d02341737fc267a9d2d7f1467313bd170e4b26b15","signature":"a65ecfa05330aaeae23d23b899f0bd37c34e42fa5083d180b4a0bff3dc3ae25e"},{"version":"831b967c1911010eb3adbfe96d76340dce858803d80310236352a7b52de799c2","signature":"76d26c617c0a9f48d4e21938e684ae22166d2d3604d00cafab5212b0e15b57fc"},{"version":"d09b5dbb314f199a0d7ae3c2c2a9c7258b611f3f28d1cc83c2685d3c738aec3e","signature":"068d0597a17af822c2ec3af9b1c2a9b9a26c0a4387eb66f655a0f1d26e36ba84"},{"version":"35164c8ef06e7c366f6f45f993da6e0df0f7c2cc93e78198c199bec111da8fa4","signature":"942546eaf5ae2d0c5948c6d25a748fba25b6f4d760911ed595b40f043fbae102"},{"version":"ea484c456f3f9236d0b324d2c6563f6e77571c9414768590248a016b2e248a3a","signature":"65bb767048368601ad35597c54f6b112e3147dc84fc338199931af5d57b8fe95"},{"version":"1ac040d4f47be4c1b44b4a521c7bc1264c97371b3c51bc2170326827fc8a5406","signature":"dd24f7d41609a7eb1c990ec2f7d7cdd63a419e355e6294050a67c029bdad0d78"},{"version":"f3d7aece0ac20c6911c50aa54b50c1ae6768a8793a72412d346aab2b66b4a7f7","signature":"ab04dac1f806941027328926be16232e21366ff829c3be737572abc646b0ff3e"},{"version":"6a282a4b745d9ac9d04d759b34b9e51124a950ba33d83a1408f76742cab5d8a7","signature":"519c584866e4d804355422ce52d8088fda0124969a9668779f10b0d50e114153"},{"version":"3cef134032da5e1bfabba59a03a58d91ed59f302235034279bb25a5a5b65ca62","affectsGlobalScope":true,"impliedFormat":1},{"version":"6c05d0fcee91437571513c404e62396ee798ff37a2d8bef2104accdc79deb9c0","impliedFormat":1},{"version":"373cf226ee7ddf9535231d4ea2c24d47e4262372e1c075aee7b48e0d2d38e759","signature":"3a700951382c62ca71c0a4fb951071e1a2692a3ddfc899ba0145c275ff12a006"},{"version":"e91484fa999daf133fc988973a12652f1f59f4e1e4e440e5f5e7aba9dc419e54","signature":"7cf5ac50b3def9f8df750c1e7ea9a102216484b4bba94f9e0bf68458bc77eacd"},{"version":"2d4b53789aab997f99121021686c05f5f54aae58fbb0525243fdd322c80d612d","signature":"5c975df906b720e560dc80cf99f12cb2763329a0d5c42ffe3039256137dc3a70"},{"version":"e43472b89b27f89f28fcb57260e48230b95baff6fa6c489c5710115cfa6c9506","signature":"2f9e549adb20bf7d44ab18efcdb5e7dab6bdf423d310f3df05e5ac78e3828990"},{"version":"91d7a64938101c27f0f5493074dd0ebc4f82ed6d58c42c8d148235de3f8978ed","signature":"b4698bce6f7a4a17593cff994a72d565662855439386bcfabf5f0335ea8d4be1"},{"version":"d563b38c81c713a23b730e0e385c44442992d3b1dfad2424fd9c635e3eacf593","signature":"97ebafc9d89ce29d62958a732cda28a5cd408a1257cfcac0d253584fcc850e6d"},{"version":"6d4b59d8a599531b5bd5cef904c5f8832f062b79eac5298805b9aade268d66b8","signature":"97ea7a733867ec926cad347ae90178d3c3fb96a4fc076d2d2d41201e9a1bea75"},{"version":"fee8eb73b4397c9d3fc50904fb4d93947f32879251345c687761a5ac20a76314","signature":"4e69e7b65fb23298ec08b6e0cc86692fb6602df5473948f46baf219a07967697"},{"version":"0d922edfe50c6ffb2c16d49dcdd160dc468b0f93f69fcb021d6464db95664a21","signature":"aaa2dfcda87fdc4c24fc251d7d04070f379d25c631d2b130c846becc582e1b77"},{"version":"df3a3dc2616be7db489fe6a853faa1e52a83dfde06d2f3214994ee7ef81f18e4","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ae77d81a5541a8abb938a0efedf9ac4bea36fb3a24cc28cfa11c598863aba571","impliedFormat":1},{"version":"3cfb7c0c642b19fb75132154040bb7cd840f0002f9955b14154e69611b9b3f81","impliedFormat":1},{"version":"8387ec1601cf6b8948672537cf8d430431ba0d87b1f9537b4597c1ab8d3ade5b","impliedFormat":1},{"version":"d16f1c460b1ca9158e030fdf3641e1de11135e0c7169d3e8cf17cc4cc35d5e64","impliedFormat":1},{"version":"a934063af84f8117b8ce51851c1af2b76efe960aa4c7b48d0343a1b15c01aedf","impliedFormat":1},{"version":"e3c5ad476eb2fca8505aee5bdfdf9bf11760df5d0f9545db23f12a5c4d72a718","impliedFormat":1},{"version":"462bccdf75fcafc1ae8c30400c9425e1a4681db5d605d1a0edb4f990a54d8094","impliedFormat":1},{"version":"5923d8facbac6ecf7c84739a5c701a57af94a6f6648d6229a6c768cf28f0f8cb","impliedFormat":1},{"version":"d0570ce419fb38287e7b39c910b468becb5b2278cf33b1000a3d3e82a46ecae2","impliedFormat":1},{"version":"3aca7f4260dad9dcc0a0333654cb3cde6664d34a553ec06c953bce11151764d7","impliedFormat":1},{"version":"a0a6f0095f25f08a7129bc4d7cb8438039ec422dc341218d274e1e5131115988","impliedFormat":1},{"version":"b58f396fe4cfe5a0e4d594996bc8c1bfe25496fbc66cf169d41ac3c139418c77","impliedFormat":1},{"version":"45785e608b3d380c79e21957a6d1467e1206ac0281644e43e8ed6498808ace72","impliedFormat":1},{"version":"bece27602416508ba946868ad34d09997911016dbd6893fb884633017f74e2c5","impliedFormat":1},{"version":"2a90177ebaef25de89351de964c2c601ab54d6e3a157cba60d9cd3eaf5a5ee1a","impliedFormat":1},{"version":"82200e963d3c767976a5a9f41ecf8c65eca14a6b33dcbe00214fcbe959698c46","impliedFormat":1},{"version":"b4966c503c08bbd9e834037a8ab60e5f53c5fd1092e8873c4a1c344806acdab2","impliedFormat":1},{"version":"3d3208d0f061e4836dd5f144425781c172987c430f7eaee483fadaa3c5780f9f","impliedFormat":1},{"version":"34a8a5b4c21e7a6d07d3b6bce72371da300ec1aed58961067e13f1f4dc849712","impliedFormat":1},{"version":"6a534c594838029f9096b88db91c054e612ff951a57ed9d9efd92f19643a2753","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"6223f56cb79eac77e1211e76830da993ddcd9baea0dfe2d10a61a131d39f427a","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"20d8184cc9bf496dfd9415be762d5233809d005d149417d3c30a16084b0c3842","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"7f72a954c349bccf89e393e243763fb141257a54d6647e369c79beda371378f2","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c6b47f0ea0108d741abf731f728b357a8370c238ffe73fcee007619484c24356","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"882e8d0ba2abbb1b69de1964aa644932be0278f7ed640ddc904541ffda281fa8","signature":"f592c7e333a33b4e5dba58516b31a9ba2c3f5639c989fce88351556ba49606fc"},{"version":"316e4731cf6b5fa0f7200e020cc7264355bce4cd1c0a2556296dd7f4ba015b5c","signature":"e38a144b393c547e8f484fd4ee07f6790d350a3f1f1148211ba866434cda2648"},{"version":"214244e86df9709da19e41c83203eb228ab74388a8899c0cacdb856bcb9b2091","signature":"571d3448b7e5dbb700ec919745d70b84c0859909793935026a8331b7666d91ed"},{"version":"73f615ff0e9ff74f51982f4b09e85f2474c1e05a50a4c75f099061a3057094ba","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"aa4db26266d6f651c711350ddf671278179e6f59b28d3c390ae50a9b20a3aae4","signature":"921c81a312317ce376b3db64ec158a40d264b56c798653f7985b9361289d951a"},{"version":"1ed143c79abb9802467898783f02c4559dc9115c9e8abda0e447262df3acf9d3","signature":"03da542307af2869e7b2c1de8d1237d05b584cf0acf36c9d40f8e994f21adb2e"},"5f1ab4340b3a3f3d2c88167d0b98d1d8ae6c6d4b1ed845f25c3069d7d1b902d1",{"version":"62fdb9ea1d1284dc72bae3338d2a20c737814b30d30c9d0ce40aec4fcbd51746","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"cab9185002bd5ebd154b6106ff93ae480bb26be2bc14bbf19180ae690449af28","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"b6ce8cc18189aa155b9d4386c03e3547f48121a7e3f37b66ed9ad43190b20dd3","signature":"12dd7bcb0994252cc8b7a0155db5662ea1c3437584c67f010758f962b023797c"},{"version":"81aa2ba3522bc10222837dca4556efb07a6628de274c94545a536c1955684ef4","signature":"daf649274b917c1d7d6b8e8488d04d7e47f3bbbb09842c2a9899b4ec507fb243"},{"version":"fa1702a90530bc09b078bbfc9e98010c20333706f9d225c18558a146ac9e2219","signature":"c75b37dd144d43a77944ee5a7b8195d397ae78b74065052bf3a1bc721b1f77b4"},{"version":"b980df9c1d9398fb15cda202074eeb45eca1b733888708d0fb43c021b5411991","signature":"b0ba848f7538ba06336d964c03d2289007500242648df4d1a2e1f693d4823c38"},{"version":"2c4beeb10c123c02ff09c390cb92953e811cb0e846e2d040c65a8a0e73746894","signature":"5431108d0a4a15cc5f6d78abd5a358d13bcabb849877e09f3efc265eba21e6e2"},{"version":"5559d4fcad759cc07a71aca5a792755409db3b683788828abad2a84da3dcd7fc","signature":"c367bae6e0535dda7431e73df32e233511c1e9b1181082d551efc822fcbaae83"},{"version":"46ea0bba2f2e36762dae6bd527f342a19fe9f46c653dc4e8061d9c8530ba8dca","signature":"19467dd75b0a6bae42afc2ac103445b6ddc4a3e259599ac20b2ec70e75fff499"},{"version":"40f8a5ff101ec9d2a6a08af84db2d4865c35e2deb3da94075a482d94612ca24e","signature":"57e73f014bbd5a960cd0a3b39a240cddbf1842f7f06a09757be73de97a234a79"},{"version":"3d64c2914a71ab3af9fd253eda13ea735a784923284005d07af763636578b46e","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"5112478f7f7dcb622157981c8ac9a0fb3cad40c5eb87a19ff2e37674c75c0fd5","signature":"8ce6788984fbc5caf642946b8dc8a405629def762f166473ae6389aab4822034"},{"version":"178dc732f2d61a4fd094b6672b6c438d1b1d6cfd5489564206a84e3df486beff","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"6f815019b8b763503cecf9ac86f9de6bd8593180a0db3a624f98acf88dad162f","signature":"b5e89db47e4299930bf6020c3ac33fe228d590042b7dd4c5a3dc245027bd9a83"},{"version":"8f6aa64ab08524e8ee85ed63f8dffa377a7f4017680001a3669a963162f9ddef","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c7aa0820877b8341f78e794fde60d464746eec82b0e2624982000ebb19fb8f8c","signature":"488c8eb8a1054444f74a12eb49f8e21ae583aa2ba59ac9cfe4ffc71754c3b1f7"},{"version":"7866820b43b8c2b53cf5a1d2f4de019e059e681e9ec7cff7b5972800a8d78732","signature":"b26c1138cc869467f57022e668f1499192e359d44f7cfaaf0e72a576d79c491c"},{"version":"f38eb0a2421beba20ee66d42353732cf2ce6f343c1b1c322252842e0f22b8308","signature":"cd575032c427cf4eba79247a61418781b801f14952fc1bf8a48ed2747def2bcb"},{"version":"88d59e42faf36bf3fa832f1e69ed374efa2092ef1128f016701503413b9c44bc","signature":"7b27496df462d7c5956667f688b1b318c2ab3081852bcd634ba80e1de4e9ffe0"},{"version":"9382ac249f4efbc0256803deafe838b51123955ca8b68c68a4be2b2c4a94027b","signature":"f4956881b9e58a4a626bbd99a98451461e46649ddbdc1560b635cb904b527c19"},{"version":"7f8e8b3d1d986e5be4c13b7a642a6f4899f1af03978448c01183a00e828c12bb","signature":"2cca07a66a88e9bd88fba730dd137253950afbf99138a1bd5d5272b2c5d41b56"},{"version":"e1ae660c622a39b34c87f6dd244d59846a5d110d2c39bcf4316a499b166b6e7a","signature":"d65014fad921da41cfd383514c098293dbe40fba77dd7ded291edcf4e04b001a"},{"version":"7606ef9eeff41c0616d32c7f6fc2086c38b34c3d7221598ed9291aaf126eb178","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"695e9a27d875aae3f404cbd6ff901fedf0d77c193cfd9552edba781658ed0e85","signature":"a299ef368d46feb485cacc1257882c710c962c3835c15268544a95d9385c6641"},{"version":"d0608ad5086ad006c7c2a10e4fce58cbdac946d73cda4c270717bbc11751afcb","signature":"79f1952bf72196b817faf37634b6a85b9c271443bee5e0d1e40c42d210fba354"},{"version":"42b18867a7543fec221e4f0321e077538e596cbacfec0595872df4876635dccb","signature":"baa8a117328606a5a80729fa29d3b99e604d1c58274ce6c705b1dd17550d4173"},{"version":"c07f3037b31e0bd7e1384c41a6fd6524ac141e8f56b93a4a12ec63d75a704edf","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"6e925ea850d5c27ac93c1d0a26203779a347ded9a658643ac71febb557086d09","signature":"faf83f25a2e1c4c2cdd395f86877ce483031a5fde85d0bfa74cd27548f3139ff"},{"version":"25b749d6ada24514fd767c7212f8710ed80c3f54499a13642246913e678553a1","signature":"27bb3ddf3da26f0251f6fa1f7b1d888720e20fcb54f8513e691c7276c730e0c0"},{"version":"f77ebf90d0877e84d5f546d128be5e362554f93395f46ab6fe1fbf060b962765","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"d8efd52cc22298b4d6f0540b8c96ad97a563fd1a0effd9c245b9da300b5eef04","impliedFormat":99},{"version":"0d8cb9539485655600b329ddfcdb91d1b4b20f5d1b40a9e40c8017938fb68d5a","impliedFormat":99},{"version":"51aae950c97b61105064619e52f8b4e702ed9d88f6a38d8a6d461389be28dd0b","impliedFormat":99},{"version":"08a8feab6868367d5112474f9015e5b00c101012a639309e88fb105f94ced534","impliedFormat":99},{"version":"a15a870f6ab5a26a7eb91ddd8c47ff4e00bc23ece96ab48ff8aaf42450478a50","impliedFormat":99},{"version":"73390a82cbd5ea87d8bcdf183d66853207a111de00a8512c68ca17b47a11e65d","impliedFormat":99},{"version":"53755d0e8037d36720dc68e2e8c77512698befd0c0d48ac5d20c41986df91bc2","impliedFormat":99},{"version":"e0f44fe626dcd0026670f01dc0af34c40332729e8a1ce2dccc67e2ad5c96e3a5","impliedFormat":99},{"version":"2919501096a871a68fa6bda28480d7c237b232928215d6edec67e75dafc820c3","impliedFormat":99},{"version":"7f7f3dabb63cde6344d767f66379aa90b17c87362d999507724758247445d005","impliedFormat":99},{"version":"1d6f7095a9b7bfd7d035a4b07f23378ba7c44993d881b75593a252f186671e51","impliedFormat":99},{"version":"952f574aeb762b9927559c9d128dccf663352aa92736ebb856d2cec80fabceda","impliedFormat":99},{"version":"c06c1379c3f1bcf21007bd9a92e8c7a8e63611387392411bbb2399c0a4c5ae04","impliedFormat":99},{"version":"0fab16fa249312e20d9a96e0464c7ae63c841b17c02401a59ccd0bcdfa67bfcc","impliedFormat":99},{"version":"027464bfd5f5d3110b7b5303ee3a09d3bd74e630393c5caef2cbfe1bb6ca59d7","impliedFormat":99},{"version":"3e9aad7dd39dc61c41d0c249427d39b3548f7ac02f2fa2e4a813c38a8e1a2e01","impliedFormat":99},{"version":"3f28c2bdd8d3da9487f032bf85ea09bf9f24f6f02ae2336cb65e6988aa92de5b","impliedFormat":99},{"version":"6a437b4b58f8b3b220f3ae8af2230bf3bdd0fa4c17db62a9a2a03fd224a68a70","impliedFormat":99},{"version":"e16749a9377888735e5edcc765da4ac2f5a552de2ef46d930039b2d54f199fb6","impliedFormat":99},{"version":"bf973f547b27688728916b64a98fcfa836772e7382211a9692684947220ad550","impliedFormat":99},{"version":"507b0e93358d09b74a0caef2370175290a47c790dbf71fb63d1b4593b7e070ff","impliedFormat":99},{"version":"eb7e05259b0603e91365983fffb6e6dc1e574f1cbcf09c51bdad4f3717869a82","signature":"5679163e510a4314da81e928dfe7e72c6671b0377ebfa606c80e18db43ad402f"},{"version":"8269474f9aca3f56fe5ff007900aed4be90d6271a628d561d20cc29de0d5576e","signature":"298cce3b54e8d74b37facacfcc1297add32f454323d60ed4b4ee24ad651c76d4"},{"version":"88b5d609cf1c008e5d7926489df81bd606581dd083772e8ca735c1c0bc103093","signature":"3ba28f6b4d58c39bee9b307f9a7267970b31adae4c3163ce2fb889c48f25396f"},{"version":"dd0a4bfc93ee858cf6af173c428400652c01288761e7dc00b513652d005cd91f","signature":"a32a75b40daf9f63898f39c282c8975b28c1f9086ee5957707c075c8cadc8bf1"},{"version":"f35ccdbcb49becc34f1c71a68ad0d843bf02fea572cb852884d0a96ac7169830","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"3d1ac90c29f450b8b90705d05264fd29f1034b5ebb6c2d2e9807489969e0a33f","signature":"140c9f01bd8744fc1fbb72ee2a7747039b9637b3976f2284bf1423d1bcbc045c"},{"version":"6cdf25b7999cac1327ad91005d4aba65743aee71a2972eba11f5b1164e39fa4d","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"0d96088dc89a49f328fc47dd75713536556aca01e187da7dce124fbd2f395f09","signature":"77e82444cebc04e9edeb4d759ea3c8be067ac6bbc3b652d668a3f483b0d5f7fc"},{"version":"ef05bfe2ed3c6fc7575cca3a8ee25f4a4aa28878b83c5d986ee47f4483f73b3f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"dcdb66da2fdcdf0e80f084c8347e2114f573d97619a5e37f680a9ad5656f614b","signature":"f090f8e7e1db58d734c2c7434bcd43e2ea1c30e049be3443fa3a83a063e59324"},{"version":"d322344da57346fad32f22627e0028bdfe12501d7de9eb4a103d47c9a075a85b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"2d5bb04855694db19d13174de99509d4d4799d6bf3468318bb74b54ffe994129","signature":"9a6473983696c0401765d2ba2558ef9b0670592e8d74239b4d5623c42d686600"},{"version":"dbbdee1f403eb2a952f5e8ea724cb1a20a2b4dd63d8232e375a750d4929baa88","signature":"7f1336dec949b3008a181a8873c5aebe07ea42b6730e6a5c6efaeff90abd09dc"},{"version":"28c7612edce38076988a57695e970654fd09467b806a8e37b38a26946afafabc","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"2a40fc7affa68ec88b30b2d2d19639d8fa8dadee567da499d460257372e04ab3","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"7f13d1469822b3ce57bd440274f4a8d9c2d9925fa644d284fdeeb520f0ab43fa","signature":"248bf8fb49df3283090f3d2a137e3d74dbe93490ca12bcca8686a3e1004e5c40"},{"version":"0ed05108ce0f4538b5351bcf9d523912d200abe5b804951cf18b2e12feff6b70","signature":"f453c01ca04957da00f261867fea88fe674b34dde9b1da183dc55f2bed19f364"},{"version":"fe55ccd61eb15dd0480443215f5556cd56d9a68075a79a1294e2d9cae200d70d","signature":"9992a93411c1d80cef73f32ab5ac10acddd25700903cf8b5b47925eae8be2a60"},{"version":"7fd1557a212fb2a671abe96de2e1b6a3e5110a07c49076705cdaf9c3e0f81f7c","signature":"dc57421ea686f59b81eeb7885916d7a5cfcf6aac9113b8908c5edbe4d4a7a296"},{"version":"b9eb4fbe039e06b65ba30bb786e50fa9b48e25d7eb26c4cc1cceba3a6c81615a","signature":"70faab149c7f9a9cfde8ede12a99419d9ebbc61d822a7c16757902918cee94aa"},{"version":"7ad085c66c15e665b43f1055b09ddc1d9c11a3d8f21174c9d3d9205d7dbc03c8","signature":"5b361261b9d93e4a2c0d2e02bf9f0dfc60fd8c761ef6fccdabf563bd3aebb419"},{"version":"68dbb99a0ef2ffb046b1385fca8116795a7b4bf5700193b7bf2fe9cfb62e72e6","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ded33ba85bd4f5491a76b8972dfb3104e8b7b4e1b256c44313d7ea9d21647d2c","signature":"43d84b56d871c4b5bcfbaae3b58381ff0a77d0bca1733ded9b89350275269033"},{"version":"1f260100362d7309e0cbae29fc09c4c36be2e4512013a3f6cd4706ada09c6675","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"4a96c42ed30bf77b8c127453fda697a212495a055f6dcafda400e42eb233d029","signature":"c4e5d6b5f65bfd77c192b36ab608481de02288d42739f978b0c01a812dc94321"},{"version":"f911a52096fa219660557bc3c9ccb5745889d8a357674e8ae67585678891e106","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"3a2cadf5506cf6c268f65051dd63ddd5cdc82f5effcf658778af2b12e497726b","signature":"3d3c808c01d46ac6f212b5bf9a3780af30c9ac93fabf3f754e01eece8478207d"},{"version":"d5ebf3405d09e5eb9e3316e8b6a7329bba4fa306433222f109b9af077ec77525","signature":"71108da668d27a617e4f2ef6aad932227d526487149856bcb3705f0a2aa9fe9a"},{"version":"2e1f498ba2e37492111a97c6048e07af342ff8df126eeaac6cb99f94372f8ca7","signature":"4a997dea3de3d148c650f5ad6c57d75d5adb6655108e0af42e57f9661d5a9297"},{"version":"759a24229c02dafd2cd73ad6e3325c043d16ad85081d2e76296664bd96226ae2","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"2fb9eaa3ddcb8952e256d1537d6edc1593dd761fa12777b9ccb88370016463fd","signature":"5e31256a0c8c28e4e510507c5d49a288841dfade865122a093f1912cf5167388"},{"version":"9b7287bd51e848b323551afe464c4a91ef2b74bf1ed703dc7c7c5e35cd9073f4","signature":"bf47aee07d830c691e0bb1caecf0a38aba368d98da54866d98258c4057feaaee"},{"version":"26b692cceb67ab44563761e4c5701f66b58f7ee354393088e3b338aae9918ee3","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"89f0ba8c9a02ad55e23f296ff35f0d1d6361a190811401c3f0d767a1aeeefec1","signature":"11a904b87a71e58a2283da4755e0042d78cd7f56395ab9a1b6ecb09290f3672b"},{"version":"5aa6936f80aaf206b952e46cb830f50e49e37862c6cc4fdca99000c797995a54","signature":"2bb79d1f86f6d11a1a240d2a4a538d676a6ff8231126766ef84667cc2e945903"},{"version":"1f607599e3d2f94f8bc20f8f46a594132cd1b1b1004f0a4619dcfe84f792c774","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"827a3da73904af54ac6cad259cbde0bf0b811d253a3fc370664cf80cb65ad6ed","signature":"02778fe052be781d64d090064f311da1b30eda7863ab768850a522f3c83dabd7"},{"version":"ca3da68186289d0f9bd93dc9a7e5c3eb30dae2526ca55be4b106af239b63d0fd","signature":"d539ac9920f9a947cd986cb61772e65f48bc0442d1d94e2ce8d6e25f394cedac"},{"version":"fe17ac85f4e0b305bf44f3a4d81cb75397d9d7776aa2649ead1caf2291f0d416","signature":"141a2298c3e77dde9daf75cec4056f4639a1c9f32e04d23621869cd952c1dd11"},{"version":"22c8ef3ac26c1ded1d40c6e1c48b6382fdf0d56a5a3e77f8bcb3bb198a1f769c","signature":"d394730410e0700f09bd96049137fcf096ceed2f5e7bce00a2937aebc9bf4240"},{"version":"c7f6c31638211891b8f6ea106d4d9ca0cfe249adba1528b2d1ebd0f267fa324e","signature":"b70605e01f0bebcb73e3de21b8c1dfa27372859c9a142d66d8d69f1f91e99adc"},{"version":"5d513a6a908bdec9f0c3a72c4fce232063a7365983847c1ade848a9970e97aa9","signature":"302704f3830a828ac25e5b3d330b257810004892d2acf61a6a656b05978d7a2c"},{"version":"bcf829509dc2bdb8f3851efb4451010e917abcdd8a52e2ae302886045c0e38f1","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"10ebed90f6cf7c3e637d5595d4dedc3377575aad097fd0b28e15312572c09622","signature":"7d26b77586708051f6f1735b57756edf0be83ca4670c4af58a8e28b965a33a08"},{"version":"0ba02535f72f0cc1712b1a073897c522f3460eb86620046f1f3b250ea79fa567","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"2b4b00a99c93370ce060e954393ebac6d299d87a0400b9a69307c97e8021abcc","signature":"1af687725c0895163ae338b1c94acf5819a042e98cfac2dd6e83b993c57d5623"},{"version":"1f1d8292770ec1d17820eda3e3ca60550d3c356d4f4832e211e9ab2ae5d5c9f7","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"07e108a85e9c41db3bfca18812565985fe9c4185c09e44cbfd365364daf67e80","signature":"7231ddbad84b7265695458d181b33e24e857a11dcf40f694a4dd42b3e265293d"},{"version":"7236d482e2ca1a6307e2182466f18dc8ee373209e5588f156b019f949cd9ece0","signature":"c92738c8f42ef530edebc3a1912a4ba2ec85ad86494839d23b6084782f9f2e91"},{"version":"da35015d12dac52832201a4900b07e4b0f4fc08f282eee6e7131d895db1930c5","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"25e39087798255a9189bdd829787ab8bd7854afeb8f8572586e73d47b3874412","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"24ac88c5cd809281eca45ae09b8b16dec4318221ea50d1b47888254798a046f9","signature":"c97c4207c753de5cccfb48d3488e193f8846f302690bd3ff73f4de951675b01a"},{"version":"63bb37a1d958427795e2e6ca7fb9451aff711e665b45bd4878ba693da9a140cc","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"d8f785b87f0a4f596648fb2e5fb351d34d4bffa5288980a8eb52ee82ed27180b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"b581577a6affe98a790ea707971843ad284ae4cbd4bd1dc17642196e3c0de158","signature":"840d3e2bdea7d5a418436aafedac9749b1d9de78bda0f825a48869cfbb3e7f83"},{"version":"3b8a02a9dda0124bf30a030727c96e3d34272b55369bc55cf55102cc90ff4a41","signature":"09d3eb6502b5bfea1281c54cfb4111b4a05d9716f4643a5029f964c230b5b551"},{"version":"0eee1242c13bce68990b788037aaecdb865d63943bc7b5681b8688cbc6d64e60","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"a3be9843036cf2c658821504c4931c7e1055db71db2a607b9bc5d8aa7be679a2","signature":"3a526554ad06e5c46700e8b1ac5e6f817fdca923787a3c9344acba81e8d17ff1"},{"version":"ae3566ec3d167f05176112f609460a77863016fec3216a87a15c36bef01d370d","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c914982336f64f67076a86d5569fd1b878a42f415962a07d1d151a4d65d187d2","signature":"33831d2be2fefd1ecc0b722e8270094b857a42109f3eb3bdb5c5e666233c588c"},{"version":"4d5caf53ba49b41ff378943f6b1dad1ea8e042426fa713b57c9524219bbbf573","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"bd703e7c27cc5dd4780eba552a51a698b459c9f12dbddfeafa9e0d216a4e66b2","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c09c42c93bcd3ed631ea6902d069b5798db25862e47fdf4ba5f47ff0d36b2a51","signature":"fa9886eda8d6ff931fdf8e61b9af2aa42491e152278324020c487e489e778f70"},{"version":"bf82447aeb19b4df2e40900f920c15695a8557392588397ce359c51b133c00df","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"1e4dd6a5a91d2798fa4dd70d7e6f682475942bedb36b9f870cbb15e5c1f1a54b","signature":"a8a191cc7d792c8cc2d87c992ffee823187689960dc717e122e158f24b77a242"},{"version":"0a5fe133b4ef41f0f2443b3cc82c4b99be11738a93d613fd12014e9d632c2fcd","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"cbf3758a6cc16ff397b8a2a27221d1f6d5f053265e353af0f37b356f0384b85b","signature":"3d07ef5fca347d934f76c6eb3558e0a81da33951129d307c04716a0812321893"},{"version":"e9dc912bf8a7678feb40d7d996c9263bad3b7fdab9ad9ac95d4e4ed023403d29","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"4b3f5e2463bca0844de6802fe4ee8e1e29a3c11d14fdd3fa7c96ae69fba8d74e","signature":"053cec7f0a8bd24eeddfee887cbc9883f56cab39ebed9e143de9f0a6cf34d202"},{"version":"d878f9fb504fbde395cd7c61e48f2fc7bbc7d0cf14828004f95e5f9fe64f238c","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"12564f17d21c31e77240293e7434c0c933945a3a3a142130eaa166d0042f5529","signature":"ed4aed28c29ff0fefa86143fc6824969cb43f6bde467d4f9254c84372fa63cfc"},{"version":"3e8a4a82fa1baa0281a0ccf309c22c954488a949c13a7ab6fd7c171b1bafb361","signature":"13428a7125f291070d1c531f233c9e8719c80160dd3587d51adf86a3e41bb62f"},{"version":"b51fb5ae439f311990f5a5c2fc4914fda89e5ebd585b33d22d0251afe382d391","signature":"f49a7f528e4e42999b277a5ea73799e735e349e562a0ac6c97b99644a13a3ed0"},{"version":"deb873b1dff75e59633350db7fdd9e3c125d248ac7bf2c193a81e9665bbad9a1","signature":"0502f677499fe5b2d8cbb7f8e703465005e5c77788839d14377ee4b3da22fe5a"},{"version":"d9628bca2f50c1a70ef77c452fe293c91380dccd76c285dd3aa988c0f93fed8b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"59c0ddf46c0d1d17e34ceb4c253a3f3bc7654c450002d8f8080476a3baaf5755","signature":"f7d9758437ce102b893d78f8a901109a32ffc713b3c2ab288e8e15860dd3a835"},{"version":"7adf0dcdc081964a00a2235aa42fd757563b15038955013b98097c5731705a2f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"d9df7df9ddd168648cb6e27223b325763738bccb1b57e965ba0d8443cd166fe4","signature":"d786daad1509af6e601e8de4259a2c6abae27fd33287b4936fd079fbfd1f0ce0"},{"version":"99f67ae9774e4bb88839948649b26a55dfbe8b99ec80ecab4c548102d2ddcaf3","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"aae8eb9b4f313c457b2f82fde10a63f117333645b818b48d2ed26fb2333ca42c","signature":"b76cb4bbf6287754fb7246ca57b8b0cfc52c84d5696a3363f193d2a3fa0b1e16"},{"version":"53ed7ccce63fb30e129e73dd0abff74d68929d92fbe3b20f8ade965780b2353c","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"3abcb2afd6c10eadcd9e5cfcffe3f93172b891ac80b079ad1421105d1574b983","signature":"2cdedb09674dadec42708ff08cf53e8ebfb3dc9402a0aa42464a061d228c7ef2"},{"version":"ade0a7d50f110afaed90ffd5f24f1617bf9b8a0d2f118530892d139ad67f29fe","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"4bc4b9b2e5a66597bed3af39f456ab78cc11601400c5adb4ad46a173bd03da41","signature":"2dc1bb408cf19157f86ca0f3984f3837afca66209bd009a34b84daf16f8c7543"},{"version":"a3311c2d4225d8eacfa5a9e662811aed57fdb4de78b824f1a702311b3f99b09a","signature":"651d947dcd8fb9009c702ecf43eea7c50c9ebe342b6e0619cbcda9d8a8b64e10"},{"version":"d7e17a1b90344a6d9c26f1462f77d6350a6882706064a36e5d640f5726ce49a6","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ea2d922ef7dd2904b092b91fbaa35be0af427504b9fc7e14ab5fbb6cd7c40846","signature":"cc4b917492e221996d1271af2f86e5e864c2d8053a299038dcae940e332e312b"},{"version":"5456720ba13d5a5037b07c10816207ca9a81cd79a370af608115c578d61146fb","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ced670d0bf8913a58d8515d3b7ffc0e9215721c717efb9349c84d4710bfa7ce7","signature":"0aadefcdc06cb383123e64961601f5769b830f191e303c1cb2c32e26031d1aca"},{"version":"8d419ae38254b6ecf56946523964d6561fa3f8a677ed3c21b4b5d1176a3b5a51","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"6a073d10bc03e721d0b1ce2620253ae9b69daa32fbebb2f7a8c67e7e1579c6f2","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"a80fa136e8559ddb40afdfe957e7c625614d02ad4a72476a1dd758fc31ed2e54","signature":"a1acf9b04a9f848692e1a5cb1bafa0e53bcefdbcd40c5bf311062ba23188a339"},{"version":"e79d387b4470cc2ef4df34e09b4113eb85200a7c8c6508e4a2f418c63e29ae5a","signature":"ca37703109f463d6107118f4b3d1fa0eca1bab385f6e35583a2fd13ef66b3112"},{"version":"56396e7c37789adc6f28a7c461ae904c01688c2836ac6278a9f9ee864078c7b6","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"4025a1efab8877af2ed8d8edda349736055a800404134c6b24ee95cdfb0c0ba4","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"0a46d4afc023db18a3c9d7816e3f90d960122319e2765c5d686f76da661864bb","signature":"b5a97abd79ec3360bbef597b4f34eab1b9f0d3545d0c3f46e3b3e2ec6e91771b"},{"version":"4f649bd1b169333de666f079f7989d184c27109ce26544354957f5be00abd232","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"f84acbbf9c1536d22e69d354fae1dc2d43430ca0e524721df713722f9e26890f","signature":"bcea8c0d3b0636e8255a7b6f3c42b075dff08702bc473fa7d6ad74adaef773b1"},{"version":"b5da1cdeaf5fc3b53aab62bbdd5da7d9385fdb2839a18fad0e3b2c31c5d888da","signature":"a43861be0f45c9bb0763d1c8aaa880b6c5d0b2a37a07bc65bfde949ce648ad79"},{"version":"0e30e16f547666851c4fe51505a9feeff6508b2d720b7b8c60691e5158db10d6","signature":"cc094a8b2d9686d5ff268266e02eedf9d66e2389a04c46fc49cc819d23134a39"},{"version":"1c03c99ee1b5f5bcf0704dac9398e922805929cd23a7ad246ad0d67cfc3826db","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"a8adc0df2bc9038f9423e9947d03f490375a9f615cc8119055af8a695bb830a5","signature":"bb01d18cd374f84cff1cc159163df3a7f602a298d8e925ac993012fbcd7e2bfc"},{"version":"6096174ef99bb11f2656cd3f15a2fb649e504782c6ee27090448b681e33c2b40","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"987a3bc405a132b704d415e99a6708c6ea54d0a70766ecf1ae59bd13034d848d","signature":"2d44dcdbe1d297af2ef6785176a9165f4feb886490712c82ab8578ca96ee0d10"},{"version":"187610881a6b1f7370788848d0a2af5a17e94b9b437727556ef3d2fe018a98f4","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"f0709632ce350e4970bc7fdb88e656ecea4b7579875a6f20ad20cdaaad26f369","signature":"f9a530c655221c9f5a24fc3421f341b21bd38da824f7612da7c87804306eca36"},{"version":"2b3793a5342b5d7ef5498271aa50c1fd31ce56b70f70d0dc5f9da4174eb1e5cc","signature":"9ae9233a7cd435509757e52ca1503b31fc923e1bf163d9bfba847b1a7dd89e51"},{"version":"1391eb93befc7b56fcc8fc9d4c37affcb37252ce6e91400da018023fac32c807","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"17b39df68c9417376ab9d3f845ad45905499eec1ee9798fcdb980cbcacbf2f44","signature":"f8c081ad7f58588db5940385eaf280c202e6ce42c0117ad62f774ffc421712ad"},{"version":"ff7b4ff43ed91708cb770527c71b00da17728615a98d59f62ffc6760381a1987","signature":"883833dec7bf0238bfbbb33db50c709cc7ca3a1f6714d17992c0d7e82a964d00"},{"version":"f56d21cb2be8cc1ca29dc2ec7c48ab92fe41d38bac18bcad6eb20b33c07c1b8b","signature":"3d655def48973efb420a82a2e05119da3a2c45672bdfc7a695f6e569edaa417c"},{"version":"3f072b168376dc71baf99d36fea4aba49a269f5852826888a3c6c95e5c9cb202","signature":"7fb20dbe5a83b73a18118cafefc659b66c75e285f8f6100023eed6218035191e"},{"version":"98ba07f2f211272213e4201fa31bbe0de1f95049cb411f0c7dec9e9de1fc8232","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"8d9a8784de549deea41f12c4241eb87f77fe7b7f8222ddd7a6ea05085980d5c9","signature":"88af6abc2bcc060a798687a7bc8f8bc23f47f5bb2ea736e89666093f4e682a0c"},{"version":"7bc3f411c39c03e6ef2f245fabfa4bf821920e52e5c1083759cfb2c2dc264296","signature":"e18de9a7b62fac87db7bdfab03946f00b49de5cfc11b37f39d95c1f6d05b7dc4"},{"version":"b8747ecda57b04b458af6aa127d1e438878a6695def6c91ccb0820723f71bfb1","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"da0f84fcd93700b4a5fbf9c6f166a6cc19fc798231bff56dd1e3875bfc6966eb","impliedFormat":1},{"version":"634ff08e0143bec98401c737de7bfc6883bfec09200bd3806d2a4cfc79c62aaa","impliedFormat":1},{"version":"90a86863e3a57143c50fec5129d844ec12cef8fe44d120e56650ed51a6ce9867","impliedFormat":1},{"version":"472c0a98c5de98b8f5206132c941b052f5cc1ae78860cb8712ac4f1ebf4550ca","impliedFormat":1},{"version":"538c4903ef9f8df7d84c6cf2e065d589a2532d152fa44105c7093a606393b814","impliedFormat":1},{"version":"cfcb6acbb793a78b20899e6537c010bfbbf939c77471abcdc2a41faf9682ca1a","impliedFormat":1},{"version":"a7798e86de8e76844f774f8e0e338149893789cdc08970381f0ae78c86e8667f","impliedFormat":1},{"version":"eebc21bb922816f92302a1f9dcefc938e74d4af8c0a111b2a52519d7e25d4868","impliedFormat":1},{"version":"6b359d3c3138a9f4d3a9c9a8fda24be6fd15bd789e692252b53e68ce99db8edc","impliedFormat":1},{"version":"9488b648a6a4146b26c0fd4e85984f617056293092a89861f5259a69be16ca5c","impliedFormat":1},{"version":"e156513655462b5811a8f980e32ccd204c19042f8c9756430fe4e8d6f7c1326e","impliedFormat":1},{"version":"5679b694d138b8c4b3d56c9b1210f903c6b0ca2b5e7f1682a2dd41a6c955f094","impliedFormat":1},{"version":"ca8da035b76fb0136d2c1390dda650b7979202dbe0f5dc7eaefcde1c76dee4f4","impliedFormat":1},{"version":"4b1022a607444684abeee6537e4cace97263d1ef047c31b012c41fdc15838a79","impliedFormat":1},{"version":"dd0271250f1e4314e52d7e0da9f3b25a708827f8a43ceff847a2a5e3fd3283e8","affectsGlobalScope":true,"impliedFormat":1},{"version":"47971d8a8639a2a2dd684091c6e7660ec5909fed540c4479ca24e22ac237194e","affectsGlobalScope":true,"impliedFormat":1},{"version":"e1075312b07671ef1cbf46409a0fa2eb2b90bb59c6215c94f0e530113013eeda","impliedFormat":1},{"version":"1bfd63c3f3749c5dc925bb0c05f229f9a376b8d3f8173d0e01901c08202caf6f","impliedFormat":1},{"version":"da850b4fdbabdd528f8b9c2784c5ba3b3bedc4e2e1e34dcd08b6407f9ec61a25","impliedFormat":1},{"version":"e61c918bb5f4a39b795a06e22bc4d44befcefd22f6a5c8a732c9ed0b565a6128","impliedFormat":1},{"version":"ee56351989b0e6f31fd35c9048e222146ced0aac68c64ce2e034f7c881327d6d","impliedFormat":1},{"version":"f58b2f1c8f4bcf519377d39f9555631b6507977ad2f4d8b73ac04622716dc925","impliedFormat":1},{"version":"4c805d3d1228c73877e7550afd8b881d89d9bc0c6b73c88940cffcdd2931b1f6","impliedFormat":1},{"version":"4aa74b4bc57c535815ae004550c59a953c8f8c3c61418ac47a7dcfefba76d1ba","impliedFormat":1},{"version":"78b17ceb133d95df989a1e073891259b54c968f71f416cd76185308af4f9a185","impliedFormat":1},{"version":"d76e5d04d111581b97e0aa35de3063022d20d572f22f388d3846a73f6ce0b788","impliedFormat":1},{"version":"0a53bb48eba6e9f5a56e3b85529fbbe786d96e84871579d10593d4f3ae0f9dba","impliedFormat":1},{"version":"d34fb8b0a66f0a406c7ce63a36f16dda7ff4500b11b0bd30a491aa0d59336d1f","impliedFormat":1},{"version":"282b31893b18a06114e5173f775dd085597ca220d183b8bd474d21846c048334","impliedFormat":1},{"version":"ed27d5ce258f069acf0036471d1fbb56b4cb3c16d7401b52a51297eca651db62","impliedFormat":1},{"version":"ec203a515afd88589bf1d384535024f5b90ebe6b5c416fb3dcca0abd428a8ba4","impliedFormat":1},{"version":"32a2a1374b57f0744d284ca93b477bd97825922513a24dfe262cbf3497377d96","impliedFormat":1},{"version":"a8b60d24dc1eb26c0e987f9461c893744339a7f48e4496f8077f258a644cffab","impliedFormat":1},{"version":"3f9df27a77a23d69088e369b42af5f95bcb3e605e6b5c2395f0bfcd82045e051","affectsGlobalScope":true,"impliedFormat":1},{"version":"9fd080a9458c6d6f3eb6d4e2b12a3ec498d7d219863e9dca0646bdee9acce875","impliedFormat":1},{"version":"e5d31928bee2ba0e72aeb858881891f8948326e4f91823028d0aea5c6f9e7564","affectsGlobalScope":true,"impliedFormat":1},{"version":"9a9ba9f6fd097bb2f57d68da8a39403bbe4dc818b8ccd155a780e4e23fa556f2","impliedFormat":1},{"version":"e50c4cd1f5cbce3e74c19a5bbf503c460e6ae86597e6d648a98c7f6c90b596dd","impliedFormat":1},{"version":"fa140f881e20591ce163039a7968b54c5e51c11228708b4f9147473d06471cf5","affectsGlobalScope":true,"impliedFormat":1},{"version":"295eca0c47be1191690fd2fe588195fff9d4dc43852aceb8b4cab2aa634579f0","impliedFormat":1},{"version":"59ee7346e19b0050508a592702871dc943083c6dcb69a47d52e888115d840781","impliedFormat":1},{"version":"067712491fb2094c212c733dd8e2d56e74c309a9ce9dac9e919286b7245a1eb4","impliedFormat":1},{"version":"a5eae58ac55bd30c42359e4b01fb2be5eddac336869d3f04ffb4daa54b58f009","impliedFormat":1},{"version":"d12d691ef8933e8db39f2ca81d6973940ff5e37bb421752f5b6e7bc15dea3abf","impliedFormat":1},{"version":"4c5f8bd9b3a1aae4e4fddfee41667e495a045f73ed603993038fa6a8ba92fa14","impliedFormat":1},{"version":"dfb274ab0f319cf18ce7152067c25f984c7fd1924fc72b3f66734588444c934a","impliedFormat":1},{"version":"108c8c05cbc3fbbbd4ff4fc0779c9bef55655c28528eb0f77829795dc9f0b484","impliedFormat":1},{"version":"a7e5444d24cdec45f113f4fb8a687e1c83a5d30c55d2da19a04be71108ad77bd","impliedFormat":1},{"version":"41ec17e218b7358fcff25c719bc419fec8ec98f13e561b9a33b07392d4fec24c","impliedFormat":1},{"version":"23c204326746e981e02d7f0a15ab6f8015f9035998cb3766c9ddbf8ea247aea2","impliedFormat":1},{"version":"25f994b5d76ce6a3186a3319555bbba79706dac2174019915c39ac6080e98c7e","impliedFormat":1},{"version":"dfa4e2c6a612d43851ccbc499598cb006a3a78bc8c7f972c52078f862fa84e47","impliedFormat":1},{"version":"02c1705fa902f172be6e9020d74bcd92ce5db8d2ef3e1b03aabc2ac8eb46c3db","impliedFormat":1},{"version":"99d2d8a0c7bb3dd77459552269a7b5865fa912cedab69db686d40d2586b551f7","impliedFormat":1},{"version":"b47abe58626d76d258472b1d5f76752dd29efe681545f32698db84e7f83517df","impliedFormat":1},{"version":"3a99bbbbbf42e45c3d203e7c74f1319b79f9821c5e5f3cdd03249184d3e003ce","impliedFormat":1},{"version":"aaacc0e12ab4de27bdf131f666e315d8e60abec26c7f87501e0a7806fc824ae6","impliedFormat":1},{"version":"3b4195afd41a9215afc7be0820f8083f6bd2e85e5e0b45bb0061fb041944711e","impliedFormat":1},{"version":"108df8095f5e25d7189dd0d1433ac2df75ec40c779d8faf7d2670f1485beb643","impliedFormat":1},{"version":"ddd3c1d3c9ff67140191a3cf49b09875e20f28f2fc5535ae5ea16e14293a989b","impliedFormat":1},{"version":"7b496e53d5f7e1737adcb5610516476ee055bf547918797348f245c68e7418fe","impliedFormat":1},{"version":"577f44389d7faedd7fc9c0330caf73140e5d0d5f6c968210bff78be569f398a7","impliedFormat":1},{"version":"3046c57724587a59bceefadd30040d418e9df81b9f3cfd680618a3511302ed7a","impliedFormat":1},{"version":"15ccc911ed15397e838471bfe6d476c28deffe976c05cb057e6b1ea7491242c2","impliedFormat":1},{"version":"64b5a5ebdaead77a9a564aa938f4fb7a45e27cda7441d3bee8c9de8a4df5a04f","impliedFormat":1},{"version":"a48037f7af5f80df8973db5e562e17566407541de284b8dadf1879ea3aed8a2f","impliedFormat":1},{"version":"dab97d96ce986857150db03f0d435b44c060d126b4a387c7807f4e9f6c92e531","impliedFormat":1},{"version":"85f39366ea7bc5e34b596fc97de18a7e377856755e789d8e931054f2191d9b8b","impliedFormat":1},{"version":"daf3ea3d49f6e8a2fa70b7ca1f21bd97f1b65021b31fbfccb73dd55f86abb792","impliedFormat":1},{"version":"b15bd260805f9dd06cd4b2b741057209994823942c5696fd835e8a04fb4aab6b","impliedFormat":1},{"version":"6635a824edf99ed52dbd3502d5bce35990c3ed5e2ec5cef88229df8ac0c52b06","impliedFormat":1},{"version":"d6577effa37aae713c34363b7cc4c84851cbabe399882c60e2b70bcbb02bfa01","impliedFormat":1},{"version":"8eaf80ad438890fe5880c39a7bbf2c998ce7d29d4c14dd56d82db63bd871eefb","impliedFormat":1},{"version":"9b3e7f776f312c76ac67e1060e5398d7ac2c69d6a3a928a9daaae2eb05b15f56","impliedFormat":1},{"version":"202042eccb4789b7dee51ba9ecab0b854834ea5c1d6a3946504bfc733d4468c3","impliedFormat":1},{"version":"2b2ef76a9f36094b07ee6f76a5ac6903f2f65c0a20283201814a8d1e752cb592","impliedFormat":1},{"version":"8882e4e087d0bc8cc713cb3d8090c45d33e373e6f5c83e0f8d00fe6a950ef875","impliedFormat":1},{"version":"baab78e9401b9a82e8fb3634de0d3750cbf4d3d6afb59ba28472ab15afd3a749","signature":"3d01773dca02fddc18139d243b8adbbe1c6c6447b8235bdc3cbbd4b493e7ffbd"},{"version":"1cce0ed0784dfa68a0572c20ceb1a173664dbb3ac59eead22d55be246fdf17d9","signature":"5de2fd3f978ef1724ed1d72271f8d9bd911d19d80a709137225e173127e3c615"},{"version":"57e3b4916970da260c692cda82bc670552fa93563710da8485ef3f1a40fc0cd8","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"24772aec0e0f59dd17a2a1c4a924fa4fc228f24c64bee4fee8c5c08965f05925","impliedFormat":99},{"version":"e636cb7d61143bd3901daa91d1c2c3d8a53b677f6bfe51fafbd2d14a51efdfd0","affectsGlobalScope":true,"impliedFormat":99},{"version":"d33b19c5e9b2f8b26b1875c7aa12229cdd1e3ff0e809c89189805a05c626dc3f","impliedFormat":99},{"version":"bdd14f07b4eca0b4b5203b85b8dbc4d084c749fa590bee5ea613e1641dcd3b29","impliedFormat":99},{"version":"077cd7acbb4a3b50b4a01690d6a7d2583ebb39335f612763442a4d33dde01c36","impliedFormat":99},{"version":"8b9ab1d118cd0092e03b36d26b83192c6374c30e16abb7cbd0ad33979fa0c2a7","signature":"a3a467223e1b0d6dafe7ba2a535de44efc5aa9438c3b277566336031e5cd3f4a"},{"version":"db1d1a51416710f03d5b33f8ba166c677f7a372d7236d0d75857abcf2c46d869","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"cf0f4d9e5edafe3f777e151b9719afb37ca6abaa904fb8289367fe99913f0ad1","signature":"307d71207bdccbbf886a1b1044f39eafddb7b2457a81eb1a1843a81db10e37eb"},{"version":"03493681f3175378f73cc1994441b55eb2f178585c613377853cdf5dfb39ecc2","signature":"4540e50e72fce7b0cbb91e773d9c3ace94268cad237d1a032f294b9786a348b1"},{"version":"59e8ed7fe97a22a7e83c915d37eb2494f0eb416d7a52d0050824d718d0ed8cdd","signature":"c35c50cdc82a4763e8e28146906b65222d0ba506b3a3142e4c7e8a5d2866e475"},{"version":"6c047629c52eb1fe1262825b2677317d06be335eeee950c93388b92c4e6a165d","signature":"5ffc250c97e03d1f20b9c7fa81562fb2391b2a3393f373624cbe53b6069d582e"},{"version":"755907e327ad953500fb7ae52e0dc7dedceb54626942f3af04eaf1cbf20526b5","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"8d096c0b73874d64e56e5fe99fb94f14b5a6fc0824a4a1cc0251147a823c25a3","signature":"06980b548bb6ff2b15c92032296a46d7f80d3e8ad9af172f5c2ccdefa86b3fb9"},{"version":"d330961532fa59192f0330dd430076475d3a3f5cbbb60c2ba196351c069243ae","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"34ef539c1384da9fe858fb9c16368ddf1624a4914dc3f0fabc7a39811bcd2668","signature":"ed6cfc1cf330cbbc602b7a0305aebcef220219fcd5cd3e4493e5afe79058fcee"},{"version":"f7409e1093e57b3f7be327a71c71087e1f7a767333fc10cff7c2504af7222f88","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"b203b12c30dae8bb84ff0f770a857445942d8c9ec8d6ee472c3ca6b0b5b261d0","signature":"9fc50c5741ded49943ed4b81fc428d0aaa18cefc596400fdb71fdd11a21d8d8c"},{"version":"24803211766a60a0fca7ca541d6a158d376c65f7ae4827a8661063c2e70c06e5","signature":"6e2681371e356de1c4fa982616bd1d26b7c525b5ca9f75e1f688b83332e8a81f"},{"version":"1453393d564bcb47dd35ada6b469c661ef5d6c98f9dcbd7bc0f9eee3470ac944","signature":"22462cc125563699336669ccb959793d6c462626957a1da4ec4a639d4341fb3c"},{"version":"7c56faad4a628f9671b73a1227c941f930b55649699ac62931e360389775edff","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"579a472a70260bf6b40d68aeffa65bf00fa5c59a44bf214f2385dce399f5898c","signature":"fb4582d6a3a9b2152a49c918d6c98ace7ce35978ebe850af889e7aaa526551eb"},{"version":"3fa0c656d89d31fa67f25c8b3eb9974b1aab6fd8fe5ae0fafd521e7d6808f71c","signature":"cf64d4b205595fbd260e6fced4216298b35c82faba7dce73a9e205add66ef85d"},{"version":"ad5ab4bc064063efa662328e47c8eb39c80888a25467fefd231a32e874162d6f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"f0e29314c7c3239de9961d460d5347081cc6e49bf065dd0a6cca6e7132a99ee9","signature":"ccb2b3ebb1fa7bd3fa3e02c7a23ecfb2ebad06df9c3c8a9e685113d81026d0bb"},{"version":"614e5cdc3c5f89f035510a0c61652fdeba39a62c9904acde7de79fce2d60bfe3","signature":"bfe40cd3dd4d0d35754643dbf07ecb96362953f4fdb490803e122593e679db64"},{"version":"36e5bb11081348bd0869d683fadc9a4115fb28720594bdf185a13ff19faac88d","signature":"d356e9c1bad769f9e8d358a35c420cc37a0ad01ea4f865d968f3b7fe10c9c3de"},{"version":"4d46dcb6027f62db92924103d77c199455ed38d1dc1c6c29bb65a707c25f847e","signature":"14084429a03e8974f38aaa1890d6a80ea62d5c8f0b627e0f824afb0ac621a65c"},{"version":"1d5a2531ab660f7a4f8b4572b7a19c23fc5a431299ecb8c1846cf8e279b97851","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"2d6a819db1ca73bc3e3b29597b18ca5c36e2dafa02b171e8bb92208b2d50b353","signature":"1571b1b7546d0267d42d0c0b3e1e4593b2ef990541b260a9652427dd82758bb7"},{"version":"a62a7e45347ca1dc80dd4df8d2094790870c03b1c890960cce9628934f695295","signature":"af0b9205baeb5b5d2e4470da33f26673b5c363db0ccfe761276f8af34cfe3e9b"},{"version":"4217680981bab6d62ee8fe0cbac591599bf18f30cf2be39170d344eca5f7885f","signature":"5d3ccf27d7ce9e5f390fa882da69e253103b64bcc4e1af716d4e385d1f7dea5f"},{"version":"0571fa29dd502778997d9453169040a83607ae311f6ab6a7ce90fdaa83f86a72","signature":"6abb8469a763dfe1299c79302eb5559ecc978df41c92c0444a30c1b55710860b"},{"version":"afaea598c95b1ad2bd0ed30bfb6ad867d78bf021b73a048b8fdaeb90cff22d88","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c1bddf61aee12dc67fa70b5e40a9124f1f71f960b6bfe006fe4078273a7f77e5","signature":"77307295274cc402aca163afe863f0ae8a1d2e94588f2acd35ec24d77af97b75"},{"version":"d579bdba0db63d615c541195af19b783527c13bbcc870e83ea61d198e3be56c6","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"10412b70545a4b21b51229be0a35ddb2bdff35e164c35e214f5f56baf863f12a","signature":"8aa83e11d68ccfd7360e5de9cb82c18ce6dd67f9c7dd89c81dc67e55dab60864"},{"version":"7aa764a1146707f1b9e18292969e24f394ef3c347d4f396cc6f90d39c3f3b6da","signature":"7c52c6c55104753b3519528829004136bfbe6e76535ec0a19430668fabd41269"},{"version":"688c5e58ff9137a2c5d6eb1a79475ec4c9d61c34bb10080e21d09babaa30ae1c","signature":"7a49a822cb790c72be6db966c7f0d69c641479732f211b020cbb08bc4f30a3d1"},{"version":"c51f1961b6b22a86183d4e8e166a4b08df4cf3537533f9249a79d3b460efe6ab","signature":"60f3fa0096effac152c038612c40d100ab675f4d07eaade19ab26291654c5322"},{"version":"13cc0e63b3212f43a760f9618ac9a5a26a3123954baa408ada44dd9744d060f4","signature":"6d2de774f7f1930f5a1a0061d45b779777be9dc7e6125661388a11a43f386636"},{"version":"693212d0a67ee305c09bfdd670455ad335e448c9fd52fb8c69ecbcda23eb2b93","signature":"225d95d4c8f9caffa003ab70fa3ac2d8b66e4bca291dc775b2d1ad4b676b660d"},{"version":"41a4b706f190423fb86f0fe568b685dc59c4a76760b506b02c10a3eb70ff880d","impliedFormat":1},{"version":"e26d25ac80157bf4dfaf1b15917520d7d5aa515389c7c0464911ab0129e58835","impliedFormat":1},{"version":"e305ba550c25a1807b5c432b31563f897c82111c8bce166e560029c94df204c3","impliedFormat":1},{"version":"a3e0936d6b795d2fc46850dc9c590152942ee297f3271dbd3d8588c3983592c6","impliedFormat":1},{"version":"2013af14579369e7822fb5f20f01268f3338141d4a382d5969144fe9c6a25ccb","impliedFormat":1},{"version":"6b7fcb23322518af97092aafb777aefa9196a1db215071fe8f96ae6f6101b498","impliedFormat":1},{"version":"a98d81cd9207ec9f1bd54d454809a60b267043dd56b165bdb6912bf9d63d4759","impliedFormat":1},{"version":"cd1aff7bdfa3af19aae3a21c958b932af6941ed89af069bd789f9ba5ad43377c","impliedFormat":1},{"version":"33e9caf10988726e5f7be53d2a4ebaad8db16e51b5f81e5ed4dbb0068f3a88fb","impliedFormat":1},{"version":"cc0d535d54cfec869fe4d28b9acda7e3427b25d8d84fdfe495021ad4cdee301e","impliedFormat":1},{"version":"f3e743e40c9a3b22de28624c8428e1df4cedc2fa3b3d99c546ebb95592ba1978","impliedFormat":1},{"version":"f8dab311b48db5e3b4361d76a629201098efdaa1b785120353f0ad221b263682","impliedFormat":1},{"version":"261b2daf69470a9e9d1ef26aa5e0c23f1611af380eb5e5f031c776ba57367741","impliedFormat":1},{"version":"e181f3ee5845726fa8077b39742a875d4fbaeb35f036765f95a77afcf982f989","impliedFormat":1},{"version":"9227c7d1182bc93c52d39d65472fef3f850a0d0145e1fac7388758d995878ccb","impliedFormat":1},{"version":"d90fecb86a618f308931b2efa45d7beeb73185db71ff184c1066b4e5f5900771","impliedFormat":1},{"version":"69af21e2252e417f1f26d2e6b1ded1f20dba11f066ce0690c53946f4369e00cf","impliedFormat":1},{"version":"fd4ae6100e700ea9e36ab622968f12ec03792f98f7da286cc44649395022453f","impliedFormat":1},{"version":"1adede2d971ad167525195ed811b8e0af2d17c728350689c470b6d5c5a3aa60c","impliedFormat":1},{"version":"4486b61dcb644ea4527e90b5bfbe7600b9ed50371d334a0c01e8fe661a99d952","impliedFormat":1},{"version":"dae0c9cc1c106f7b91a726813cfafe489dec4fb1e3f4f7c684d14e5f99f96b95","impliedFormat":1},{"version":"bf5fe5a9da7069bca0bb83fdc31ba9f624ac778c3ce25a06a3099d83a92a4858","impliedFormat":1},{"version":"7a0958a789740f9ddba6b7d80fbb1ae4d97da910970c1d59965ebc80304ad22c","impliedFormat":1},{"version":"54c9f10d962306a39448b924e73e631bba8221b5797ca4b2dcfb00dca78827b8","impliedFormat":1},{"version":"7125d9240eb556853fdaf7c892b60c630f6d01bd11580a32e9f299b0b91ca4f5","impliedFormat":1},{"version":"b339079a6ce4d7e86dc68ea8af379ee8700dfb205da5546ffdd3cdfe4be43df4","impliedFormat":1},{"version":"a97af3b565a5649c8cd983df40878da9a4bc080cf1a918199574f82a25fa727f","impliedFormat":1},{"version":"6e5996003f6555309d988ceae5b9952f3de47fc6e5110e5d64c612d4f37cb490","impliedFormat":1},{"version":"f07a1939b55120050d3fb95633ac6f8ebdb594e63eaf8f14c123480cc4bec03a","impliedFormat":1},{"version":"325e48e1f58a88830852e00f4fe7c515afef925a1254975a3ba9c54c9156f3fb","impliedFormat":1},{"version":"79caaa6f2db6cd3a1362f50b48ebae937a234b421c66516b8c98282b7d713d12","impliedFormat":1},{"version":"e7f0aa1f6c72a395ef5ac8749c03a31b00ea527abca2db5aea63804fef2dbb72","impliedFormat":1},{"version":"edca8fd9f3960acb4223f2a596d1f944320193afb076cb8b96afc19fb83144ec","impliedFormat":1},{"version":"511a250228acb3131a8c9eabaf45a53c3015c8a5abffc1c2e8b37942b779ef31","impliedFormat":1},{"version":"496927b9d1a6a7bea58453b9749b878ee1040ddc22de6db6e689db11ec111ebb","impliedFormat":1},{"version":"d17c142d0bbf9f20c696ed0224d1740fbbda0b0211225f2e48732809e15f2505","impliedFormat":1},{"version":"67e2a7d5facca25f1df14bc4fa4167337405fdc98b47df49b98aa2dcdaff5696","impliedFormat":1},{"version":"e16f1bf72fcbea703f1b9dba81e6faaf65e29d24128f9e09504c9a862f41c9d1","impliedFormat":1},{"version":"2e47b85f55b2c6606b137b4be24ea386c58bd9621370d2373e95b530c955102e","impliedFormat":1},{"version":"1f9fcdb7e24f1f9b391bb9200e32f6353781a1c604159a6257e9d8f1df7b9bee","impliedFormat":1},{"version":"3c788378c8c8d9525c168ce0578d536607896146b88bb5f6670ab19834be30b3","impliedFormat":1},{"version":"d16aba532f5391ccb1a61f90cf8e904ecabf3105641c398df0f4a79cac27d472","impliedFormat":1},{"version":"8d3a30c921fa2ea91d1bffc7fd9b8c42dc74bc819c503208122bd2e84cbffb5f","impliedFormat":1},{"version":"e4fb93fd2ec72ebaaa1e657435d607ed155da0005e6e30c440257d9fa877d834","impliedFormat":1},{"version":"ad103c0c76b809a8830ca4f9a8c8cb43b53d578bc63dc8c63b1342f1de90f8d8","impliedFormat":1},{"version":"7e15e2f23da806eabcf4bd0f1e48d7a5baeface210f05837171b50eed7d2b894","impliedFormat":1},{"version":"fb5e2afe7c4f988b615085166421f8d88464f6234abcc740ed861eccc0e17ba4","impliedFormat":1},{"version":"652af46b250ee5144ecb0eef7bcfa1647c88fd170cca974bdff9bb315f349f52","impliedFormat":1},{"version":"790daabde36636c46a264b1628f488ae49b2b378810383a1059ee722e82ceab8","impliedFormat":1},{"version":"89a58d0ab59eec78a6b6532e5d748f9942568891619633c890638a2912224ad5","impliedFormat":1},{"version":"9af24ffe92056dea7acff1dee779be364ad35e5f9861ca417d17bfb447a0a230","impliedFormat":1},{"version":"8fab0b106acb9de629cc3f7bf784187cd59d506d734917c4f140d02f0dcd167d","impliedFormat":1},{"version":"d0ba3b6aaef0c96be907938b6fb2a3a04a5db59de34a40f7e426bc7f10bb46d6","impliedFormat":1},{"version":"d91c919538e393ed3c649270a73f239ea7cd9f312dcee7dad037869a6eb0eee0","impliedFormat":1},{"version":"fcf5f4ff294643e6ea5100d09f40668a3a8744b73b8f1c397fac4b17ccecc72f","impliedFormat":1},{"version":"af3bebc2d30fe79abc9a505bc890d16af72f8ea21ec59009e9d57c2d8f6e0b01","impliedFormat":1},{"version":"784c657f85bebb1a7d94ef05e10f1cad4abdf32798203ef8631f7c3aca2390dd","impliedFormat":1},{"version":"e488fdf1efc9112b9ae08aaf2be027c3cc5603b916582c45d73bb3885728543f","impliedFormat":1},{"version":"a43b695758408470608b548841c97ad3827e453fe81ad835e29b9871129785f7","impliedFormat":1},{"version":"96dd9a7f52627f94b64da26c1ce05d2350941487861c8c27a0014c67273c8a40","impliedFormat":1},{"version":"0e754d4ed9a6cd6c131515ba94f3f1095fb10ac3cb0c20c2cbeef9e895f924c9","impliedFormat":1},{"version":"72cac4a4359c6a5e2e5c0ece767455797e46871350324dfe42ab14238f675729","impliedFormat":1},{"version":"cd091878f6b6994d9307156bda8a4419c7c41c524228d9e830f5fa618d70672e","impliedFormat":1},{"version":"bd3bbe444bc7cc28757c7669fb186a9ba326d4b65dbf99e18b2b5b9ca66edeb9","impliedFormat":1},{"version":"b10c73b3d7703d2d870d35631428cdec737d4bbc06706b6fcc6f6e058b8e1594","impliedFormat":1},{"version":"2543b46883befbefe10c2de9f3a0e7809de7baa09e192edda748443fd15d38d3","impliedFormat":1},{"version":"01cdf83ab596024078a6ce08ff990770326ceaf16f9081a8e369b9bc5110cadd","impliedFormat":1},{"version":"bbb9a17f2654caa1d34f49428c0e48ca0fd0d9550f5f82da6f544c924afa17b3","impliedFormat":1},{"version":"a9d8ba2c15cd99f51aa291034a1afff2f67f1f88259d2162eddaa25e3644032a","impliedFormat":1},{"version":"affa88c9484982a9aa35b30480059dadfe98c3bbd92f76513ae2d1d7e68096d2","impliedFormat":1},{"version":"3436c4b40e71c333e253578f6f3176870d4963d5f4ec14862ba5e40794bef8bc","impliedFormat":1},{"version":"a02f786598d002e2e42854d9bb4fc5a4ac03589538055a0eca03c9ec7ad35457","impliedFormat":1},{"version":"348863ce75f819f43557d134e5e7ff11a8ae582ac879349cdf9156bb696012f7","impliedFormat":1},{"version":"235ede03bdeeb87ca21b68fb1398ebc4749a924e2a7219977b71bfc9c51574a7","impliedFormat":1},{"version":"ec83a163716e8a8c2324e3f6b64c907ba7e5247b43df47f52edef954232c0211","impliedFormat":1},{"version":"15a76d1390ae38fe474023a51778887a6e39cc4204f65519a448ed7d1931275f","impliedFormat":1},{"version":"d7a9a81362adcd395f9db48531a89df84461595d189a234796e85ef983399042","impliedFormat":1},{"version":"7ac3584d37571a5ba61326f50860d843072ea95673e53d23b0b684635db9db00","impliedFormat":1},{"version":"96354248b7b7fe792c9545b7b153ef20763677692e9baa9aa6d1afbb17376ba7","impliedFormat":1},{"version":"5dce9f1eea7d40ad9f10295dff47b7de6fbb24b33858c0ff91aa75043e9899d3","impliedFormat":1},{"version":"d324bb068a3a98f3d7ff92eed388935a5ed4bd46b7678c5bf057b5a2ee9416d3","impliedFormat":1},{"version":"fe6e76ab5933ca777c6ce422c7023d44799d4832a8c5ce35e3592c8430867329","impliedFormat":1},{"version":"cc5beca247a7da7286a82c0f3b84686a922d0a402ead5d11b9ddd0dcdef5c762","impliedFormat":1},{"version":"24661a3d44d16268a8ac8260f35651526c54496ed5f29e559c066b7b7e6776c9","impliedFormat":1},{"version":"7c7ddd5cfbbab70612c216ab1d1f982468118fead1d57948ed31b41cd692c2fb","impliedFormat":1},{"version":"461ffe558e162cb3e451654eed59d0090a267818fde655088616be907007d654","impliedFormat":1},{"version":"829df07ac748fd372b8bcace5b46e6ce0420d2fd65c23f64b86e8a099b69a21b","impliedFormat":1},{"version":"162ff76724612621b2623b71139fae21981b276595c5e93a909b464c6eaf6310","impliedFormat":1},{"version":"4ec0abadee52b5287cba7929ce1c34e81a67a046c0299908158497ee85ff20b7","impliedFormat":1},{"version":"3b60b6d30d8be5b573e75d148abd155fb74cbce0795055965ad505afa4b181f9","impliedFormat":1},{"version":"5ea0f9746d216da9d45885462fdad43ed26dc4473ac6d289a94661c9a1e7bbbf","impliedFormat":1},{"version":"96198fa503333a1856039319ad4bc45c6e32afe2ede6a050e23fee2127139a40","impliedFormat":1},{"version":"e9dbaa3c845b96ebd98a7a3c59296fad4f5cbe4c2e471d0c54a248dab6d575f0","impliedFormat":1},{"version":"63c5fe7a04273a69125008737aa3c18212a1276b3a2f3892080c346cb589a716","impliedFormat":1},{"version":"adca096d8a06e8fe1f6f8a1d95dd176e0ec2216f5dce683c9c3656a9bb1e1f10","impliedFormat":1},{"version":"fe5cfccf2b757c44e7251d6ac822f4892d63f0dbbab920da4f24b893e655e836","impliedFormat":1},{"version":"e2a5e2a231048f1b0a8c6c123d524adeb3eda1464ac2413fd039cf5afa57bc54","impliedFormat":1},{"version":"8701130ab14da66b4e908e13c3ece584b420399cc543bafca971c414059ee5e8","impliedFormat":1},{"version":"811e9e98ddaacadbbcc92015fafd5f5ce0dbebc14f3536cbe225094b1d61f885","impliedFormat":1},{"version":"f7c8e5f19d7159bde8f8e9c6561c6e517953457faa86018a7f963b72863380fe","impliedFormat":1},{"version":"c0bc4b28c78bccbb158fb2e8b3e37a86fee5f26b6098a857befd864790da7cd8","impliedFormat":1},{"version":"e7b604762369c8fa5ffafb6e238a2c7af296e5a25bfa25cb33191b525f064cd0","impliedFormat":1},{"version":"dcabfb44bd25183c919819f87428fc589b20c3b9586825ec456f94cdb67bd316","impliedFormat":1},{"version":"41c39405eb8d94777d8b30d2bb295c258391ac4a45deef8d2f569b29bb82938c","impliedFormat":1},{"version":"f5786f9b0a39c790d245b33436e75576990e41e995e1fff1b0919833a57f4357","impliedFormat":1},{"version":"970025f12906d26ea3c1c381199eb6702b9c8cb0bec44edc02e86e004cf95eb1","impliedFormat":1},{"version":"8dafc03ad3ee7acabdb9254c702b80755bdafa7d7548cc6ffc21814e83055abd","impliedFormat":1},{"version":"e0dba6e973edfd7a5d8a7307ad1e6ec014b51fb7dac507ae132d1f9429016252","impliedFormat":1},{"version":"cc2f61e4781ad29f2aa93d4850de1b1d8313f242631f10ca17cc99411eb63022","impliedFormat":1},{"version":"6679676c1dc90d9c371f3de8430bf070ed36d2677d9ce3d2a336b54c5c40c2d7","impliedFormat":1},{"version":"cf2b168364792895c95f8f98f8fb662f07787e518e6d25b0f7c4aca9927a1bb5","impliedFormat":1},{"version":"db115e097d9ccc281414e7cedebfb0435d5bb14022f147331fb1bdad09404885","impliedFormat":1},{"version":"aa78c2b93bce87b73fccd6726cac3cac4f62927460ff3495f2a05553b4c04d3e","impliedFormat":1},{"version":"298104d50f65103c256ad79ff5128141000e4544a6afaa998d3099bee3975b84","impliedFormat":1},{"version":"a99f5ced5c95d7603c94c66a4619dfd0e737351bf20757de516b7f8ca193cce9","impliedFormat":1},{"version":"341b20f291eecbfefa6760a69f7f3f18b2094edcc794f4e78e903a5f0dd86fa6","impliedFormat":1},{"version":"238dd354909fc4a682e0cc4bd0d1eee8ba03197a4efa3cb284e502355eaec8de","impliedFormat":1},{"version":"8a3156a33e38b19f00d543a9f7a96054a0a4b051533449fb04267b4e533f55ef","impliedFormat":1},{"version":"bfd14082a4db87c2847135aab3d617ad7b488b3e65ac82f1620742548ed630f3","impliedFormat":1},{"version":"e2aa5b5cbc067b485de95616efb852886f4a1a43685ed7ea0ee8e08fec961cb2","impliedFormat":1},{"version":"3d6d27c275808a7e8540b1778a5d3808542518acda03f5c1ea4c9c5831058ea0","impliedFormat":1},{"version":"f534c1a02cd756679611ca2b36431b51715a0c59a070d413e292dfa23b9b5c6d","impliedFormat":1},{"version":"e26cccd0ef5654714877908c1674bee29a8e53d60c8c2d82bdffc12cac6b0fb5","impliedFormat":1},{"version":"ccf581fb8928f37fbd6509a7d8fa0d32156fc4eb414f434bf81cf7bd6849f7b8","impliedFormat":1},{"version":"69b227120a5245cddb0805eea82a0bea405872bcf595d2fce9fc03dd16133291","impliedFormat":1},{"version":"d6f495bfd0020102c67a6f80e411b00b913a001c468001b7cbe8c592c748f301","impliedFormat":1},{"version":"eb4463ba66be74eb04aeba3bded1f485a6ee90bed8c28a2c2573f0c983834790","impliedFormat":1},{"version":"a76187885d25a8aed20f71760c116bfb89ed1612d125bc190ab25a1a7a87ed91","impliedFormat":1},{"version":"76d36099aa1a0c7ea690ee1675ac4dd86cc62e2643cd40c097899268f8d2f7a8","impliedFormat":1},{"version":"815d7ee4cb5383f94b88688b8f2d70ce3e5df4de147d3669d225f8bfcffad673","impliedFormat":1},{"version":"afc6a3b94e405b3ae5d5038fe66f3b2412300c93ba1250805ee1a7ad19964ff6","impliedFormat":1},{"version":"b168bf198df3af94f54863a77ca14dcdb67af689d4cd876328f7c70bbb7b985f","impliedFormat":1},{"version":"54a40fe6e389146cb444299ef2d7d6e4ec83b05a9df2e7611fd1d1d862b2743a","impliedFormat":1},{"version":"65ec140c7cde7edee0f611bc84ce505cfa71916571e76f5cc197ba1dcde32f2f","impliedFormat":1},{"version":"969a96cb343d30bd8a28bad66c77049aeb0fabd9f608ad82caee751082685eeb","impliedFormat":1},{"version":"b30e161d3bbbe3f8d15b0bc5d9b47d1935ffffc7ced1099fcd84536c906af711","impliedFormat":1},{"version":"3eaea558e36977f924d85b3207406594568053d7a52950081b7603d112edefce","impliedFormat":1},{"version":"4918bfaa32bc0f63380d84b19bf5adff3188797b17b055417bbfdb09bd531d1d","impliedFormat":1},{"version":"5750305060905aff115cc0a6f295357099856fe72d76a1193204c23b4b9417f9","impliedFormat":1},{"version":"98195f663b1c09572bf794bf2fd7351b05d5895ed471589c0c79ae2e7c7d6b97","impliedFormat":1},{"version":"355e8226f1a83a02c2c5dc22781defbcf171df314f6f3205318851fd4550132f","impliedFormat":1},{"version":"8abeb772b7a7763686fd699980b74d9895863a758f2a6b824edb3d5e5c235078","impliedFormat":1},{"version":"dc1e2e53c9935f62739ca37d9acd484e83fd25bc051e5a330c9be0acbe774253","impliedFormat":1},{"version":"71a542cb540a3c0d4d954d311937a4df56157b0797489ea5cb8a9e57f449aefe","impliedFormat":1},{"version":"49fbd0ae0b53936499ca6293450230273cf299e017ac4a1cc8de936d50d8e696","impliedFormat":1},{"version":"d1a6aec1239a47bbcbbc55324d6ed293f79d4554f6bb0e411e206a9e22c50aa6","impliedFormat":1},{"version":"4e81f6b7048f1022bd8dd7dc18e43b4aca8967c4ffbfc8fe80bd4277936e5be3","impliedFormat":1},{"version":"5ff6328b404fb34d2828b501bd16f75bf17590d2b03a66a469a0359da07a06fa","impliedFormat":1},{"version":"149fbdfda86091cc37779a6eb3f01ac5c73d6e6d34a71e76bb3702a1ebdd8bf6","impliedFormat":1},{"version":"3c1e92d9a7a0c81d02f016c47de63a39706bb0e36231f2e6727a08cbbef6cfa2","impliedFormat":1},{"version":"ebec459a7d4933732cb453254997b9b9e7d17319dd40a29946f985719e297927","impliedFormat":1},{"version":"394dec85f81a33891c71f4e6a1b9a40afdbe93210d5dec749a2791deb57df5e4","impliedFormat":1},{"version":"19d2786de07b0dd973e5515d84182d2734f1c1ecf602929f75b30081fb20fcce","impliedFormat":1},{"version":"728d3db3ffdbd649c96fd64cb5766993cc8cb10b4ef207403fb98304eba04f57","impliedFormat":1},{"version":"8e4ae5371abcf89ca3059e621b666f1a340db0575f0c8635431417528f2d6367","impliedFormat":1},{"version":"de4f5917a7bf2c62cd3ab4c171620fd6e88a4a92902f02c0808ae67793e6baad","impliedFormat":1},{"version":"8f09f0abdd346cdbb1e545a44c85dcefeb047d07080628562a328d3e88160beb","impliedFormat":1},{"version":"4557c1259460570a893f9adb1547b5bdd19948497740c53fbaf654b20ded5855","impliedFormat":1},{"version":"ddf8a6692f74ae9ebdece687ec1cd9ff63811c5af27381b40c7996053a1b0504","impliedFormat":1},{"version":"de735626154dab7ceb24b208728b7461aaa5ad8848152ab0b39192e7bc0aa4be","impliedFormat":1},{"version":"c6296acd69aca14033c815aebc1b4c7fe72b92e44145dfe6432fe855c8c7b463","impliedFormat":1},{"version":"fe7df3fef3d25c0455e7cd4f36fdff7ad7b4d2163e7285a74d6a98a6cb48a282","impliedFormat":1},{"version":"7e9bf7c76b60c4402bd48996bfb0d1fa552a576991f9f73dbb856d15b0346793","impliedFormat":1},{"version":"29199bf01375b374d516e5c8d5d8ce1dac3c07cc52b00eebc0a7ba7b05baeb1c","impliedFormat":1},{"version":"7696d51d4ce2f2f21e9f73214396bfd823bee6c57f65d39e6a2264c40dd021f2","impliedFormat":1},{"version":"4b74f4072dacae8ba4f21abf5d042e5da499d027b0aac8e2d8f42f5f591453a8","impliedFormat":1},{"version":"d3b884fb07719c9457497fa9d5146f7977fed29df303347ff4175f630b903fcf","impliedFormat":1},{"version":"665320db7cce83346ce47ab3baa657b3115d796d28d8f778a98e7f23962b1247","impliedFormat":1},{"version":"3f471b5d1f378519b8276a869cb746d5cfc9b2bf4d7e5cbd0bdec3f9b5f81fe7","impliedFormat":1},{"version":"4afef388856e350489141ad7d90ab0767a02954d53d953f558237e04c89b5d0c","impliedFormat":1},{"version":"7b16f7f12771f8e25117321d1cb607e06be688ed8db002fe2cb13b716d0662b7","impliedFormat":1},{"version":"9412339ec64000a6dce5898fd848f025d31ec3b446872070cc041ade876c0c1f","impliedFormat":1},{"version":"726bc5d2505bf6051e80ede05a576e21d65118c077a8407ef4f9eca8d5445464","impliedFormat":1},{"version":"05f2af853ef135671b9482077d19a2935e3d924debbcf2f4803110bde114f113","impliedFormat":1},{"version":"134078b75b0105535f6164680bd73f88f9ddaa84b7e0126aeddd2af7ea27bcb0","impliedFormat":1},{"version":"264f0b10beaa4141a6bf228d2e22b19ff7baa76b39388da319bffcd1ced741e5","impliedFormat":1},{"version":"98682512d496bb618315de173d7a25ec363676da2457939f42b75a23c5acab87","impliedFormat":1},{"version":"1471ca4439a9dc9787976d1c9ca2b913908f4029465c87372d2efe2069c375f0","impliedFormat":1},{"version":"54b8abfc4713160ce97f91758ee1e8a547ba67c7328177d5e4c40613a3e87f79","impliedFormat":1},{"version":"60894b9993d7e1a7be37933c9bfe96b228ebc206cada93a44bca9d30e12d8d8f","impliedFormat":1},{"version":"236ec9d640fd6438a08dd2be3fb739352f147de529b4aa1953e4d4f74d6638b8","impliedFormat":1},{"version":"e75ea841bf22a156a7ae8f95eb7b1d4479da8c291019148d0a643027356b76c4","impliedFormat":1},{"version":"4111a7444998538da1f6f76378412547281e30cc5a7249b32e7402f66f83a492","impliedFormat":1},{"version":"4b9a4b3456012104409fde7f7631be98068daaafe1c49b627b8d92f033960b67","impliedFormat":1},{"version":"7f7840713032b2ad3bbc379ee2d401489b4e563294f7c87dbaf2424a6682beb2","impliedFormat":1},{"version":"b52b80732805d494ffee704b80f689772e1db9440c1728b907f7b25b3328d5ea","impliedFormat":1},{"version":"a805a58a4c72c7d513295fa7102284dd9cf76c1470e1845a6d7e9afa4bafa609","impliedFormat":1},{"version":"724e0ca25a06f553306e33a45951c368346cf1fc4b26b8bf4bf88b1479131659","impliedFormat":1},{"version":"b0880e598b7256855af6b9ea2aebdf47372444114264b56da9d25ea5f95d064e","impliedFormat":1},{"version":"3ff6607fc3c3a85814ec3d6e05e358d99773ee7c7b5e9deed5e086e39f5372a6","impliedFormat":1},{"version":"62247290540b91ed85258d7e8c67c7786e38bc1111429da9fa42b1b34e4ffdd2","impliedFormat":1},{"version":"656ee3f8184b5dfb87200f73350e57827dba056130d15064406487c0993f0e6b","impliedFormat":1},{"version":"b14c19907984b69ce25e011e6391ff6a150bb31f344d643f2a3d5af9aeb4ba73","impliedFormat":1},{"version":"2b77a0e88653109c708203a50fa23bb50406a9c8c7f61883c92e009f778387d6","impliedFormat":1},{"version":"2aa50966f709107108e7ad733c129c81f9e42731492948a9c23d4f8a0de5ae1e","impliedFormat":1},{"version":"080afc7aa193ecf03c78afe2e3d81cc3b18fa482f1bd955b4dca67bcbf220eb1","impliedFormat":1},{"version":"7282df0d72afd1c283644f5827159ffe0c899850fe121811e6e7e3eb77416868","impliedFormat":1},{"version":"07c70d4602003ffd9f23f8f6fc2693b7cf024a323a6d6146b11659105ae588fa","impliedFormat":1},{"version":"79eb7464a0215c82cf6fdc55b2378dc0a3aed416f03dc647fb6956975d446ec1","impliedFormat":1},{"version":"8cd341d72d1ce25d33dbe1681a9a5f27fecfcf65d426a0d0bb80ce97a1e37d50","impliedFormat":1},{"version":"4f750b488d0d1019bf8b6651e68689debd6106312ca7f4fca22627fc2d0acc04","impliedFormat":1},{"version":"4307994ad4d3a8d842a7d7da76f45f84e5eeaf1580e9b6071dd5fa6b8b21de19","impliedFormat":1},{"version":"87b54711b1c9791dd95b4ff88f814b489089f5b128f29e8a5fb7f6b8123f739e","impliedFormat":1},{"version":"4763437e8a65ec15310aa20a4ec288eae3de1b94b9426336ac423fddd482d70f","impliedFormat":1},{"version":"e2398ace0c73a5da036dbd6cab98008a251c709c56f1b665b6202e99ae3450dd","impliedFormat":1},{"version":"1a59a1ed95ac47cb6d1798a4dee9088b847f41491e57545e788ede35ed1204e5","impliedFormat":1},{"version":"c89ec75e2ebb2f5c2dce2d5f85ab59951cdd217748a49a6e0bd102fe69f5eb75","impliedFormat":1},{"version":"e653e5173f22f243892807fcd85800dfa4efe84be40e0ed1cccd15d62e1c9da4","impliedFormat":1},{"version":"973c290e94835130e51e934d078ab80e975a7bdf5b9563f5fa8de080a06c588c","impliedFormat":1},{"version":"5abc40134600b35d15fcc7305d5bc9e29942c64dbec6413137b55e77b689da1d","impliedFormat":1},{"version":"85c3303460c6339a77ec37ed9b7e06974f6d8e1351181b3f6f0c5180e0e7a76f","impliedFormat":1},{"version":"88d761b9b53ee5aa4ffe94d18e1c05c31ba8778beddcb8418f303c184f4f61f4","impliedFormat":1},{"version":"8ad1059fc2cf09ab5208fdc50a974a1a0c0f3737d81c2aa0718c583716b49f7b","impliedFormat":1},{"version":"ded7cab1c0c297958efedb1c4569674117693e0ebb6e8a1366cf7a629ba490c6","impliedFormat":1},{"version":"997c088bb8c6e1d869a689a3db0157d3efea26fa3fe49ece5f01044321949769","impliedFormat":1},{"version":"aa4d9968e228a15f4f93ba782c05f19de5aab2598ef8acd819ce72d6f4c9953e","impliedFormat":1},{"version":"1c4420d12393decf20734fff3f09f44daea5433869633ed11e9fed9b316523ec","impliedFormat":1},{"version":"25e74c23ca9d123ad4726803694ca249b958270fa3e98eb3de7f339f15241a45","impliedFormat":1},{"version":"87537c5c41597d3355cd28531f715bcfa77b73f0622d49b28b6064b3c0ba0ab3","impliedFormat":1},{"version":"56acbddbfb96d3e9502c73d87f216fd16b9954ce7fc345adaa51a054bbd548cd","impliedFormat":1},{"version":"ea5f8a7e470eec67d9b3a57a311393d9b8146d59e7d3965fc2a07745aabb50d1","impliedFormat":1},{"version":"d75a15490d5dc9b8bdd209200429a4cd31c139b1503e22e1ef743e6d4fd160f2","impliedFormat":1},{"version":"fb238a904625a2a0942f8f0aad2c96d5ba7b684b59890599a10d73c1bfd3f771","impliedFormat":1},{"version":"35c91fef4484772dedb9c253a07ad91912a8e349838bef1e7c85b93b6acd39c8","impliedFormat":1},{"version":"b92d1f42b729031910871b073bbf05b8d68994a91dc43a7fc64f88abff16db54","impliedFormat":1},{"version":"beaeb7cae58c1b074e1e5c4c0cc4e205b1763f0e9f413d7062951e1cf539b450","impliedFormat":1},{"version":"2059b7deab3beb764a2368200ead025358b48fe470bd6850500785d94c8fb5cf","impliedFormat":1},{"version":"da08b48bf74446b6f988e95f501693844d59d445487d89d2364b8bf431c8a21e","impliedFormat":1},{"version":"17c4db14970964450f5bdcd1349e6f3035419db7f7f9f88ee966b3b34cbaa8b3","impliedFormat":1},{"version":"a9e6f34151c8629364892059c1689e2f99775b3642a24854d0330112d6892cff","impliedFormat":1},{"version":"bf5fb8cea51021d395c45a092c1e97534d498c91812b99fdb07c658cf5990585","impliedFormat":1},{"version":"6bc9832d675edd15ca0c8e096cc4008e2791d822cddbe218e7fe65d33de8fa2e","signature":"78f739f5b91e1135aadb4752b0fbd6b6bad0fa86b3f0e889900982b12176fc2e"},{"version":"baad5518e27c0ff3bc6192606a3c70d64e52338ecf1a1492a3582c9e8827a7bf","signature":"9d01797abc1ce5d2b2ca095bee592fa4887661c3cb1603e9f126b767d68bb57a"},{"version":"a418d3e5729d2bc1f21789a3926a6e5db364e9f80410207f4eb28b55a5c70cff","signature":"afdce15dde5537aa0c81dab15a2367924eac28ab8f25ba3e403f7338da845b92"},{"version":"71dde8ef5faa2b2f5f4a8f56944429ff768600489ba021017b68473c93660eab","signature":"b3a61d1bb2c4eff882c25e5284189e1934aeb4af535fdb36694fc461cf4b7068"},{"version":"0b791c213954a91e7d80daceb4b7d7b53600a731e2227d3541d88a09fcea1621","signature":"b6e882b417c55fc40bb0b42ad061d8f97bd0b2fdbd2aec5aa2aa257420c7c2ec"},{"version":"c041ad3802a420609f6fbb3200a946b897838cb21b76e176e78b0cafa83698bf","signature":"63b2f936da9faea8c52723d6b78ca09ee0bb769833160bbcb000be8b7cb456ac"},{"version":"9d0c46e2b8776a71972db76904d933f54d190601cbd57b82438254c275808ccf","signature":"95bee50322d4d787b4a886030c691a2317aca49f557c115e52f95938343f65cc"},{"version":"df804257d254a2e00d640a55eefb2ae628da95dba0085ca824a04ea3ff69ac99","signature":"2302a6d37e153539b259b1f3bda1c10d344984b15efa30ea39ff5c83b5825977"},{"version":"74226e280a2991fdeba3808665dcce17f87736137ca79404c5d8d7c668eec8df","signature":"b4e98fe21b2b7cca7ccabb5169df346479a0e3bb6bf46c25946174977917d316"},{"version":"bb520dd5abb511ac234e88f420dfbfba03a6ef74a9c783850bddd833b8235b23","signature":"80923ea73f37baf4c06eb870a02060c68149fc8a8e47daddf6b55af1047d2b0c"},{"version":"372db055c8310930dcb90ffa00df06b44ac8e725c75e0c172786676ea6a11794","signature":"6179a86622a28cdafe5d99fb99e1ab06b1a06011bb9a8ae9d65d4697e61d5316"},{"version":"0d7213f8b71376061118e4f91a6faac51b38b372ad171b4df50bf3559ac2b3c0","signature":"37a718acb4d240ce0d45b7082a821b9bc8d9c523df47980aed0547887beafcb0"},{"version":"b858c7849e256828563264a2345354ac829be7d7afc77e2c04f7683b81ccc79d","signature":"e724140889de1a68b6fac45652942a37dbe94d0951da3249196817e9004181c8"},{"version":"a4c991c3fa2bc9437a6d84cd1b2557b904adf57f6e7098943d65a01b8c57acc7","signature":"4fa89a082213215027fc85892fd3a42bf898e652eded33469c2c31a75cc7db12"},{"version":"9da149c4fd78a4ccab4e68a54c0cec7c3bbe48163c7e4cb550569bbca603ddd4","signature":"f50138c9b21bb7d4b52c5bcb99ff08cab9112b3fa3eb67ba583c1c033f5658fc"},{"version":"baa1b838cd0e200f302fa49ee523d8f74fdf7a16c6d14a121621aec564cc92a1","signature":"fe0fcdbbfc40a17d638651589c6fdae7c4d56ed10a0bf9e04dc47fa42b94ead4"},{"version":"ea99af3c9a22cee8ea6b5754cb9d29c7076588361543519e0a95675747e2c17b","signature":"c77e23e46e99ad3082a3636b3fc4955831a6c50cc6be267983ed20d86c42279c"},{"version":"9bd02ddf990e7c7a97c5b70d4357ed3d8ca8f7bc5061615ea7b6d36f2e469ab4","signature":"59955746d15769af662a431f4bea5f2887de185eaadcf0f8e0df9766d138cff8"},{"version":"626f6ad7bdc6f9449001b307a7616cbea17057206409af31805303c118298cdf","signature":"96627b39bca01ecf2ae744d7ad0ae189178e0e4ca8ebb9dcda4fb0acc98020b1"},{"version":"78846b21aa4ab67d85ecb3dbc60337eed720d2398e8d43ee0ad403e70972823c","signature":"841a14e5dece7ada133bc3861bb86c781ef768e92f4389fd4efe50699f9e215a"},{"version":"0bdaf3b9ac7dea3986c57c39de9ded3d5d4508776b840dc0764ae0dae7fec9cf","signature":"9d9ebf5599c466264eba72e589edf73b952da7b96b3e2ea53cfc963dcbbf8b12"},{"version":"36817a296ae92afafd90b250316bb568a39791e1fbcc47b0ceda39b7c19cf358","signature":"c4cbbb9a9199762fcbb84959c728d247a6fb4035fdea2992a36c8dd770758824"},{"version":"eb3f998132c1ee368d9196be6771f374f6b809b6693f1f6a75be7118cca56145","signature":"f6a21896af14802ff331fa38713f7c2649cc5e19bbe7c90707dadcc592236ad1"},{"version":"5a11dbf49dfc0bacac057085c4c818507b8613630a6080846a330caa09f40a1e","signature":"887a929e952df6c08de135d3c73360dd80e833b99706ce3aef0c8b64b26ce68b"},{"version":"a128283ceced70086ed7a99436e55575c7d385f95ec1937b86e2d7c725c6e532","signature":"bb7d350c5b0c764dc29222248163f61f8540997db099b636c993ce1ec6981018"},{"version":"954eafdd8e119ae7fd13c652d092ac62f95a3c450127f9bf2c4235b9a5550f9a","signature":"7515a48dc017014e10b59b93449b24053cfe2f6cbec7424292ff04fb29f14569"},{"version":"6d9e1b7a1fa967fb8505a5fa33073efb38aec5e7b75f2dc6383c9f84f3b5c0ba","impliedFormat":1},{"version":"0462956c97fcc2f9a0f7a498600008751aae2b004f8ab4da34af41eb2fb5317d","signature":"8c23d09073975011bf5b8adde26ee58c4c5c27b5c4cc656a32313963f3388846"},{"version":"8e03d5a09d01f13dd41c86a4930ad9562cc270cfff625eebc6a261b27cfbeed2","signature":"d546106877ee81adbcf30a6867700a253c87d52a5cacf673d034666e2837a8d0"},{"version":"40c9ed5a63b54bd64ea351b5d853e67c373d730a8243e2fad4757eab3ec5ab8f","signature":"26ab3593d88f84d8250fde332b61ef8e6c9331bf4da6e89698ed83e95c57f7ee"},{"version":"42858b5e9f40b8a0b2f860a6304d779419ecf0c8773f6cf498c882bcd9aae1fb","signature":"2f55fd6804783792ef44c4afb78fd8a5d6a2810a4c02007e53ded6f01e24b521"},{"version":"819a9152da954b548e16204dfbcd75208938e5e1a21464998d2d155c14f08f64","signature":"b6ea2388d7e17effc8c7a702bd5e736213f77468d04bda4d8871a07ff6b191a0"},{"version":"7d57f62963f7f76d3e4604f86fa9e7fd005e3e11bc81490b32193dd9b3f019e4","signature":"f12acaa6f04cc3698628891d95a523a4bf0c03d03fb103edc7e4929709f1baf9"},{"version":"d6f4b9a418add129da3898008b6036a68dab54ec3997b04dd0bee2534d59a2fc","signature":"2bde30c5f8e10d5820a401c68e63e2b81a23077352c01977a10cc10a15f266f9"},{"version":"fc381b272ffe38fb6844f6885fb858ac719c2ef6e7bdd79f0b18d6fa4b708850","signature":"4b3f4c9228ab5427308c651bd192f9f627d6e7465d7e3eaf63422d09e1a2e187"},{"version":"1d4e5a6bac0b4de345e9261395c7dde4f5788f2bf2a96734b0fcd153d83284bc","signature":"37c0b6b7e7724598b96189a0153a958a908b1b73546dbebb7fceef0986e3ed3a"},{"version":"a67823a8d4a16991b3653dda2eb722a15efb2762dec299662a23322bf2394e43","signature":"419996c73365008124de6ed63224ae81323de45079174bcac6b0dbdfc0108b44"},{"version":"2076d2cf1cdaeaeb896e27ec77082c91b5e485d297935597e76c8fec1c08e39b","signature":"dc1097eff258d192d1b76e71f09eb7a5a8c9b4776c6e8ce8af855e41ce73a274"},{"version":"a84795af5152dc3fc5782eedd4031079b9753301847f158ca3c979e551a4ad34","signature":"363524bcf11b6a009efd4becfed098d9fb297e3ce41c225410cc1ac2534b2025"},{"version":"92dc4e8b3d0e8dea1f5abbe30adfd3910a7be441c12ed6fadc738adb59f9bb2c","signature":"322baceb1c9f45aedb9e5100ebbbedd07a164fc03ab9e98c462e32b41cbdc90a"},{"version":"c75b88ab256caaf15f6d38681016b6438fe2c616cd0371bf42c168a455488869","signature":"fe0cea76d1c6a718447bcd594059ac0a4c7f60b9452227e9bd6af7d564519f45"},{"version":"673b4a9dc7a23138c3dcb75f1a77cccf8d2a11167df9587286d6140b2c60499c","signature":"2a19b3b4d3185bf1f4436a1b8e98727005b207da50322e24f3cde25162e2ad2b"},{"version":"4ccc411eab7ab26ee65e6796dc137a43eb6d3145e6c616cc3fba32bd3901c240","signature":"6ae54612df3cf99e70e10a844f31d4aa1629ae828bfe1e915701d5dc1311278b"},{"version":"c37155416601c041802206333c2537b309d8031770da2717d9ebbc0fbc0f1527","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"6d870a6ebc4af392ccd2875f99d1dd4c90db167636e4b267de2e1d3ff14a6104","signature":"d02c70b928a2b77ba435d387595ed3b27e4466e3115d7b71a79c36c592238798"},{"version":"2f79a63626adba271a461cbaa34c976c26be8e474095b1bc8a80ce6e4fc68536","signature":"019c10e3a4d1413779d87a055ffea70d5dfd127b4b65a51cb2e20fca9e8f1f66"},{"version":"ef68d70baf9635137535142e9df63e515a9b8bdcf9906d6edaaf0e93313ac3aa","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"d1d17705658519c7d57ce6c5cf95f0c894c2dd754ad1fcaeb1e2c4207d54e6e5","signature":"0bdd8b0d06cc0910bf6a36f2bdf87794634ab7014e178c7a7eb928437c6e5b76"},{"version":"688842a137a6cf51df9153af0452d1099fa559ac47504178827954a0957f4d1b","signature":"b4617ba82469c6492e4a6309e2cfad3c4a4b8b9feeeabe26293e7b3559362ba3"},{"version":"bc23a9eba2c69e497917dca9118a1a1169c27b9c527693802899955e9874789c","signature":"077309ec211d24c291b6f2483550990121454d5ee75109b3802b3c82d966557f"},{"version":"3fd930ef5d29ec40a3b52a43571be8356a95cdc215ea8da402feb0e67daf57c3","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"697256913297b09bb0b83b40de56ad875baa198a0d1c03b8bd9a8f8f77c2e500","signature":"bce98e573080ea97bd3c360011d50db0affee86bc74443866897c0061708072b"},{"version":"3b455aef3a8f1084aec20cf655ea99e1f68620df4c3f6071e8eed404a1c379f7","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"54dc720078a1e4b9dee72d9535dfc939609e8bd23bc5d58201980f5a302cd7e6","signature":"76964f1fd067c7ecd79d2dc18affd81fb2f0148dce268546b64bb6cb0cad859b"},{"version":"2c17c6e842123c5c921ba98cee5bd3886f3eeffd42eb3011819cf99cb5b02ebb","signature":"fad4e252103942053bbd84c183603d06e19da7332de7d295294f368a69af0752"},{"version":"47762a84ce21afc46f46c000e87fbf6b3035b5944da16ca8ac62de576d877fdb","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"937a3521bff8fc032a57777777feb260c9ab218d266ac3d7723f7de32a48a430","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"a3858cf95d68efd835700eb41b1fdf881906eaebd35b07596bbd5b7c1c6fec6c","signature":"1671fc31a114078bc9cb71989c1919c504f1af4e0690995b055181a1932bc74a"},{"version":"339fbca5cf5752f3fa77eeef5ec37c42010f1549655b3796eff5f4747e419488","signature":"62fe02bacba35050e65ee17fa4bab71e61914182c3dc9339cb6d40ae242efb41"},{"version":"357afcfd45b1bbdf4029dc5107fbf70fbfb519eb1f7cce5c9d9e5dfceed98efb","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c9d2066069488cecf420d111d0201193958022a2905ac6c66689f50ccecda6b3","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"5452448d44362f60de4ad50c0c5eff76066ef5b1b9f2b4921e83fb50a0c568d3","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"b844ab1a3fae4e28340f892e87bba7800a7d0500ba3c8e51e36552620dd5d5bc","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"a5a7b42900c17657e4fecb9034c6bbd87a02fc402ee49415ae9cafdbe6f9d1dc","signature":"12ee1ad5a651c4484cbbdc6ea7d594fe1f8adc9684006988275bd671f510f581"},{"version":"f7409ccc7875d9cebabc5e27d9df8f3aca19ba959f30fa1b486418ae9c3058e9","signature":"de963461fc2f6d1fd065c283aae92de10d72a4cca1f7fc0afef6301e741fd381"},{"version":"f51d0b8cfa092a592caf543d772238f191037278e2004d58e7354447d830863f","signature":"986bf1e9bc3d1b0b157927aafcfbf9e94478b28eda319c209ed8e9e613e14827"},{"version":"3b9d0ef4847a6525e297172e340c0dc383c8ab6c58a27aee0a27b2df991ecef1","signature":"57069ea736148610272f87e767f23439015d900f230c3060afa193d6b9029cf2"},{"version":"812fbe241e51f1fb745bfdb0cf447cff8a9802beeac16df1980f14499990900f","signature":"a4c0f47a1176dc8ca692834c31a2f1c95994955eb191e76cbf3e58dbd16ec08c"},{"version":"3cdbef5d6bb0c6201d2edacc2f930322c36b9798b90131787398324b67bd2130","signature":"b84e31232011f6ac9ded7e727871f7c1ece606d8179950f791bcc03ac3c03b6e"},{"version":"d6c2a85159f32ddee646895592b5c53e04b18cfb5346de79c2d003b814b601e4","signature":"2bc381b2105d5a05c2724fa4ae393e83f0adefda1e390db743e55a0cb949c099"},{"version":"9fda6fefc6a936e326113a3d3dcb56da7dc7c2a7a064bf451429b51e7b645d8f","signature":"f668ac39f924b2946f0e323d23da14308c0d996f579dce2b5fe5c9f2085c9ad2"},{"version":"182221370b4c51b9fdd08f71c259596d747b565fcebeed2875832d1f2f556c8a","signature":"00ec18666782d50d3be062bceb46231a3e2c4abae3128f6638529e9fdabefab0"},{"version":"e1d7527f3d057bd92e487081450d9037a1dc9dd5e2f8e84e1fb2f6c09903db4c","signature":"0b482267029d52a5a2ed300385e2fa5accbe0f69d22bcc5c5f541536e169ad5e"},{"version":"41d344efc8e2dcfc00c0cd0d7bc8f5dabcc6bb0062766fd17aaf85deb4d60ecf","signature":"83df5dd9f98fa4184cd1227ae312c09558f5a00b35243e263069a3a545e7f6b9"},{"version":"d6452b09863385bd57e48e1fb836f95c3a6f36ebe690e342d834fd2868d6ba74","signature":"b9288778951e14a9a541d06ead6a2b1abf3b7541a1680af62e4769e632ff1263"},{"version":"013138b404f25c507cc7dcd1e2ec3b0f7e7e7abbd42dc14003000066fd6b230c","signature":"c5b5d15b1d1ffd42b97d02288dcebd33c4fdbc062b395d01ced9b0c88e417211"},{"version":"e1f90140453b0fd52c46cc6ebfec2ebe754483c05e50dc74caae321d41e7a9ac","signature":"da215cd8311e3d53ac952d9a12e0fcebedf7d76b9f5692525046d7bb0ecb1cc5"},{"version":"5563052849dd3f93ba63a20568ac06acf6b8e15c0b57aee1bd452e7e4b1d5d95","signature":"91db33413af7e79f8f5639385fa3fa68c2595993f3f5bd6d7efaa4fe19dc94bd"},{"version":"bb2cef14d223750bf32f070eea09b2b2e176e10811d5c34f7a824628bad9dbc6","signature":"cc4068562a009b8285b75a2c53ea7b7323cc91785c59635e98b38256e80a2514"},{"version":"c5e286949fb1b24d3395196df616ec5f9090c2569534e48d1aa86e14308f6f2f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"908b7b3f2c71140accb3333fa49485ce1ad10ac4e14faab10ed51c0c28c68782","signature":"d19e4f9294c2efb124088d0e5dc71b2faceaed9cb614ef974ab0c3b925374891"},{"version":"637c70ab565be71168064142fdc7fde5a58ab95425066d3c8a6c3c592ca7167d","signature":"5baac7ee5e50c4c52bf4905d5cf4f735c939053555b99a56d1b743630788f665"},{"version":"2178789bd22566bcaa973006fa541e2c70d5698b5c099831828c9a1ec141802d","signature":"b905f364397e04bc6a90718495a5af33bf9720262dfdf619a090e7164d4f5408"},{"version":"6fa0ea6916329d3aa5c6056e13512e1757edecbce26dae1e8e5a3334e81fbf93","signature":"98d26fed15c1969891bc73c9dedc7278cdbd15f3afe3e34efe01c27dde514ba5"},{"version":"dae66bf6a17992ce4aaa4a16b8d8c590e84c396a341cb70ddf61ac2fe710e089","signature":"173c629dcaca1da42db9c0a508d079657fcc0cc56db24103f8a8171294902ff1"},{"version":"e7a672c4cf7f2314673b2fded201b122b6b4eda779709e2cb235531e8fac004f","signature":"db1016666977bab29ab1854fb90c9ed76f0632bdf412c73c6fa81412a02bc5b6"},{"version":"fa8dbed00530fb4114906cd93f7fb55512c8eb9551d2f2e9796c69a4da4b594f","impliedFormat":1},{"version":"3871ce03ddb2e068e59178c70a88d8830c1cf28ac243d585e267aee1fb5f0bc7","signature":"8f04114d05b5db969453536c2b5f0b92cb28745a7a03fd47f425146e4b9ad8c9"},{"version":"ad5ea69c890012a5b61d4cad41a2d1c2bf581a023eb58290c5ea86554184bae3","signature":"d73e7d9f551a968dcbd471ca03440ca263efb053defa3a163b94c429ac47729c"},{"version":"da11ab55563abce966b549bc9121f74f71d0aa0f0ad86f74c93d7304634c7007","signature":"2367a890be9d6752275d2ec6b9afd812c0b856d943b32e51ec662d6aaf6968be"},"6958e241f880588015372a690454d0f7c0727b78e0a9882f493e2ac0fada857e",{"version":"fceca4d896e6fd11de25ba760ff482c087c3a2150da1d841b8092bf8e1dd812c","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"7a732b03d5a0bd9c071d5887794887796b8a5cc30decef607a565735d8cdfc0d","signature":"f1983b8ef21692b453a2ef5ee21b5f8e5c32fea1e87bc833c55c781c109e45bf"},{"version":"c2d4dfa9bb5bbafa31b4423a78c2df02ccb51ad3f4abe7dcbbfaeb8dcf2cb82f","signature":"90b39c231c33d05240cbaabcfc21d94f68e05b5d9d2e972b644363be2133bebe"},{"version":"94adbb305113a8e6572989713200d1eba425e7a01443f1d02f4bd9a66f7f4fa3","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"3f8860ee39a7c1ca7824f29d948eb3f2160caa4cf4b1df9380a9b9b0c1ea184f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"a13bfc666d310b2b552c8a2af2d17c2f8ac8c4ad431eae9f9e961a1fb988ca04","signature":"a7c717bceaf09367324737ee4b73cf87e7c45ef1447547eca4853e516478c7cb"},{"version":"cbcd7e3639eae69860983466b671c160570ff8bef3295eb9d9cf3a918f7c3924","signature":"22039e2144d09a04262d19b5f0e4237ee40bec8322b5c9574403a9103af52044"},{"version":"2b7bd4c530f8df99a7c513289d15cc3d919182a3e47a509f7dd66f7c0c618c64","signature":"72347dfb5a68565183de9758ca357bb879acff2d8dd025002d023281dbc9b755"},{"version":"700a699bc316498b27b98820c837965a737debebb4fee5d0a027e95d3c4a1925","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"b61da04f747568084ac75ba893c009197a7a0bb511ce6e8ea11ec3727b1e0bff","signature":"659c6cddd4e661edcbf460b40c7b690f346714057fd0faf27d1400d95cb6a398"},{"version":"5e92985539c56d5b665b392fd3883c103e0a83b63a79955d940547f494a87f27","signature":"d273813f1a71341c5f482788561acb719f12c65fcafb4f36423a6d409856d472"},{"version":"1e36aa6fd246d7240a3598e917647e1d2ca0380a1b7bb3b8e3945cb26941b031","signature":"9e2bb88f173d3209e25d8856088cd88006b416949bf633f766578ae5b18f8488"},{"version":"205f7ac530c6e5712a640fe3b0dd9f29296ace25043f7179ec1adb56882a1c37","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"5e9142cb5f88305d5b5db601df9fe78244144630b03316f24b123c2bdaec5cd8","signature":"72a4b4bcd25bb33acac0c8d83f0d4d198714a06e03c49046690f380b9736998f"},{"version":"34817c134a9a64cb3564c424f056a13554d6c40d31af05be7ea6b28cd9d0ac53","signature":"cb7b15b1e17883bae1ff4a7a2edc4e33d311a2addd22d3799520aca9c35809f8"},{"version":"90453ef456c9284945d132c4d1c29753bcc06b0b7b1df7910768f748d4630160","signature":"d4d3b854dee0def611af8377422b5caef70f3b8c2c2d10ee3bb9ffb97d51cd45"},{"version":"404d9825e0fe3cc10db20060d068fd4f33c85c245ec9d2f99a20d05b02291b20","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"354afe485d131f817329e133ea768376707f9e4041d68975ba6f8b6eb2deca05","signature":"6fa430bbcceaa6953e336c4592420298d31fe66327f7ca06e6763ec70c20240e"},{"version":"0d0fb8169becb3c35ffb1069d105e59d36e1152bfac10d47d122129c8b6ac89a","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"af2b2a730449f22a36e31020631b3f73fb89a0f41fcec38cae6026bc91ffa8f2","signature":"a93511a9ba3c3a239d6d17527c51c2b2a75c994c354029b2d3512e321980e4a9"},{"version":"cf9666636c6b695a0188d6fe4e8441f685cf76f4639552360a084ae53ebf8eb3","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"b896f7edb73baa82361a305e9e69dc8efe1b0b82c9d80e0aae4a01caac1b80af","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"dc4ffeecc189d198af9ce492abed824b47bff7e7e6f8ec739a0eccc849836e4b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"598e1063a09bc7bbf1bc527cd19769aadf213b151d89921fafd9eb6c74121fc7","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"39ca1c24e657b1083a1798a005f0b4c498c547d400b627ef388ed8498d334e22","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"9b05dbef22d051726098dcbc6490886790bf7bdb93aa9f8a46403fabd59128cd","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"3f4784aa9fcc39fc0986a29e1066a510ba747012e13a944828b737a0ac9d890c","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"2d0006e2c2a094ea0fabc4465b2cab0d7e8f5e785b3dda2961c2242257908b6e","signature":"a82c92852eb3872216a45757430fb88588440285e6f17c1bb864abe9f209fcd9"},{"version":"2f1a45e754761c4c17af1ecbd707a35ef9421ddb2daf244d1237aa929f919ba1","signature":"a76cde90a90b5582bffaa8aecdbdef0ee7d82667c57cad2c076404a3bcb741b8"},{"version":"5ebf1bcfa735477bf05c2a72f05efa171db37d28e39a690cc57d28447e09b070","signature":"ff96e4d1e720fdea29de66b9f495391d4c8c6b20fa4db88964df688d5a8538d4"},{"version":"73a0ee6395819b063df4b148211985f2e1442945c1a057204cf4cf6281760dc3","affectsGlobalScope":true,"impliedFormat":1},{"version":"d05d8c67116dceafc62e691c47ac89f8f10cf7313cd1b2fb4fe801c2bf1bb1a7","impliedFormat":1},{"version":"3c5bb5207df7095882400323d692957e90ec17323ccff5fd5f29a1ecf3b165d0","impliedFormat":1},{"version":"ed79d26639d1d98ab19d6f419180e5abe2f7fc6c194877d809282813888c98b5","signature":"46713144a8e07e24962b43c73b40a4f4b16e696eb52b8b519876fcd1f5e6eaf3"},{"version":"31152f7b9d390e7fc7d92db8ac3934a2f189432dd8cefa237ceb51667511535a","signature":"3e2364dba15210b59a74593c721b4946e89b6cabf1c4852738003ee79509f4a7"},{"version":"26a7fc2c9efa90591c196a780ebb5940a3cfd7a74245698b2c0e648986755e76","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ef20d9124a12e824c20d04362452ecbbdc6c9f3de2c3c4b231222870b9586e27","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"02ae185acd25001f4af91e9f275661d7d284ca994374867cc564ddf22f8a6082","signature":"ffdc10811704d4d944dd41a35e45ce568ee973c9ac0d5c0ec71fe098829aab6e"},{"version":"535fb697e71bce5739129ef269f852ba83a2eea358ce8ca090f4b1cc905af9bb","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"27cefa9a8df763b7c4e3abc76cb9867d1ddad908ac8c8d1e2bb32c3838616d4a","signature":"ea71b9399fcc1d3c46ec554ae15f397c40bf146ca2d9a58374cfb7116c343ab1"},{"version":"d1520fdce7489a3ad57359fab13c79ddc0a2a6d743940358a4dd3ad8d959fb38","signature":"45b074b67e77cbd4509dbcb1d78e40925cca1a0e67ff79fed1021bc48c262eda"},{"version":"c65bec5967ebb52be456a4fb70ac4cd92ffd671aaae4661cde2062fe3117fb7f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"d3cfde44f8089768ebb08098c96d01ca260b88bccf238d55eee93f1c620ff5a5","impliedFormat":1},{"version":"293eadad9dead44c6fd1db6de552663c33f215c55a1bfa2802a1bceed88ff0ec","impliedFormat":1},{"version":"08b2fae7b0f553ad9f79faec864b179fc58bc172e295a70943e8585dd85f600c","impliedFormat":1},{"version":"f12edf1672a94c578eca32216839604f1e1c16b40a1896198deabf99c882b340","impliedFormat":1},{"version":"e3498cf5e428e6c6b9e97bd88736f26d6cf147dedbfa5a8ad3ed8e05e059af8a","impliedFormat":1},{"version":"dba3f34531fd9b1b6e072928b6f885aa4d28dd6789cbd0e93563d43f4b62da53","impliedFormat":1},{"version":"f672c876c1a04a223cf2023b3d91e8a52bb1544c576b81bf64a8fec82be9969c","impliedFormat":1},{"version":"e4b03ddcf8563b1c0aee782a185286ed85a255ce8a30df8453aade2188bbc904","impliedFormat":1},{"version":"2329d90062487e1eaca87b5e06abcbbeeecf80a82f65f949fd332cfcf824b87b","impliedFormat":1},{"version":"25b3f581e12ede11e5739f57a86e8668fbc0124f6649506def306cad2c59d262","impliedFormat":1},{"version":"4fdb529707247a1a917a4626bfb6a293d52cd8ee57ccf03830ec91d39d606d6d","impliedFormat":1},{"version":"a9ebb67d6bbead6044b43714b50dcb77b8f7541ffe803046fdec1714c1eba206","impliedFormat":1},{"version":"833e92c058d033cde3f29a6c7603f517001d1ddd8020bc94d2067a3bc69b2a8e","impliedFormat":1},{"version":"8e6427dd1a4321b0857499739c641b98657ea6dc7cc9a02c9b2c25a845c3c8e6","impliedFormat":1},{"version":"58da08d1fe876c79c47dcf88be37c5c3fab55d97b34c8c09a666599a2191208d","impliedFormat":1},{"version":"e770447d49d5c7ee25f80ccfff0f95003e08bf1147d039f0e8320d95d882c76b","signature":"399eb8b682bd93241cc96cb483306f8634ba94bc17ddb123e9106088240e9c7c"},{"version":"15ba1669f8cb8433a7a7b40422f81fed4f7e037e3cd4ca65b7b4af0434a43560","signature":"4f83f97fe204009c8bbad58d06e956970062930bd694b7ecd88d13a6f85f7e3a"},{"version":"a18970969188e47a48af09738dde83579f9c85bfd731675b671c1f32c5bdc134","signature":"f6c3f2c52494a1c44f58bc28dc1f8f89c7e3b0d005a5c3bb8789f82131996dd5"},{"version":"68ec8a37a3f7ce830a6be8e0ed448f8907f638e02a22a12a0f76a900d9f7b258","signature":"37f7acbfb476967d35f33541ea813afd46bee4432026b3d709b41a0fa1b0168c"},{"version":"3e1115b3a04b95b14ad0120e1fc860a1b6f2eb50a343f1508f0c2d061d2b415e","signature":"a106b89d0f087d87ae0039a0e1db8b124cc18686f3ab3684123833508e9fc813"},{"version":"8ff99737e1cb8998798508bd832a020f72a396380fc87816aaae168efb07e1bb","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"d9380c6a61635f8a7019cd889f3c9edbb47a2664847d029f935e632f35fa7b09","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"e70993be79de2ffc2132f91126903db8573e68b0f5318ec48eec97a5e09c5f8c","signature":"c4c000f5db2334ea4e2bc0b9bc437d27c292ba078ea53202378b878846840865"},"9eed204f26aed45ba513a001aaa78dffd4bf0194ed42fb59fa4a5b48dc382767",{"version":"bbed8132ccf8ed24e09b7a0c103afe746ec74c3f6d497676ce9a2b09a8e0e4ad","signature":"e9805c8a045ade45cf5dda8406be734ed77bce51fe25e6a431345e403964f502"},{"version":"1b046683cc56fca31919c8cfc9a7b47796d986b2df18c1e55615f7f67a464c0a","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"954e64b65c8632c8e6c602f86ddb7a855b541f719153c52586da47df81740592","signature":"5747318e625d94d50968119db96e4e9b57f386c0fce3b015e26a5e06819ded72"},{"version":"8e67d08427faa2cd614ffde8279aca632928a75610fab7f0e80eea0481c3ffa0","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"4dd230e5ffb901e4d715a7507fb671f3510cbcb3781701177e09efce8cf30c6f","signature":"7a3b7f911a6906b2fd8d38f7347bc751ff290914c35f2998438f2985dcea418b"},{"version":"d79917970e2012fea644dd1c3d00e7499579d4adfdd3628bc4d4153c2fa38d2e","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"eaf4a58ef586c168ad73bf0bf2e4fc7b50b0207046cb03e70f064e23cc7410a2","signature":"dab2cd6f392f32d0e94793582857c06a2d1fc79ebafc631e2b80e4b0c40778c9"},{"version":"08e69d30c063db86ea2221adf2282b1c118723cec16131cbd40024f3f43e5a90","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"80ccde47e35b2546400135ffc69d55feb65a4a473964a40cdeda39bcfa10aef9","signature":"2cc35ee4dd1c4f9d97475451cc25f443a692f68f9bc47fb0044f009e356da599"},{"version":"a2d8e5740b1d7e274651ad4e68fd99942d7b33d67adce2d3ff8b976d12327840","signature":"d14e729f535d0e6d801090b439ff6f73f8ae7d713de7468a36d5989f0f10f19a"},{"version":"1d57813ffd927563821c58c16a5a7c35d350415b2b8de5978b370c78b8a750ff","signature":"d5d64072f36683f1af5cdbc66e7ac58d839b6b2d99cee1b0e96df9f4413640a2"},{"version":"70fe6d07a4bad7a73b493a4bfbe2c5b501167449f0e95e3a896261e08d647b67","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"7d2792a15bf4bcd948e330c3cb747a075d137db57ac53adc6900f69009dd8978","signature":"fb6fdfe7ee4e1c16d6bc8b3c8da0d22ebd365981b6c4dfe881b391328d68f220"},{"version":"75e64a7fcef4db0c9ff13acc31c53cce109194012351733ce9833347e0a8e518","signature":"a97e6b4712135857efbdd73004c551d3a71d65d6b8a9d8f661f608a47b607cf3"},{"version":"a24154a3954030448c58433c23ca4f6d78e763a3af035de3d9633cc9158d7038","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"72fc4be3f73ed954fa04a52ebc5975c56b5f13c4265392191c95028ec27daab5","signature":"13a8b4fdf45f95814460c5001fc04194f85ca7055d460a9f852eed3fbd5c2293"},{"version":"d3a3a8fa4cac4860d3fabd83dbbe072bd0db08b6dfc5447fbc3f65a480bbb896","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"773df341514640879d77b0b24b636e6a8ccae2e88bbb09cee7383274046eab2e","signature":"3f3e3ab94baceade05836e0805fd32550fc1cad12d3d31a2fcae6d56882ac2f8"},{"version":"2d96663076cc7fea06c11a0165be63c11b533672c6d02ef361bd86f8394ecdb2","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"95f053ad6f9e8f22fb9a0309e14a768302ff5f8072b9bc24b8decdcbdaaad0ff","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"bc4cc5cacfa347d15035093ecc8a2c650968fd9208de260c8c141749d1797d23","signature":"8efda6ec7129eb4762df1d2b2a593fe59c69f1a2d5696d6d7bddeff50c24b17d"},{"version":"de7f6eb89010bc7d22b76bfd8d01ebdf803df6bdf7e7b7528d2705f74c401e58","signature":"524d6c27b0e7b81e021da931ddfc29e60f33e2573ff117ed95e8cbeb32f5c8ad"},{"version":"745615f591324c1ce4fd8a905b5af838474e781548807dff21154e64b51e945d","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"a1a2e508046cbc9709255c938bf9935cbffa6cfe006cb5bb7f36b9f4c5a3a2db","signature":"ecaff6497b5a358a301ee7363dfd9c78325e9cb23d95bcc873322faedca7d3a7"},{"version":"d09eaa9c4d651a351d0ed84a88a22b35bd41f307ff7aa0fc356a2b7ac41ccf25","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"005ce56f0d10ed61656324f72713a4e920f12a8656def94bb1735e9cd8392ad5","signature":"484482bbf35c97458c170dd84777adcd87d6e9fcbeac3ed86ba79eaeb8cc7968"},{"version":"265c9ae2b7a62781e57de439be00ccb1b8693156cfb98a0618ba6c5c54596e42","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"34330c5f52442c69dd7c50d7a95912d87b85cc01be135026a5d7ac060b184464","signature":"720e771373458011bd56c0c6bbeea34302eea42ccf08c8a6b5840a338e7e93b9"},{"version":"e7f0547a22cdcb3e5d9b0fd91191cc2dba8f75a2694eeb4d45a9ddf2a8352960","signature":"c1f5f74ae95ba44d64781ed79486fe7192478040d82d787876f44bc7e77418b2"},{"version":"56208c500dcb5f42be7e18e8cb578f257a1a89b94b3280c506818fed06391805","impliedFormat":1},{"version":"0c94c2e497e1b9bcfda66aea239d5d36cd980d12a6d9d59e66f4be1fa3da5d5a","impliedFormat":1},{"version":"eb9271b3c585ea9dc7b19b906a921bf93f30f22330408ffec6df6a22057f3296","impliedFormat":1},{"version":"aa4a927d0c7239dff845a64e676c71aeed2bbda89a7fb486baab22eb7688ba1d","impliedFormat":1},{"version":"340a990742a00862049b378aaa482b5bb8323d443c799dded51ce711f4f8eb51","impliedFormat":1},{"version":"89eeeebbc612a079c6e7ebe0bde08e06fbc46cfeaebf6157ea3051ed55967b10","impliedFormat":1},{"version":"4c72f66622e266b542fb097f4d1fe88eb858b88b98414a13ef3dd901109e03a1","impliedFormat":1},{"version":"15d8dcd70d6cc6c75476a75ea83c53df1115bdd551c73ef2168a9b4a4bd55a51","impliedFormat":1},{"version":"2acad3ae616a9fb5a8c3d4d7bb5edb11d1d0102372ee939e7fc64359fec4046e","impliedFormat":1},{"version":"c812eabb7d2e13c8e72e216208448f92341a4094dd107cbb0bdb2cb23d1a83e7","impliedFormat":1},{"version":"f734b58ea162765ff4d4a36f671ee06da898921e985a2064510f4925ec1ed062","affectsGlobalScope":true,"impliedFormat":1},{"version":"9619b4a3db123eee6912ce9cbeae535739a1b1736dbbc224a697a2a98fee560c","affectsGlobalScope":true,"impliedFormat":1},{"version":"9c5c84c449a3d74e417343410ba9f1bd8bfeb32abd16945a1b3d0592ded31bc8","impliedFormat":1},{"version":"a7f09d2aaf994dbfd872eda4f2411d619217b04dbe0916202304e7a3d4b0f5f8","impliedFormat":1},{"version":"86ac756569f83cf0571646c916b546634652e92a775e964304912ecafa81dc42","impliedFormat":99},{"version":"a7f23fecdccf1504dae27c359db676d0a1fbaaeb400b55959078924e4c3a4992","impliedFormat":1},{"version":"bee66a62aa1da254412bb2c3c8c1a0dd12efea0722d35cc6ea7b5fdaa6778fd1","impliedFormat":1},{"version":"05d80364872e31465f8a1eaf2697e4fc418f78aa336f4cea68620a23f1379f6f","impliedFormat":1},{"version":"7345ba3b9eb2182d8cdc4c961b62847c3c9918985179ddefd5ca58a80d8b9e6a","impliedFormat":1},{"version":"81c4a0e6de3d5674ec3a721e04b3eb3244180bda86a22c4185ecac0e3f051cd8","impliedFormat":1},{"version":"39975a01d837394bcac2559639e88ecdc4cfd22433327b46ea6f78eb2c584813","impliedFormat":1},{"version":"7261cabedede09ebfd50e135af40be34f76fb9dbc617e129eaec21b00161ae86","impliedFormat":1},{"version":"ea554794a0d4136c5c6ea8f59ae894c3c0848b17848468a63ed5d3a307e148ae","impliedFormat":1},{"version":"2c378d9368abcd2eba8c29b294d40909845f68557bc0b38117e4f04fc56e5f9c","impliedFormat":1},{"version":"9b048390bcffe88c023a4cd742a720b41d4cd7df83bc9270e6f2339bf38de278","affectsGlobalScope":true,"impliedFormat":1},{"version":"c60b14c297cc569c648ddaea70bc1540903b7f4da416edd46687e88a543515a1","impliedFormat":1},{"version":"efcdea26e9115d5c05b3f4c5827fe3b32b4fef1b59dbd67f529c6cb685c7d9c4","impliedFormat":1},{"version":"bb0c361fd2b4bdabbf1307f1a61fd14c953f2692fa642391f93276f2df41de50","impliedFormat":1},{"version":"90588fb5ef85f4a8a4234e8062eb97bd3c8114dfb86a0c67f62685969222da8b","impliedFormat":1},{"version":"6ce50ada4bc9d2ad69927dce35cead36da337a618de0a2daaaeeafe38c692597","impliedFormat":1},{"version":"5fbc333346d28f290d42ac81cf16e454fd3947c6e524384dfd3ce59d4ac3af04","impliedFormat":1},{"version":"072163fdea42ece03bd323b907f5d6acf575a34a9dac4620e517e4378d773d0d","impliedFormat":1},{"version":"df6251bd4b5fad52759bfe96e8ab8f2ce625d0b6739b825209b263729a9c321e","impliedFormat":1},{"version":"846068dbe466864be6e2cae9993a4e3ac492a5cb05a36d5ce36e98690fde41f4","impliedFormat":1},{"version":"94c8c60f751015c8f38923e0d1ae32dd4780b572660123fa087b0cf9884a68a8","impliedFormat":1},{"version":"db8747c785df161ef65237bac36a7716168e5ebf18976ab16fd2fff69cf9c6ce","impliedFormat":1},{"version":"3085abdf921a6d225ad037c89eb2ba26a4c3b2c262f842dd3061949d1969b784","impliedFormat":1},{"version":"8e8f7b36675be31c4e9538529c30a552538c42ff866ba59fe70f23ba18479c5a","impliedFormat":1},{"version":"1fe8b45c1564eca8b1bd27d427d193ea8c1a5d64f7144a5a64665d5d0f27a9e4","impliedFormat":1},{"version":"a03c6f93651e458531f223d52eac1a12f2aee8adc2cbc4b4154a3fe515984e5c","impliedFormat":1},{"version":"8d05dbd747569cb1b0cc2ec1018a3378c47d803de0e7d34f7e12909ff48bb437","impliedFormat":1},{"version":"1afb31819f4b7d04f4089d575acd30854a4cc614baea960066f7cc5755e9efcd","impliedFormat":1},{"version":"35cc30df63b9fa7c9d3637ef315eb5f21f5b0dc0f982c736cad20d39e29b579c","impliedFormat":1},{"version":"c5b47653a15ec7c0bde956e77e5ca103ddc180d40eb4b311e4a024ef7c668fb0","impliedFormat":1},{"version":"0528a80462b04f2f2ad8bee604fe9db235db6a359d1208f370a236e23fc0b1e0","impliedFormat":1},{"version":"94153ca0b430f575f45a5e07d66771dc5ab331af7791691855ba3499958c4e49","impliedFormat":1},{"version":"dd361fe00d3033451e4a43c9eaeafcd1b9b6777adfbc8b8f91d63ea56818c31c","impliedFormat":1},{"version":"b86720947f763bbb869c2b183f8e58bca9fa089ed8f9c5a1574b2bea18cfbc02","impliedFormat":1},{"version":"fb7e20b94d23d989fa7c7d20fccebef31c1ef2d3d9ca179cadba6516e4e918ad","impliedFormat":1},{"version":"8326f735a1f0d2b4ad20539cda4e0d2e7c5fc0b534e3c0d503d5ed20a5711009","impliedFormat":1},{"version":"8d720cd4ee809af1d81f4ce88f02168568d5fded574d89875afd8fe7afd9549e","impliedFormat":1},{"version":"df87c2628c5567fd71dc0b765c845b0cbfef61e7c2e56961ac527bfb615ea639","impliedFormat":1},{"version":"659a83f1dd901de4198c9c2aa70e4a46a9bd0c41ce8a42ee26f2dbff5e86b1f3","impliedFormat":1},{"version":"1db5c2491eebd894eb9be03408601cddfe1b08357d021aeb86c3fb6c329a7843","impliedFormat":1},{"version":"224f85b48786de61fb0b018fbea89620ebec6289179daa78ed33c0f83014fc75","impliedFormat":1},{"version":"05fbfcb5c5c247a8b8a1d97dd8557c78ead2fff524f0b6380b4ac9d3e35249fb","impliedFormat":1},{"version":"322f70408b4e1f550ecc411869707764d8b28da3608e4422587630b366daf9de","impliedFormat":1},{"version":"c4ef9e9e0fcb14b52c97ce847fb26a446b7d668d9db98a7de915a22c46f44c37","impliedFormat":1},{"version":"0e447b14e81b5b3e5d83cbea58b734850f78fb883f810e46d3dedba1a5124658","impliedFormat":1},{"version":"b16a6680ef4108fb2982b1d47e7ce36a8b2c382cf76b3e1b500de70f0a62fdff","impliedFormat":1},{"version":"929939785efdef0b6781b7d3a7098238ea3af41be010f18d6627fd061b6c9edf","impliedFormat":1},{"version":"fca68ac3b92725dbf3dac3f9fbc80775b66d2a9c642e75595a4a11a2095b3c9a","impliedFormat":1},{"version":"245d13141d7f9ec6edd36b14844b247e0680950c1c3289774d431cbbd47e714e","impliedFormat":1},{"version":"4326dc453ff5bf36ad778e93b7021cdd9abcfc4efe75a5c04032324f404af558","impliedFormat":1},{"version":"27b47fbd2f2d0d3cd44b8c7231c800f8528949cc56f421093e2b829d6976f173","impliedFormat":1},{"version":"d5426c0e36296daf07cf2f38227907469c33a53473d9c2721d21dc515c5724df","impliedFormat":1},{"version":"cc03a3e284393b02fdb646931e8576f6dbe839a249d172eb3397adec80559450","impliedFormat":1},{"version":"3d94a259051acf8acd2108cee57ad58fee7f7b278de76a7a5746f0656eecbff6","impliedFormat":1},{"version":"fc745bebefc96e2a518a2d559af6850626cada22a75f794fd40a17aae11e2d54","impliedFormat":1},{"version":"199d42a358b3b73312d499dd04d9f855bf8ad492452765de4ef80b8cb6871cd3","impliedFormat":1},{"version":"eafa048ffaf72cdb64fa1d0dae49aa91280a7bb94e0b034883ae48cec27a04d7","impliedFormat":1},{"version":"593bcf66433eff881c9abb75d2e55a7403c57905aa61d818a616bb3c7f076b49","impliedFormat":1},{"version":"3f3526aea8d29f0c53f8fb99201c770c87c357b5e87349aca8494bfd0c145c26","impliedFormat":1},{"version":"6ee92d844e5a1c0eb562d110676a3a17f00d2cd2ea2aaaff0a98d7881b9a4041","impliedFormat":1},{"version":"b9dc36d1f7c5c2350feafb55c090127104e59b7d2a20729b286dab00d70e283d","impliedFormat":1},{"version":"45d3f1d53fa99783a5e3c29debb065d6060d0db650a6a1055308a8619bd6b263","impliedFormat":1},{"version":"a14febaf38fd75a88620a0808732cf9841afc403da2dc3de7a6fc9a49d36bdbc","impliedFormat":1},{"version":"6052522a593f094cfee0e99c76312a229cf2d49ac2e75095af83813ec9f4b109","impliedFormat":1},{"version":"a0ceb6ce93981581494bae078b971b17e36b67502a36a056966940377517091d","impliedFormat":1},{"version":"a63ce903dd08c662702e33700a3d28ca66ed21ac0591e1dbf4a0b309ae80e690","impliedFormat":1},{"version":"2b63d2725550866e0f2b56b2394ce001ebf1145cb4b04dc9daa29d73867b878c","impliedFormat":1},{"version":"e885933b92f26fa3204403999eddc61651cd3109faf8bffa4f6b6e558b0ab2fa","impliedFormat":1},{"version":"22338cc18afb909a95a6c55417f1a67db99badecbac1710a963f0bf63c952124","impliedFormat":1},{"version":"e61b31fd5fd627c73da6041d201c0bbd721170288381f09055cad4fcb2ad327b","impliedFormat":1},{"version":"6e2d2b63c278fd1c8dd54da2328622c964f50afa62978ed1a73ccd85e99a4fc7","impliedFormat":1},{"version":"e151e41c82004cf09b7ea863f591348c9035e0f7a69d4189cbac89cc9611b89d","impliedFormat":1},{"version":"dedf4655c327e9c5294a63d75764946308700825e8d8c1d4318a10602581cd6c","impliedFormat":1},{"version":"b83ffe71adbac91c5596133251e5ec0c9e6664017ee5b776841effe93de8f466","impliedFormat":1},{"version":"61ecf051972c69e7c992bab9cf74c511ecba51b273c4e1590574d97a542bd4ea","impliedFormat":1},{"version":"068f5afbae92a20a5fcd9cfce76f7b90de2c59a952396b5da225b61f95a1d60a","impliedFormat":1},{"version":"18d97e6b17d1196d88d4deb0e37d8edb7fbdd102ae8a5681f03e15030b6b2fd4","impliedFormat":1},{"version":"d7ded5d2060ac6a4404e6001a46d5a704e3f325f95e2cb0dc055ea05404c9cf6","impliedFormat":1},{"version":"99c88ea4f93e883d10c04961dbf37c403c4f3c8444948b86effec0bf52176d0e","impliedFormat":1},{"version":"e88f3729fcc3d38d2a1b3cdcbd773d13d72ea3bdf4d0c0c784818e3bfbe7998d","impliedFormat":1},{"version":"f25b1264b694a647593b0a9a044a267098aaf249d646981a7f0503b8bb185352","impliedFormat":1},{"version":"964d0862660f8e46675c83793f42ab2af336f3d6106dee966a4053d5dc433063","impliedFormat":1},{"version":"292ad4203c181f33beb9eb8fe7c6aaae29f62163793278a7ffc2fcc0d0dbed19","impliedFormat":1},{"version":"aa8e5ac3f73eede931d5da74ef1797c174b00854ac701ead5c4a7d6ce4a49029","impliedFormat":1},{"version":"f1a4ca3688d951daa2d7740da5a0827fa34d4a7709eed7b8225215986ee87108","impliedFormat":1},{"version":"08e159b5ef9d14bdd329457c5cbe181e84f13c4ff2546a24b9eb9129b0c71c46","impliedFormat":1},{"version":"f8453a3fe0fe49ab718357120bec2b8205e15eb91ff62eada60a4780458fa91e","impliedFormat":1},{"version":"06f186bb9a6408ef8563dbf17d53cbe23e68422518b49b96afac732844ddbaa1","impliedFormat":1},{"version":"525f9c06245b5b43b1237cfd757396fd7fd8090e5d6a4ded758c7ce17a04bf42","impliedFormat":1},{"version":"e46b752c48b3aec77516d23b5cbc0b85df78c740c058a822b43a32c958e468f0","impliedFormat":1},{"version":"f693b1fce39951823f128590c6c837b70f844b6d3746ef778b7fae7f1340338a","impliedFormat":1},{"version":"bc264419318f0b174b5dabdd465e1eddb82f872e899b6c696c67217b346e958c","impliedFormat":1},{"version":"6046bffaa17bbb55ffd62926a966a7badce21b27d6239ba0b569b8266bedaf19","impliedFormat":1},{"version":"9376cce4d849f1d6ad2cb0048807c77cfeb78cee6e29b61dcfe74c7ab2980e18","impliedFormat":1},{"version":"2e0dc55ea1ade444d285576a4ed7915834d4a87f71b147c38afdb877ebb0ad2d","impliedFormat":1},{"version":"4edfc4848068bf58016856dfeb27341c15679884575e1a501e2389a1fea5c579","impliedFormat":1},{"version":"0c3d7a094ef401b3c36c8e3d88382a7e7a8b1e4f702769eba861d03db559876b","impliedFormat":1},{"version":"1a3b915d24b2a26df000ef55ed356028dec11ff54f7e93a5c095c313d7016e1c","impliedFormat":1},{"version":"7e3a4800683a39375bc99f0d53b21328b0a0377ab7cbb732c564ca7ca04d9b37","impliedFormat":1},{"version":"b1b5e35575486918e155ef02d995598be2b5d8e729f857f8309ba0b76e14d833","impliedFormat":1},{"version":"8d87de8b839a017541ec1baec68292ddbcdfad0f2f3b5f2ae8abd61f06105cbd","impliedFormat":1},{"version":"7cb0d946957daea11f78a31b85de435e00bcd8964eba66d3e8056ba9d14b9c55","impliedFormat":1},{"version":"b3e441cdb9d9e55e6e120052fe8bf2a8b5e5a46287f21d5bc39561594574e1a9","impliedFormat":1},{"version":"0870e8eb0527c044e844a1d83127f020aa7f79048218a62b2875e818355f8cb2","impliedFormat":1},{"version":"38400b70ac70600c632ad498df2d956ed8ca6c6774dfb0ef69a2d35a9450df7a","impliedFormat":1},{"version":"abab86c01d001d0cc410c7aee59168eb09bdb7d6d9d39d3c0081b36235e2824f","impliedFormat":1},{"version":"7ae39872b4f4d38b9df079cce4223e999754eb3b3f90e4e46b978b29e72c419e","impliedFormat":1},{"version":"dc0f3099379383bf14f2263c7987584e81b6d9b60259c9e31390455ca0619dba","impliedFormat":1},{"version":"6dd704b0ba0131eb9e707aeedc39be6a224b4669544e518217a75eb7f5dd65c2","impliedFormat":1},{"version":"6effa89f483e5c83c0e0063df5f1d8b006d9d0f1de7eed2233886642424dc8fb","impliedFormat":1},{"version":"5c6dc17513298b4daac99bf8e88ad4e4a504310cf69a0cf3cffefa5912b85234","impliedFormat":1},{"version":"d43130c35762a80da2299f8b59a4321b6e64acfb0b11a36183379b4c7b83314b","impliedFormat":1},{"version":"6bf44b890824799af8e20c0387ffa987e890fac5c5954a3a7352351eefe55d5d","impliedFormat":1},{"version":"e61999c06ae79ec587c2e7db514a024d85732b32ee2c997bf4a1ceb2b561c611","impliedFormat":1},{"version":"aecd29a5bc49b1de6b933344e9c96384cd098162c46873673ffa1408e6195c52","impliedFormat":1},{"version":"f83afa274e0f11860c6609198ecca220f5df60690923b990ca06cae21771016e","impliedFormat":1},{"version":"af31f37264ea5d5349eec50786ceca75c572ed3be91bdd7cb428fdd8cd14b17c","impliedFormat":1},{"version":"86d01647c3c215e53729aa2cb15d7bcc2b049088bc76bdb5e04a0bf25f97c386","impliedFormat":1},{"version":"9d3173cf740b742d1048d8ab20469060a2b5e2d426f8ff7df36042e6829c4aa8","impliedFormat":1},{"version":"f1063f0e6ca22a9fae0c0338768b03911c954b8e6ad4fff5381cc6a964b34324","impliedFormat":1},{"version":"4f85d12a28937e950b123e5385448a3bce0f04dccbca7ceb8aef351ffeccb228","impliedFormat":1},{"version":"85e4673ec8507aef18afd4a9acfae0294bdfaac29458ede0b8b56f5a63738486","impliedFormat":1},{"version":"40683566071340b03c74d0a4ffa84d49fedb181a691ce04c97e11b231a7deee4","impliedFormat":1},{"version":"81c8ab81daa2286241ad27468d6fc7ad3ecc62da04b18b77ce9b9b437f6b0863","impliedFormat":1},{"version":"268755fe3b7dd5ca84fc043de1502c56c5cf8ef70271c017964a9dff8af94a7f","impliedFormat":1},{"version":"8e56db8febfe127a9142435940c9a5a1ad17ddb2b2a6d8e9e8984785a76db1fd","impliedFormat":1},{"version":"f1efa458a3f630de51e30c823a8e1109eadf8562b8b90c764ef1fd989329bcaf","impliedFormat":1},{"version":"1ea64554b23db011171f7e0dd59d006b239fd4ec2e7e8b31ecf995528de79423","impliedFormat":1},{"version":"46788ee6b4670d904a54d56fe9e3bb308ab4c4ba01a435d39d8beaebf85f1a54","impliedFormat":1},{"version":"f4f6e61f620861b576f466e8af34e6064a997aa93ad62593c0c3f51489784e5c","impliedFormat":1},{"version":"f92fe945f94fee5c2811d6ee81b1751a1f1970b29063907d48067f1c2389bc3b","signature":"2825a8ae716e344c54428f3916a5fb98e4f7b7d4f521e0aa40a6781766e2b2a5"},{"version":"3974befffa7647e5d975081c15016cda5f16062c8957af8d5b93b85bd6b57b21","signature":"8364a4867aade4b7b8e12b3116edc4c0cc374833476df15a0cbbe7b147bb1387"},{"version":"da094bbe2ba0c875d680fa8957a0b4056d806ed8093c4eb84f1d1319bc148924","signature":"2ecfec679572556d5739697241ee12faf6d1c088a64eb646f358d6b908201893"},{"version":"884b3c4b6de733bea0363994edfdbc08f23168c3819ee92eacf9ee2ff38b9e31","signature":"8b18201daa2caa4d6dad664291f923d8607cf8211ebd0dec3986e400f02376b4"},{"version":"d61b3b8b5d54ffbc1159015019c05472841f9b12287ad1eb0febb9d50b3fcf2b","signature":"7bd1aae3ca5e15b45dc603fad958b8d228f09e8c43ad9a4efdc70c7b3f96fc35"},{"version":"4b9b77c14bfa8102fcb57b14ffe92dbff3b513a8c4ba62893ab009fbd4c73647","signature":"9d2c9cbb279702e44a3ea7fe24bfe19cf27352d4cbe4882bbe5d521d27c9741e"},{"version":"aee88de82317641d6391f0686ca4acceedfaae5ade43d00dfdbb2e32e83870b1","signature":"979a61915ecd6734d45f9ab06a423a5b75cac28c23c512c838c10e333ff88a02"},{"version":"9a889402f27da6ba13bcaf7e0731fa06758e971c0d4ed730d6b46f08d9a05f34","signature":"f9d6f6e5c3e8a1dbf9499c426fb4d97386c7aa5b205662a4777f9289ef9152ab"},{"version":"f6534bed93400a60ab02368c4a698062e31ce5ad4eefd0f4994c2385ae83c54b","signature":"9c2f866be60bdff85a59bf2cd9b85041d63bfc369560cf59b88d7a95c6072f28"},{"version":"b6ced0b0b07feec87098d3eb446bdf772cc268ee3ac4230a4069e61dbf75cfe4","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"bb040b86775b25fc0848d43e3cc03e1b5cf4f00c40cbd350dbce010c06404df1","signature":"6d46cfeb3c048590784e9c099f0dfb8de954141c9fbf25f6d9ec87981ebc6fe7"},{"version":"d20eaead87726a364899203678c3e81614bfc368630e7a38ed0008acf7f7c1f4","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"e892e40c4a0fc631c78d3480f7edc5c1cd469ea0b8edd5e21951ba39c996b889","signature":"703090444b11f1b3ff7c9d90d1f20f336bdd927ab54747e57150d42e86e1f62a"},{"version":"5a2958fdf63b7d83f8d734d08ab6975b2a66defa7d7ee4988c0abfec0881b3a3","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"7859b822b52969cf5421d8d07df464fabd68c67579733fd51cc994c6f3b9452e","signature":"91d869ffb8dc40ecfa1ed7675197ed893ea5501d5eab07a48f22dbe192cbd9b0"},{"version":"05a0701aab09b3b50154c4469670a6af40d716c1bd84258ab88c4486efccc2de","signature":"cd7eee6f9641bca037731468d9b1012d11858efb65ccb7a23e35377d824b2a4b"},{"version":"cef9a872724202d022975121422e03878a38b6c4a78977b7e277733a2ed5151f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"2776443e3c5ce498f62ac5661d0e35884afea55b0d3f6f9306f8ffb97b35e9fc","signature":"c049b08ee071ee35f8623f69360d9b11a4e78f6f903a9601e9f76346ff07ffc4"},{"version":"18981392c502332d353be793e0eee6b4b71b92c4cc159879c76c0e412b50166f","signature":"85a5f8ec84196d475ea68d0239a7ee678d96c40274f16d0e940937166e2f9fa7"},{"version":"091c011d67fce1f188bb8c7474775ffe3275ddbc9837bd5fb5ffa26fd70a1cd8","signature":"3fb22e183af7ac8adf5ac16236bdbc75bcf15bbc24120895f7ca0d0fefe2f2b4"},{"version":"ede33324139612cc144cb9ab0658d31f633fbbf6e5654b4867ad17964e494463","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"90bdcbca0e0bf6c2b0bbb00673a340a12647ee9e9c0b7ffa08c1cbee51683f6a","signature":"081dc84b2cfc91d910771f621446c86f99ef16cba361a195bc5b6415671e3940"},{"version":"c3a6e46122a15e372681357101c151aefc21040e65611ab4edb7366b6694b2ea","signature":"84a5f8d870d0e3a83ea81b7fdd41940ea8af6ad244f7b5a41347a696ce8ee863"},{"version":"5c6fad27889b29555ec4270fa34f6d318520fc36e3c368efef6988c2240f943d","signature":"e569b4fa591b1a8f2e8bc65df628ea7b8314ea9e9fc4de877bae1db7073f82d3"},{"version":"75d850624f64a90b0709ea1dc2742d4b189c106098f94125af7cdfcbc9db0852","signature":"2bb5816f801dc67b86549dcb0c662be56b248c5dd1662c1042691c7329148f98"},{"version":"4ecad7680faf9f6da12ba4db55dbc6df9eaae54bd199f145686ef897dc7d2ef1","signature":"de8287721228df0725bb5775da05878176c0b7788985dd9784efabbf520e15ed"},{"version":"43fbe80cee30066d6ade0e64b13f0987cd6b23946ec6265728fa2adb27146000","signature":"017bbf6636858e6e607294afca49a452e39c06854a04aa20ad3850defd0025b2"},{"version":"f527325efcfb6f6a0d9253f1af0e0a32ada4f9c5cac06ca5689927515225c440","signature":"4105893a2351efe282a947f23f959ba55f8f46aa72d55829d362261b1429b42f"},{"version":"753dc412c871f3fdc65bfea46ee79b435fabb41509238f866f6249d44f7c1dcd","signature":"c286b503f750f73cbf22d1031c189fb27e7d8a93ef017dc18d17bbe37fd5dd9b"},{"version":"4051f6311deb0ce6052329eeb1cd4b1b104378fe52f882f483130bea75f92197","impliedFormat":1},{"version":"324a1e17354169e427d4c5b39f9fa33866c2474b364fb66bcfe0c4e46dd0de08","signature":"e02396c035032d0a4073bc2b9b1fb7c14aa28ebdf4e8fa5d5e7cb6ea8dabdb9f"},{"version":"d6ad5279f8d296ebb50264aabcbd50a5296edfef7f23ae4c159579028935d119","signature":"48cf5a32fd77ba27774c29824c8d1bf27cfe16081169b1a013e0874292c3709b"},{"version":"6f2d007923eb835494e65dcc1034da47cf8e60aef0554d323273a59b8b8c2f86","signature":"bcb9686b97930d312e851d879aa0ceb39656e4e49b07b8aef72ec0eae03cb376"},{"version":"406af28178f025030a57332cb2a36516048ecab7acf102b84f1c1a84f09d77fa","signature":"aaeb521b6f9317f1358efeed044f7b8c9da2de643c9c444c86efa4b5974707ac"},{"version":"00e2552694e9ca66c48d911ae3a46b5ec592ceaf1aa11fc892a11ea68e8f61b4","signature":"7edc93fe90f8fabb25092054cd2ba3454b5665dc1470229cd49300d2787f9256"},{"version":"4ab0abae751a0bf2124b4e070966a464dc050a22673f3cc6bbd5ffa847fea5c0","signature":"183bf79e34031bed56de0ce086fc6dc4a920cf82de16d04361ec84539ca5e43d"},{"version":"fa8896708f7c899af3f718f77f46489b8d3efd15204184f74b878992dd516270","signature":"e89614e458edec1676ac424f0a893a6e87bf5bf38d34a8758b3e4823f0d2b48f"},{"version":"85b1d0061b1268cbaa7efeba177d96bac002d38d7acdffd7a023decbaab2ef7f","signature":"0fafd7d6cde3e37c7c4045f298b00355745dcb2147c0e8d0f1240fba867274de"},{"version":"bb5660a80ad6edc1e4a7831bdc38cb4f70adbf718846aa3bb936a27b62d742d6","signature":"e017494fbef6d93da248b22d25416f95d8412cb4a4e8cb12c7e64495f16de3ec"},{"version":"91d4ebbf20c7ce05ce56b901d34ac84f18c5de49cdcc8b4e2e79416bf5863a52","signature":"00aed0049902c591b92c49af96b5a8d1b3e202604017f34241bf72cf89f80756"},{"version":"f7cde16e51986d5a1361c4d7e36cb8f8089acd60e7b43b7c0cb7ec9d3c58bbb8","signature":"fbfd3cb405fce3aab2cc8b6c68371f03f340b5bedfb22d1a0b46408ca184aa4b"},{"version":"0f55704e7fce1025a74958ce04d7d099a3605ab1ba105c63b7fde02139a17eef","signature":"69652f240dac09436bdaa4cedabd63700a279aaa035b43ade48742fbe5b37d08"},{"version":"4d8d7e049c7a369a07b41963903b7041bd8c88560b55af2b4b6c4fd7be645cd5","impliedFormat":1},{"version":"83f6b233e11c9f2855f7f318f608570e9a45db007ae924278e7a581d7ef99b35","impliedFormat":1},{"version":"7296b6e2f2accbd8ed583ac9fa90c88d7d50ca2ff95a04ce2959d46e6cf7696c","signature":"1fc7a196b7cb9628c96283d1c55177082524e81f5e607404a5ca9a1ff53e45e4"},{"version":"231a843f95abff5b70bf76ded015c4d7c0ff006544d27c9747471a495743c2ed","signature":"1507e471793e1215912dd1ab92c0797ae9259ebf7fd0f3146e2bcee42b776bc8"},{"version":"deb4df42f640706245617d22c38500d0d24e34689f405224004477c47b30a287","signature":"84225d531b0d673c7dee0a7abb7592e937c207fb0393e85d8e9808505e415642"},{"version":"05196723f295c088f92bd93f9edf2f9d72a0e6fb7a468f55aa270214519857a5","signature":"1c7c3f06b140f7f31f69c3f2a6f87659c1a487c552bc733f9de6ed963779a17a"},{"version":"0684c0f5805f8c75a0613dbf6e8d386e93721218828baed8a419dad06db0266d","signature":"a0b2ed7ed78ffb63bdb8c45c49596bf2792676cc3c527c599be027c2d772c840"},{"version":"60baecf2ee0b36e0b6f81536d77774d964bde3e3975c00328874e3b564a97e9e","signature":"9813abe08f8dc60f627701e1576bfbbe8498fa01840b3500ef120ffbe3ece69b"},{"version":"babf8f17c539cd8e5309393275eb17fa2a6790a848f9b6736e3e75b69ca12ae6","signature":"ee79b4e030d4b005413044e47295b78001ccb4849995c4dc59e42e65c509f21a"},{"version":"fea6e19848834ac2c8fa97416625b380176f0fda1396eef00f84d136af989050","signature":"d703ffb3cf86f2e1cf7460554b6fc0a3a0eada0040fc48aafeacca14bffb7ebc"},{"version":"cb262ae73b7b864a9cc5e62142dc12600f5afddafa458e6c26218259d5ff67d7","signature":"433e57f0df48dbb4612309330aee7b075651c0ba5d29c483b17bd92e81cad910"},{"version":"f060e1946eb32ff62b101bbac21a6cd02835440c0892554566d0dde5d4838cec","signature":"036240f98ae8d5e07ad6f648996ff0630d6112eaee5b53fc3b309a1acd7c0721"},{"version":"a8f8ddbbd5a595a3a45b89108072fd7c11afcc5df839f3b2d234ce93bf5ba511","signature":"621d7479105eaf0b7002459dd4a7746134df8f621a6d9e62ac5c69f4b73902af"},{"version":"25a9445362108d35961825c730d1385aa52655c253523603fe3a514699a08308","signature":"0a82088daf1f69f93a6f03b7ba430d6605a8b48febb578e7ecd2c3564b8d235a"},{"version":"9b015283fd545bc487ff27b205f5f87ad9257e30df4e0137deb8260228fd97c6","signature":"6e0962e848047bf57be651109d9ee3d4e499277d114392e6efdbf60a3863fec6"},{"version":"b92e316d7caef01a7d96aae2fc81bac3411d81aa08c08369fdd79b79052d0804","signature":"a15f6b3477115f885bb24033267a6e06e889bbc393c5ae977513f0ef2c29efdc"},{"version":"883e6a16350e6a237822deb193859ba6f80f68b5bc63d37932eb5a222afabcfb","signature":"4e4f390cf28f71013350ead1ba25290872b936b31244feb495c7da040c655c54"},{"version":"20eeac8a87d7e85f13f2ce118073cec7275054be646bd47823f1e9cc8951ed4d","signature":"9f2d02e65e22f5bc32f727fb091f17315fe58a8792d8280ec59ab072272e3376"},{"version":"88f2985b43e7af3d4dbcba54e609861fcd28cef3ee74ca4d54e82917a9165b30","signature":"2e54daabbe58c730286e014d2bfe4a80b6d533a2bc9c5ab6fb1e3e654d3a4872"},{"version":"417c3d98d4efb99cd7f3c683c2caf02ae28758f18fed72ae0389aecfdab29878","signature":"2a39da52aed89ee43bf5dcadf72fc7ab5d16b8dee17ff890bf0ad3b72a0320c0"},{"version":"15e9ece6b9f5f2ce89f2ec8a96bc9303b35f07374b94005eb2443efaa0c6a49a","signature":"46676fa7ca6a5b6552a61d40d41f41eebc81cf838c14933cddd35203d298b874"},{"version":"0aaaaf9e39d6225f0fcce6949faf7254a473de642dd96f1b6cf5501b87347546","signature":"1f8e872ea16e6ef3029e47f25725a22c286734fcb4a88ea2e13c437e905f0c21"},{"version":"735af8f14d6e3866b5863742bec289903bdde848ba8754fb628afb54af74d5bf","signature":"6058d5942879388147f8aa5e9c2713af05d0f1680d7ba91d1999b97dc6b5ca01"},{"version":"2e4dabbebd31ee7206edd6a4ae429f487df1734e92df23dd037839f212c3e9d1","signature":"29df4852e710dfc4ccf300cbbe4f3ed1e109cc09bc55d540eb40bf2ef0906d0e"},{"version":"b27d139dd9c71966306fabe2f545b928f610ffa6b0c75d84a9dded090f66a422","signature":"aa5b770dd1b4e7ce9fea3c83330240ac673f9913a0535d02994bc0511eb85cf9"},"98ebfeb0805807ae08415404af1b664e76353e70e5e71e6f086c7ba264b76fba",{"version":"fd79331caf4d1c981f82d179a8f8ee1f5f9db5485b5960d2ac5252ff91ba195f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ec213e4001fcd5e8446fea02e4a123873df592e8205987405c0e6664886104fd","signature":"f5ff573f4a6451fc2e8c7e1e6ceb8537cd0f25338065baae8a5735c24f22d431"},{"version":"c38e3b9be1619f15bec612db3c9867c9e3435bcc9798dd0d8f6342ab0d8ae946","signature":"e8f50d40694344b6b22ef6d4c3d5fe9347601c7a435fb7e60f820bf37d881d0a"},{"version":"1d25e7af5af3830d0cbc77493b047838dc152a775920710be72c3c8472b980a6","signature":"3560dc1bdf53f078348f0e499ab1e3339be7659310d92861fba7a9277024ffa7"},{"version":"cb83a4611b876ddcf649c18d80609654bb2c80fc160da1e7539cd3be15811a60","signature":"4220ee655e09296874f3ae3d3145efdd76398677bfa27fbef8e133c1b09cf50d"},{"version":"51a8c66060d8e08fa1607e33758afebaa47c542b40cf7091a791218255e7f769","signature":"475b03ccd54597a3115e13c07c1fe8ac417f6f6857d485114a00039d5d1ea179"},{"version":"817f663192fcc81412090c3e7167fa81c63eab9ea977e6a6ae8eeafb8742001e","signature":"77ce1243fed91f1a9f7be9c18192af18f4ea1603611a3dac2ba4f726c298de4c"},{"version":"4c31fd07fd4e530b6da7febec131d259907d5e179ef3bdac0a4a43cfa56b6935","signature":"b1eb5e11871638368fc4cab710e40fe4b23e0f7e9d4a6e22052edfa50d185fa9"},{"version":"9c5d15efba9e25be56ae6fe11057225c74316fb0c90e7d34b81ec8f633a9810e","signature":"a68280c12af5525ec8003356652c9ce50a24a6b3b6fc83bf793fafe60909fdbb"},{"version":"b02c8a9ebc617e95159a1d928fce2fbc345f3e9ccc9f7f6684195d8f8d9bab5e","signature":"45e169847975d5baedaaa5fbe3da4bc92db0b90a305f2536491b7a4a2d262341"},{"version":"963c32aa76aee7050bf4b5749bec7c775046f03bcd791d54992b3345f7b80e2e","signature":"66be142f9806a1a6a875064f7a0416e1ccedcdcf6a9a209b1c633e475b975dd2"},{"version":"9e473cec8b5dbb77baf8db593da0a943701f1edca3b3b1ac81af9ce178dac9cd","signature":"219dfcb98664c09e2a901a0bebd0a1990dece13622fa81b99a4fd16e6352c936"},{"version":"10ea972b401fc77b7e35429345f02bb02dde34fc9d7d1fc3232a187f5b52facf","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"45916acbf846bb0bb1cf27be4409ef0ea1539c2ddcadb526765de29000ad2149","signature":"dd8fce5f4252a3e81f50858eb8f48a662269b99644feadc017eaacbcf87ef25b"},{"version":"bfad6c67be0b1343940401947c1b079a657ac1899ff4fda46040c948b3b0c4f3","signature":"a31e914177f7fca1630c0047516caa30b724b6202fdf4aa97cd42579246fdb1d"},{"version":"5369439c16270124bd1f7ac67b0d305d16b3406603df0a1cba27f5a1ee1a3db5","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"b1ab7dfe2e40a14457c44447646438563ffbf187e60a175f258af4189bb414e9","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"0d29ff571f05d9f1c9ecabd53c10cb9bfcaa313b3b64612593bec64745c4d224","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"cd5944f91eaf3e04d8c66d1c7c44508f932ae86fc033403193a81a0e3a95e53b","signature":"2630a9fc3e9a2205f1df08e9d39ac89290da5a35ab782d1504364baa70c67104"},{"version":"3ab2b6455439badb3d984aef6d2519029dd8595f19f614654072798269598876","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"a8f3b78fbcee37a708acd2a86f1c22645cf34b444cfd7459be341415228f4b63","signature":"14fe776ea9f72086fe119d5df096c39513d6bdd3ba1615b8d9f5cbce35933f54"},{"version":"f14799e6e43275054eb876159fdcb6c55b4e76808911ffdc9f81a2e3e5baa564","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"aeabfd5da8290656189b20d20600d0df6381dc3881c381b815807e9fb745f5d7","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"3dc95ec98d2db484ccbaa31a47c2633bd619a4d86fd655739ed248f081f49f07","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"6b32764a0410770ea2d05907024bd8ef5044fcc5ee257ddaac24e5a09de8ac91","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"9ac8c2249f0a97698a155031023e87eaa74c871229e36b51c3c83fd1a0bc92d8","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"35d7cacd428e674f89a928ed99f34ddc7c36958b395627a9196a8ba22618a29a","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"69a81ee2b65949687067f23e7d5ca0fec2110620ff93ca8b92bc56740340b760","signature":"bc160a1badf1d1e0e9b92666b4848dfdc428b553d00ac5d2304b7ad80ac4cbea"},{"version":"5f44765c75000e8fea925fba6c2ba696386103cab9d813e72070cdcf45e1f804","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"b11dcc6b3a1e92851fa7626c01c543833b96a9f37a29d80de6f11b320b626c9a","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"63e34e9210807a4d1af057003031a6689dd3295f8f2524ae7597ab27f326335c","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ad7e4e17c67808e01a84f46591f2d4b763173ecc84a4863a727b7058b5786945","signature":"b7902bfba5bc8b901152f1ed5f8d9c2cbf2ba2790d351e5e5d61e00bdebbc624"},{"version":"3e5b494cda4d0ac2bce024928f0eacc77f8d9e4ac3d51eadde967ce542efc27e","signature":"b94b0bc72e5a26387c9314dc4f72106bddc0e5056469dcf4a43a351c1523c49c"},{"version":"1c230948c8120cd778cb258a0b70eec899b458db58229de16a2951a7ebdc57b8","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"0fef5a24cad5c4948eb776b00fa114e2560ce3dded3abc27db2e2b2b66832331","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"2cef84bf00cbdb452fdc5d8ecfe7b8c0aa3fa788bdc4ad8961e2e636530dbb60","impliedFormat":99},{"version":"9e2f5dc3da9d83bf4a0a9e5d39d8c9918482d586e0c403a44021e4ae7662697e","impliedFormat":99},{"version":"799003c0ab928582fca04977f47b8d85b43a8de610f4eef0ad2d069fbb9f9399","impliedFormat":99},{"version":"a62e448d3f09fee63ec1230acb23fb54f8f6ccf8d6f0001c7b94fd51594b7c9b","impliedFormat":99},{"version":"5366549884acc57185eeeb64561c2060af008230a8ea645f048f747cfac6549c","impliedFormat":99},{"version":"cd3229a2e4ca10207178e22f215c8e196c837254dd34ee440612a2a14993ffc2","impliedFormat":99},{"version":"73b7e3d5300ad64f9231f5bb145fca4892574d85e2d1a015ce095628f16915ca","impliedFormat":99},{"version":"42944c2dd3115e25cb0aa77aa05fe9e3d0f8a3b4ac251896cc680b7be41ad60c","impliedFormat":99},{"version":"7ed8ed496092801dd5f25f39af223ebeddc97bd64a7d9a5621f790dbc836eebe","impliedFormat":99},{"version":"abc549dfea982be25e0379cdcb6ef2aa6716b0013c11d8d6b14c814cc955d7c8","impliedFormat":99},{"version":"0e6ba4003cfaa90748b69ed0dcc9f99299d1af70f4bd835a872e52705b0c850c","impliedFormat":99},{"version":"3decd4c8e355126e76c9a43cc7ae08017fbcf1d766b204d696ccdfa5128de1ac","impliedFormat":99},{"version":"40410f51558d0b3d635584333fbba6b58b4b7f74037f59a08c0577828539637e","impliedFormat":99},{"version":"096350f9446ef08832b935d4a97c66f74a9133faebd90a40a12abd5f8bc7eab2","impliedFormat":99},{"version":"26baad6aa356ef75b2e1ee150ef6325988be9700bba14249f9e8d0f66bb36087","impliedFormat":99},{"version":"237dd4f246265a3efb18c3d40f54f98336ba2c329a9f9e30b4bb0f1a27baf324","impliedFormat":99},{"version":"3fa62b954262157916a65b3dd57faf6cfec7544579e673204da30eba00852543","impliedFormat":99},{"version":"8ab0b13972c8018bd18d49236b8c08448a38c823e28f5620b3ef0b43ff521589","impliedFormat":99},{"version":"065dff95b2b9cd6f5f7404222ecdbd371f15c22b844b731eb32286540f499d2a","impliedFormat":99},{"version":"d1c03f0339b8514b7d5420e075684e6b1dfb9d6c27a7fc6fbb09bc3f25fc7764","impliedFormat":99},{"version":"f8900ddf4a4944cad4a81de965c4761094758ee39bfe24198668c397caf5db3a","impliedFormat":99},{"version":"b2b8376bb1ac24155cde89574c32edfdefdb926845d9426ab52815421b3d19a1","impliedFormat":99},{"version":"4e805f78a8acff48feea70836df232a6db887b2e376492666f6b70985fb706fd","impliedFormat":99},{"version":"cfc5a66408fb9a7dd136ec2afd50a3eced54baa3321c473ee4d29046e761a3a2","impliedFormat":99},{"version":"594201c616c318b7f3149a912abd8d6bdf338d765b7bcbde86bca2e66b144606","impliedFormat":99},{"version":"35c190fc184fc2fdca132bb8aad00ac84819f135428b0e906c3e599c74125d24","impliedFormat":99},{"version":"8f567d63ab28f074ab2be3ddc2da27107de8022488f4a3bd91609752045bb612","impliedFormat":99},{"version":"f6c7ae690e2d224a310c8f967cdb415d8c7c55791a30c00da30e0c19ef4def49","impliedFormat":99},{"version":"f0ee7287284a844f4d04b80ae7a955b12cb50f85fb0021a78cc7f20a90459823","impliedFormat":99},{"version":"956e7dae5b888d02ec65dfe4113b541042cd2c70f96f6b9de0a5465bdf9565fe","impliedFormat":99},{"version":"75722639ade81b4d9a9a7f67f9cee2abbb68c52367322fe4fcd51949dbf60706","impliedFormat":99},{"version":"f90d3104f554535c4bfcf9d429e41318563c40b3b7e0827c0975624722546514","impliedFormat":99},{"version":"c61b9b3f161eb34fe5ed7fd3bb84f0774d74445928a06e9089ddc0a152f2a016","impliedFormat":99},{"version":"17268b7c5aed233ecafd22ac3e751c3aafc101b7ff982de8617bf19fafb7058e","impliedFormat":99},{"version":"bf6060c0585e76d2670629cc4c592e1dd938ac356e974916ced7f46587ba8181","impliedFormat":99},{"version":"dfe68566e870382e203fbf082e3e094b3d3d6712a3b6bf56fe66f69271d27cce","impliedFormat":99},{"version":"f230e4b9b3a7c27975a8af6131b08f6b17505e829073a3faa6ebff4a163090aa","impliedFormat":99},{"version":"e89ae5ee53771a98d89105723fc4dc73205bd96bfd2a784597b5ec6c2ed35abb","impliedFormat":99},{"version":"7f79b823d4b2a1fdee3a799a6a46792a21e4400ed0c2f45f1e1a9bb8de21d18c","impliedFormat":99},{"version":"42b828f21d7b672495a1f538ac49e93ea12da980d07d28999c7eb8dc55f297e5","impliedFormat":99},{"version":"35e7486045f8a29b25ec8adad02823bb82e0876fcce76228bc683e0da0726e98","impliedFormat":99},{"version":"a43f4964d97d0feeb6b33944f750707dbdb539e1c9c3a0496c40789a90d7e0d9","impliedFormat":99},{"version":"8dc6b9b1f772053689d3b298f089ffedf29ee93be2eead0d9c07d77e68aad9e4","impliedFormat":99},{"version":"b44e0ca6cba9c3f98a1b277e93dedcc31990c57c08f0fb37c29eb929afae3a49","impliedFormat":99},{"version":"e236485fde7c092508a177ccfef03ba15ec72ac697b50e241802d68dd99c5f73","impliedFormat":99},{"version":"b7ea66bd111288844e2d0cfb12abc02242af0786a83ddde14abc156a7f80d500","impliedFormat":99},{"version":"83fd9ba9e82b881f410b69b30d4fa9e41b1b6e445e4d7c7eaec836d4cc5a5712","impliedFormat":99},{"version":"ba2733b454a9756b8207e110896e4889859d4a23581e54fdd659f09267a63ecd","impliedFormat":99},{"version":"d94b9c4da700bf7e011fbd442c54b5c88a52db58bc71bb69db67f46a1c525320","impliedFormat":99},{"version":"bb19a13fddc505d633b9d08340c851a16638a3a2c6ba4971d538908b0cce8671","impliedFormat":99},{"version":"da588a0328ea4fa648563415d1ee4cad0587e3d1e1d29cf54d761fbe83ed9670","impliedFormat":99},{"version":"673f71885a78cdf431dd29b801ef2f811a2c793b415c44e64a55489ad010f6e2","impliedFormat":99},{"version":"4c0c16f5d60671e0654e560a94cc549a858a5fb9397a072d3f9935b3068be740","impliedFormat":99},{"version":"2cb58371baa22dbaa02e2abfc40b5640f00e7ed203e70e97fa20226a776b2e16","impliedFormat":99},{"version":"29db777661a60ea3a85cd21ce29b0bd877bb44f52cd583f9f3f7580ee08d4fd1","impliedFormat":99},{"version":"cdf79d50d5ca102a6ccd1ead392b0f5ebcb9b6c8b230e4f4931f0fab8b6ff3c4","impliedFormat":99},{"version":"6e21729eb1f94c93f99d1c13492b6e835e5c2d2ba552693c1c699f0e34d1fa1d","impliedFormat":99},{"version":"8267fbe09febe68384466808d3feaf055ebb7b15903728d23e7fb4c01949148b","impliedFormat":99},{"version":"54e45f5f4f7684c5c49d3e6367ba73c55c69f82973ecf7aca793a86bea5a99af","impliedFormat":99},{"version":"55a9664e49c8e8db27d8eb413749957eb222485b91b1148840a73e065ef6c028","impliedFormat":99},{"version":"af7945629e88f161817436aeab27906b947cea60102066575eb31071b4f84168","impliedFormat":99},{"version":"847b7eec4ffc81b7eaa1bcb473fd5da4aa73ab7e56944df3caf7d284317e95f3","impliedFormat":99},{"version":"5dd262cbb746c2a4d0a26f09369b3ede4a1a36e15c272adfd0289c47cef81ad7","impliedFormat":99},{"version":"677e4d55a1353f1b83ad68faffbdd91ffa7dbc34d67b1e91e88d3ac71b88be0b","impliedFormat":99},{"version":"21ba9b6a4c6dfc6dc403884d34dec961eeb965a4e0c99521ba2b3f9929e26b75","impliedFormat":99},{"version":"452a373c93cae3a20fb8f8309ac48b40cb2a33f05c3d54b090582ce3b8ae96c1","impliedFormat":99},{"version":"112f147e1f4b44b4a4f186cefcae4e58c49d6a0a61faacf7a12f55694b9f2232","impliedFormat":99},{"version":"c293793b601177e19a4230a9ecdaa167e6a44c93147da549941eb8e154510f4f","impliedFormat":99},{"version":"82ece43251947dd304e6f5dbfaf8b97588e5676ddf0bc0fc1a6a861aaa3eaf7c","impliedFormat":99},{"version":"f67c58823afbf2590f2c239d09a46aba9d3456327eee05b593c48ee248758ce0","impliedFormat":99},{"version":"e2647503f56e5c6d41b256af0b17ad3b98455cd8b852ba7336221af5fe99d805","impliedFormat":99},{"version":"c2d12e71e905f9ae80895201ae4b52b0082716d3177d794799f0140c3bbdb65c","impliedFormat":99},{"version":"668eaa98e8d54dc5a22d7a66d659a47f0b152e7b109f798cb295a3c3dd817dbb","impliedFormat":99},{"version":"81d447a1f248a2345a89673774ca673e79da5df8e25c6fd6bffb495d3b704362","impliedFormat":99},{"version":"900f1f5341752c6c2824ea871ae941d60be1359793a0284e56abcf277955a511","impliedFormat":99},{"version":"00c8b548f04329a012af189dfd8e3f3ddd8d4fb187f4fd22fdeba5e1eb740d92","impliedFormat":99},{"version":"919ea552c5b52ac5c8303a96dd7357986a2597de5760416468550b659113bad6","impliedFormat":99},{"version":"8255114fec0d6189524bf52d90580a2fce40bdac621215e562aa5f5b058fea33","impliedFormat":99},{"version":"6020d3e324725ee474aa4637005d2449eb8bce66e8aaf85163d683df86384dd0","impliedFormat":99},{"version":"d95e4069a535a118c22ac66a8b018818f9f74ca7000c8eac977dceaf752d0f95","impliedFormat":99},{"version":"5d8097f4e2588d7912d82772ac6f05ee6def5b738f5e4605f2e9bb24d26b4e86","impliedFormat":99},{"version":"6703ee0cb2405fc9e98a8835e4266ed4131fd25c31bcc0c302e66e9b05271eee","impliedFormat":99},{"version":"4b83d4ffdcb29aa6562749ca797b76a3b914d80f54819c6a08f1014fb6841623","impliedFormat":99},{"version":"41ecfbc96066dc0d03f1a8139e28b4b3297bc231257d27a7c5796d017962a438","impliedFormat":99},{"version":"46e060979c9bb359578744342c37b843529c284e20ebc219bd71d5fbc04b3704","impliedFormat":99},{"version":"720b258293ffe0939688db7b4729d24f64809718157b14ae50fb9e2397c69fbc","impliedFormat":99},{"version":"1273795a90591a538b11c91a7840b1facbb5b6d500146cc055324a16f58c0346","impliedFormat":99},{"version":"a06814aa3f18bf501a7bbd1cf3ad9b1fb090cb89b19375debf6ac3b906ad9090","impliedFormat":99},{"version":"785afd3f604c75ef24a65c0f2ce4b3ce2137f941773c201842abaa7385b12e3b","impliedFormat":99},{"version":"ee3bfff84df83f9e3cf0ec85aff97df52fc57e740e41fd4780de1cb3f9e73780","impliedFormat":99},{"version":"2025d7779d9356a37ed4142da93898d39f811d9c5937f8c107f44ab2344e87b7","impliedFormat":99},{"version":"471b3d02d1af08c6b58a9a2ff5c85da205910f782a7783d7a1f59dcb681ee8ea","impliedFormat":99},{"version":"e1902decb3f07a58e9be70b5136e3d715997025e0f0f20cf7e2610363f38ee04","impliedFormat":99},{"version":"323156c80e3ac6175f4b75952ed871ead30b58b9ec463131e368e572d89777be","impliedFormat":99},{"version":"7c54717447fdfa134e43c6f1a71f8ae4e955538f9e59a8bbd60eb65f5bb965e6","impliedFormat":99},{"version":"0d153b01d0b1e33ad2b8c778765c3f3539a3ffaa595dc3e9d53d91cfe5615f11","impliedFormat":99},{"version":"0ef8dbf7f717c2d8912df768687073cda1d7ec73ce2861fa8ee30ea8c15455e7","impliedFormat":99},{"version":"355ae3751ad1378804c850b212bbfed1bb68af9e4cde0cde857b86c6cbbe2140","impliedFormat":99},{"version":"06b02b230ad18789680a5d286d55d566451973456fa33b63ddff6c9b2c2ab41c","impliedFormat":99},{"version":"971f0be2884711cdbd2dc522224ba68db24abea620e9089b5432a9ed73dd406c","impliedFormat":99},{"version":"1e45c92c3241e189027db53310d5b3b8d713fad08ca6ec5f8e0734b275b6dd76","impliedFormat":99},{"version":"a374180a9dc60b15b4fea69423ae9d8e3cdfdf604e8cb314325db23a2a8e3cf9","impliedFormat":99},{"version":"acc82e49137ccc0be7e523164613032cd0a35a08b38721138a228926539a33f8","impliedFormat":99},{"version":"990951a94433c2efe6e42266ebd096f63154115a37c1f4e5bd37bee57bbd3563","impliedFormat":99},{"version":"b65b675fe2b1ad0d621ce5ad94e9fbdbd16b17e8afebe2863361e0d028dc73fc","impliedFormat":99},{"version":"1bc87b80ef30a78d0cec6f6c56ad41b68a8f03d30a7052d1a0f1e946f5eb5150","impliedFormat":99},{"version":"79ace3491ac2d2585e2e3748827466f99d0fe06acfb8cfd7bb5ac6e272d9b742","impliedFormat":99},{"version":"f51bf6581de40babf85946efb37bf4bab0a5357b46b4a0cf904278f3b8234350","impliedFormat":99},{"version":"c728002a759d8ec6bccb10eed56184e86aeff0a762c1555b62b5d0fa9d1f7d64","impliedFormat":99},{"version":"586f94e07a295f3d02f847f9e0e47dbf14c16e04ccc172b011b3f4774a28aaea","impliedFormat":99},{"version":"cfe1a0f4ed2df36a2c65ea6bc235dbb8cf6e6c25feb6629989f1fa51210b32e7","impliedFormat":99},{"version":"d94d06e50f58be0a417ebc0336be0c51e5aeb06cbb59ae7d5d4cba95e4948418","impliedFormat":99},{"version":"02246d22f0fc51c76534d953f606aab7c012d1acdb182f822c8ac8a37926a72c","impliedFormat":99},{"version":"0166e0f095473027f6f8744378f5ac5cb6557e788540fdad76e0abca9eef2567","impliedFormat":99},{"version":"f950a4cec73ccf53ee3c56f117e5c585872bd13328c487cdf7a614246feb075e","impliedFormat":99},{"version":"f325583644b63525d1c4d22825633c220e478411d813f134d5930207cdf8aab3","impliedFormat":99},{"version":"e25a05c0fd866cf73c00a281ea11bb51fa8d2a9955f2edf8a7b8f3081b37c165","impliedFormat":99},{"version":"2c86f279d7db3c024de0f21cd9c8c2c972972f842357016bfbbd86955723b223","impliedFormat":99},{"version":"df6ccc0d7f7324035b05a6294404b310a23b2f07fbbebe1cd298f88647ab8b6d","impliedFormat":99},{"version":"8cfc293b33082003cacbf7856b8b5e2d6dd3bde46abbd575b0c935dc83af4844","impliedFormat":99},{"version":"62391e62217e8a22a4d5f3ff123912bb4d182598e051f31b287096d187cbaea9","impliedFormat":99},{"version":"81895ab68da9cb1656eca90934f01924181d57439e980aa3df8c788488363272","impliedFormat":99},{"version":"cb1ee5692cfe21d8865ab74cc64aeb2f3319f2c2ea2f63cf2662b6319160beee","impliedFormat":99},{"version":"ef6ed27ceed062efa353f3c108dd31d3e4e83e222ed9e18566fa85ed4600e366","impliedFormat":99},{"version":"faa076baad26c7c20856aa86a22c8afd9113f0bc47feeacc680a9e6d4493ea5e","impliedFormat":99},{"version":"782d76ae47ae31c1169c04d93f11e6e13b50c704833517ffeb933516abc4dc12","impliedFormat":99},{"version":"9036dd2d0b09989692fb0eb69b5142647a709aae1f2bfea464701df33758345f","impliedFormat":99},{"version":"14eeb7d5737bc074d1020b7648358ad0488dfb576aa82937e8447586c1b02bd8","impliedFormat":99},{"version":"73b252fae9083ac46b9f2fa376c3a4f5d2c98f5fc0d31922e6d74e7a416f1034","impliedFormat":99},{"version":"0c35ff99747044453c64a4fe3e0e813adc45e67c16d6c47a39cda7d5b2c45764","impliedFormat":99},{"version":"a127363b7f50b5ce89ee98b2faa52a3e7247af32785f937e827e9ee32578d803","impliedFormat":99},{"version":"ae9e8befa5a81361fda14b5c44953b69a6b32abed1e9c62c533230796ba2b39f","impliedFormat":99},{"version":"f3eeac608cb47badfaf2218914776864558c08a392fa626d3a0ad678b0fbfe38","impliedFormat":99},{"version":"2c05477216d0da559ce805e5b5cb8f3c72e1897110886a0fe22808ac37a2f5f6","impliedFormat":99},{"version":"6307d21b4a02a9de0ec25ad7c8a36bfb3a25d38adb1dbe877f7e73595a4a924c","impliedFormat":99},{"version":"cc78721e9ec12b7b62352b8bfa1e37abe055c17965d5fc956d4edccb1bf4f673","impliedFormat":99},{"version":"53565e07ff42ff137d862dd402cd1799785904a50cbd75fbf8402d7ae76fb6b8","impliedFormat":99},{"version":"c8c4e8de61ce90831b7342b6e4800a3e70f4c06eadb17dd743e652ece3562ebd","impliedFormat":99},{"version":"37ed869a9de36bb1ddf343286b5cd0e0afaddd892ba28e82fd652b7ee2c46dec","impliedFormat":99},{"version":"5dccac21bdd7a3a3f399f2a0110bb1bb22a7bb002e3c4a3403f781299faf3f53","impliedFormat":99},{"version":"976ff2cb836f3b64382f2090462966b6b82a059b8d90c4eba54ffa2021e5c150","impliedFormat":99},{"version":"9432e9ba2ed3ef0169d133a2fdb113002be901691ec78ec9d2329c12c16d5065","impliedFormat":99},{"version":"f7e369493bd11921421f51025608f6450675e5d5fba73a1f5617c96072449ab9","impliedFormat":99},{"version":"0919c74e404e0f876c1687425547263ceffe5cc184404492ed2f8deb8a13cbcd","impliedFormat":99},{"version":"7df13a374704470d39a931dd1fa3602a3bd1cadf064115784e4acc3b25e6c24f","impliedFormat":99},{"version":"36944fe70fea641703d40efab3585844c0ed20ce7e783fdcde90bad50bf77f5d","impliedFormat":99},{"version":"cde65d40e64bf0aedba644d8841fba8fecc6f4793d7e4a4364be954bf273ec0c","impliedFormat":99},{"version":"ab9a48af27d31f50da02f40b83b2e8695c4ac28bd446f37d34d5ded0443aed3e","impliedFormat":99},{"version":"0b1a50c36805a5f3be773ea73339750c3619a7ac53c0f441f5e9f1cdfbddc695","impliedFormat":99},{"version":"b85424e3eeb4843556cc1838289e1d3aafc8907b44fad864f228e2abf1af55d4","impliedFormat":99},{"version":"0bdeb9f8d6472b196355591ea4a4313cef5434d24bc79c6e5e733132380b87ea","impliedFormat":99},{"version":"91fe1b91f77a6080c156f0f6af3f6b12524f04604b6e0925432c48f7ef58cfd9","impliedFormat":99},{"version":"9866369eb72b6e77be2a92589c9df9be1232a1a66e96736170819e8a1297b61f","impliedFormat":99},{"version":"e84281e45703810be96251405f8051317362e453f39f26e078cde8967fd2945f","impliedFormat":99},{"version":"0bcb04a160a2a2a934480e3b899b1d2255970b25ffc7408a5d07aaa07baf2878","impliedFormat":99},{"version":"8e3a9c17439b657424fc7e311943dcf9444fbcac73f3b9b72aec2f449a11e203","impliedFormat":99},{"version":"a6c3df80c7c5e8a15e302df97c8a35b1deec48f6a8639110663d6c85ea562fff","impliedFormat":99},{"version":"4c69a93a4645185c445f0050939645592d49f2b8dbc999ff63176c607f3dc319","impliedFormat":99},{"version":"0e2d2919246a4491005fba1612d101a68dad27a5592a77baab1523b2de335cc2","impliedFormat":99},{"version":"c32be5821ff157b2845dacfb257531e932a1161b933e6cd1cd0a4de9e057bdea","impliedFormat":99},{"version":"eb14bc57e220517c752f74ab7c810b72a80632c26eccbd7af690ed9ea7b5ee03","impliedFormat":99},{"version":"ee0de1f85e4fcafe9019c89085cedbde41a22d4492bab87623eed5afb91065ec","impliedFormat":99},{"version":"588b99d933490c59f0ac74e43491ec1b71348b049b1a391f24318b84bdc17b97","impliedFormat":99},{"version":"d78f57a7b922e855a90900275fc93805e07f8cfc7689039840118eb6bf6f0057","impliedFormat":99},{"version":"3c20a3bb0c50c819419f44aa55acc58476dad4754a16884cef06012d02b0722f","impliedFormat":99},{"version":"82c69793fa09d8b58a3589f08c7d16163c566cca5657dcc45deaf5160f2c0e95","impliedFormat":99},{"version":"b89268c927a997e32030d8d8daeb0ee65a7c7db40b167a39296459e114ba7511","impliedFormat":99},{"version":"fb8bc4e79a3b9442dd3e8b1bea89b3e0ad93dd154f94fcb7ca81f511c7c06b65","impliedFormat":99},{"version":"b6c9a2deefb6a57ff68d2a38d33c34407b9939487fc9ee9f32ba3ecf2987a88a","impliedFormat":99},{"version":"f6b371377bab3018dac2bca63e27502ecbd5d06f708ad7e312658d3b5315d948","impliedFormat":99},{"version":"31947dd8f1c8eeb7841e1f139a493a73bd520f90e59a6415375d0d8e6a031f01","impliedFormat":99},{"version":"3a4b1b3e62543a3955e1ad5cddfcc59b25074f722d5dbf7aee1971a43de8acd2","impliedFormat":99},{"version":"19287d6b76288c2814f1633bdd68d2b76748757ffd355e73e41151644e4773d6","impliedFormat":99},{"version":"fc4e6ec7dade5f9d422b153c5d8f6ad074bd9cc4e280415b7dc58fb5c52b5df1","impliedFormat":99},{"version":"3aea973106e1184db82d8880f0ca134388b6cbc420f7309d1c8947b842886349","impliedFormat":99},{"version":"765e278c464923da94dda7c2b281ece92f58981642421ae097862effe2bd30fa","impliedFormat":99},{"version":"de260bed7f7d25593f59e859bd7c7f8c6e6bb87e8686a0fcafa3774cb5ca02d8","impliedFormat":99},{"version":"f9d8848e3c6d82c1e348a9e5cc531e433be58c4ba233a6683a4e9bf6d923a462","impliedFormat":99},{"version":"48a3ae8b6325c87135a210f6d6a7ce15d58417870a2ad78d70858313c47eee99","impliedFormat":99},{"version":"9822da8046d00ef9b8a230345cc163599e58629112081ba55cf4f8d88ba5bd93","impliedFormat":99},{"version":"260a0f4a8a6dc69a2dec8ea672d702629ff7624d5684b29be55cca02a3e42e7e","impliedFormat":99},{"version":"9789d7263d261044cf33f0bb5fd31a2f4ae3a4cc2a010aa45db6f7d01fb019fa","impliedFormat":99},{"version":"d81f0485800e8813d917c2edf184ca3a7fdeada1472cad6dc41e43c37e240800","impliedFormat":99},{"version":"f59c2a64fc652509e0cc56fffb59d7b81f4c7950c7dcfc2da44b681637604797","impliedFormat":99},{"version":"ac0d6f9d09ee9ec076ec3045d20f0d6f5b32300d5a2fa05b5c5a9b6492c0de1f","impliedFormat":99},{"version":"1d8a6497f663251332519c392c6053d5b5e93e5a2189e2669620851b93fbab65","impliedFormat":99},{"version":"52f2d4cea9e3b8e4821b6ca71077ec5f41316d1b3c7d599ef10fd7c8c839ee09","impliedFormat":99},{"version":"013d7f1c5798ac843bcf24e6f3d97efa42c79f038da9cae4fc95ec686b3087ce","impliedFormat":99},{"version":"83b28136beeebb45a635f0179b828e0d0ec9c59330db43060c5958d796e35ddd","impliedFormat":99},{"version":"81c1ea7f9b00460828ef1c92fbbcfa9ff0a7bfcfb2dbfe2510bf7916c914fa75","impliedFormat":99},{"version":"6cf0bf08cc2ffa6d25c7a9852e58f7de9b26122a42380a89105c201e8bde13c8","impliedFormat":99},{"version":"07350c1be768f0446138cf700b47a8aae8e2f6d828310e519bc500200d519a92","impliedFormat":99},{"version":"4253e0bc9530f4c0eec62d1c566350dffef04ab26d0f72befd2ddc08ccb61925","impliedFormat":99},{"version":"9237ce9c67ba997f8cdbc795be7628c1eafefc3317260c38c1e2df4ebd63a62b","impliedFormat":99},{"version":"1ae2b7f6a1352e73754401f16a7894c1335f3fd199acf4c473274243f89c3230","impliedFormat":99},{"version":"ecfe3af749f3c44ab0fa260d7027b067332f0841bcdca1c8db75eb9b1890bbb5","impliedFormat":99},{"version":"94899ca690be8b491a49004460b79426162b218ef26948625fc025cb40a092e9","impliedFormat":99},{"version":"7fd2e48e2ebd92a381e745c7cfe58003969296f7d0cb0109808e6e867bef6a4d","impliedFormat":99},{"version":"98d7fcdd7c0c682528a70f6781f7a00cc0f314b720d1b15996f223c74dc0cf69","impliedFormat":99},{"version":"155e18326afb2fb26a380b480e0c892cc85cc9449537b3346fcf5aaceeb953a8","impliedFormat":99},{"version":"523d1775135260f53f672264937ee0f3dc42a92a39de8bee6c48c7ea60b50b5a","impliedFormat":99},{"version":"e441b9eebbc1284e5d995d99b53ed520b76a87cab512286651c4612d86cd408e","impliedFormat":99},{"version":"f67db9e9b24275680e88888b618e0d6514a40cef9aec2b6ea8eb1de899f97933","impliedFormat":99},{"version":"0968374af7bf8bf67301b89a4fd4bc8594dcb90b16b4be06ee57d26a708bb776","impliedFormat":99},{"version":"f57e6707d035ab89a03797d34faef37deefd3dd90aa17d90de2f33dce46a2c56","impliedFormat":99},{"version":"cc8b559b2cf9380ca72922c64576a43f000275c72042b2af2415ce0fb88d7077","impliedFormat":99},{"version":"1a337ca294c428ba8f2eb01e887b28d080ee4a4307ae87e02e468b1d26af4a74","impliedFormat":99},{"version":"98a667d4585d5b040af90fb5062e31da7c215abcb47521ff57e33f62755fdc17","impliedFormat":99},{"version":"c29e02568f8b68e62b83db2243e4bbacb5ced2d6c8d120e322b56a018d1070b8","impliedFormat":99},{"version":"53c8e58bcea418aa22f5ee013774c08dfe15f0df9625868b7ce5a7201de29785","impliedFormat":99},{"version":"d56ca5a8aa5dd4937a82df98dd930ef154f340d259bcb2980d36c28a47ff2901","impliedFormat":99},{"version":"3d421ded6ae2260cfd45b230eabe38b6c8498a1a35db809384c85ff2bc3ba822","impliedFormat":99},{"version":"ead83f43dcb956f13b924b9e43e7a64380f830efc67439a9e9e479bc985df8f8","impliedFormat":99},{"version":"d04ba54e15442a067fd28679bf18d11ca2162d64f3b0695b9ddfba2b8e1c3b59","impliedFormat":99},{"version":"6b6cced9b26444d621bb62a1b8cb65911c22505fd559411b5a57e699c7aa519e","impliedFormat":99},{"version":"dafc53212e800bc9bbfed7f3a7732ba8f401516b2bc0c71b2f601ae2583a007f","impliedFormat":99},{"version":"940e51654c3c1967f34160a9674e3bf1dc436a5d36c5d7833718aea235e52fda","impliedFormat":99},{"version":"16f2023402fd0a4eeac99edb5d75d3dd8cb4b2f25f46e9bcdaf0c0bd9670e77b","impliedFormat":99},{"version":"9d7765384806b08a522ff85c20184667eec635fdb809736184da23e89533dabd","impliedFormat":99},{"version":"d53593a008e289638eac5b0a0dfbd4296233e395205831367992a87e81eda13b","impliedFormat":99},{"version":"aa0981acabb92a87323aa1579664c293a968138d9377310fde29429e92febbc6","impliedFormat":99},{"version":"796d8fd55590f854e79d3f4181b54f28108e90118314c858726163bb9961e7ae","impliedFormat":99},{"version":"b37e4e4f8f34745d839c334991d9cf227c34c2ed7fb3b297011ddfddf3ac7d68","impliedFormat":99},{"version":"ef55aaa329259ffcb1694dc5d0d688f05e5a37eec2ae34510ef751e9d608b90d","impliedFormat":99},{"version":"264b53b60d27b252258cca58f80b81e143b6299a866402819d5524fd20febd0c","impliedFormat":99},{"version":"714456dfe665ce8b398af312b56b68a927a8a182f8e78dd7c1ef5cfb596ade25","impliedFormat":99},{"version":"27c9ce7c539db9b37ec0d7476b4e9d9ba7439dc41549e466aeadde43746e8390","impliedFormat":99},{"version":"903e813fb2d906d278ab54626f4ade4f43f96f4e636dc66f5aced69d1afb871b","impliedFormat":99},{"version":"c80bc9ee4fa024302308d14084c0f6c3026301db9abbf6789e6b1caf686ce35c","impliedFormat":99},{"version":"8cd470e7936934cb17c70c18a2e03282980d8d047ec08467925a31bf99ec1bf1","impliedFormat":99},{"version":"c09f5d7d8cdee279972790105f90d6adbfb18efb905cf04815ac59d033f7bb7f","impliedFormat":99},{"version":"e92673d9d3c39fff66b14270f144fd32d2ec6fe92e8b2c51e65bd7b4a0e5f355","impliedFormat":99},{"version":"d465455e9f29288b7c879ecd390256571ba306f8b947698f03b1429d6300ff67","impliedFormat":99},{"version":"108b9e022f7dddd5e5ed8165170d65b752fa7b21ced5dd1005ffad3c36242c57","impliedFormat":99},{"version":"1890b77d7c36efdd18174e345b295ece38e66179dae192fad21e8c3642b993a1","impliedFormat":99},{"version":"636f9c9b34b3f33b2258704da1187e271fbf36081a8e22da97be5b53488a9863","impliedFormat":99},{"version":"fa6693c8ad74ce099f2a93ca8d1b0a643dd7f6026f41ba4b244d440d8dd07f03","impliedFormat":99},{"version":"fd76be177303d35dbd29c11de5f935f5d21ad605d34aa4aad9e309ec494b51a2","impliedFormat":99},{"version":"f31af014cf064d7cea0392f02595f09d8cd4b9d06c7794397cf3ddce13111d81","impliedFormat":99},{"version":"d15de8944d6dfb1c8fab88ed1d56947c4ae438b9fcbd9be18f7840b78c9c3bbd","impliedFormat":99},{"version":"040fd90833b34b59436ca6545a00a3b5988f5a95e6cce0a378ddd66bd2cf44f2","impliedFormat":99},{"version":"f332d07979b46f12410417a97153271e1bf5ea11677423718c59010df71a3f2d","impliedFormat":99},{"version":"06911ddbb7160760c75015d2d6fa0f1c0f94d9f0d61265b2d211238b571a3ff2","impliedFormat":99},{"version":"af0612a0e9b7efc543168628fe60a8d3f4d7ae8d97fe257788cb60bdac2459c3","impliedFormat":99},{"version":"9dd05d844e6b99e0a3c8ab8e37bac8f6297d531a844af0738f9b1eaf4aead087","impliedFormat":99},{"version":"5f7be41a9ceed0632c19b7cdb5ad9e07ac19093cbe23a738fe0f1c8c2f27b036","impliedFormat":99},{"version":"b33e84f2148cc81a9afa6d4177a27a1d246fabea3c0cf391aebd3e62eec04f4f","impliedFormat":99},{"version":"5dd273430ddfd576316532f118feafc41f18d5128d7d84e674d98f4a57107384","impliedFormat":99},{"version":"a9c40d74fab8e810c62cfea99a21d09f529fe6a0e60c39353510974c33df980d","impliedFormat":99},{"version":"2665ad2e88b3633b417e176af058b1c20bf5645327a8c4fd4f08e35636b72f9d","impliedFormat":99},{"version":"2321ad799e7ff9c6c6a886dea5ab208d08072a8d33da312f1b9a10ebc888765d","impliedFormat":99},{"version":"8e2f56264cfd71093034fadc1c788d6f46d58036a57e7189e8eda9a7f87eb9d9","impliedFormat":99},{"version":"06deb0a45f5a6dd23244cae8f1ebfa2400ec7de804980f044316d2d9d35a6ce5","impliedFormat":99},{"version":"b27242dd3af2a5548d0c7231db7da63d6373636d6c4e72d9b616adaa2acef7e1","impliedFormat":99},{"version":"e0ee7ba0571b83c53a3d6ec761cf391e7128d8f8f590f8832c28661b73c21b68","impliedFormat":99},{"version":"072bfd97fc61c894ef260723f43a416d49ebd8b703696f647c8322671c598873","impliedFormat":99},{"version":"e70875232f5d5528f1650dd6f5c94a5bed344ecf04bdbb998f7f78a3c1317d02","impliedFormat":99},{"version":"09b103d94e6bf3723cc3642b164dcae50bea1d1f0ab1f5cccc38dfed3fb2beda","impliedFormat":99},{"version":"e3c2cc25f470bea78afb3af5ca6f30759cfd44e4b1212e84657fb36e45a3a1d3","signature":"6e0fa1db91df6484a033340dfafa435f2e98844b66e876a01f963ff84a878646"},{"version":"16bed64f9c23abdf4e18425ab522343d5c8f180214832e5b6d40135d838f7841","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"5e6e6f01cb776da72cb3ca11adf3fa20c16d0f68841c2f550e485376491fe584","signature":"981a1e9bb280cbad4485d10bfb76e890079fcc75cdf11f502bd995e1065d2616"},{"version":"2e0902468e1a220489a3f33dc82d5eff8f70521cc4ad8eb35abee7a792a14a6f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ca55e9c482d5da0295fc69d21ed6822af32439b9fc3b1fc55ab593deb4a83880","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"a0395b4c83044d52eb3954c29d53ccba5aab9acf9765dbe663f8f95783629609","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"abb13a376d731db2984464da46235b3dd198602a97e200bf687c9a9a2bb43593","signature":"909a9f6b4a08c0af15d0c0e3cb1f290ccda985ee205dadc0c735d3bd1467d5bf"},{"version":"1652f9e9c84699da6c0050e0818ffbd6093fb9dc67e082bfb5d3df1fc92012b2","signature":"e7ed13b72a29fe7f0c628bb06ed80ba591e327268a8acf0cb66fa1725ce5e930"},{"version":"ccb92614f79729906fc8a9f5c9c18f163c1352d2e549cc49b42c4302fa591f30","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ec90498fea3cfaefc1dc5badcfa5d2c8f05a73f96abb856d63707c0cd25351eb","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"eedbc489481913977cc00e055bd0f493c8ed3115928ca006929d1b353411e722","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"9344e6e424dfd647c27be85b5ea478753830f7fb31a74747ce6a373b479d51b2","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ba98ffac19abe3f9aa945abea3b81b3ecb435ab243502108b61d6af1a31c00b1","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"73a98325658b7d7509ec766ae0f0b34b9a4d9819b388d4e5b3c74ef8af5af185","signature":"211206a1cc64d3623a54c919fe8e7e8cb70032936ce7dd2625ba2f185580334a"},{"version":"8072581b3b7e9ce43d9553465431ebc422579042d0a644394d018c6803c45918","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"938165e53c76725415bd8152fc8363d628ac4a95e04d4c2884f75349e3d337a9","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c868f50837eedd81fa9f61bd42de6665f74e7eb7a459135c6a14ac33ddc86798","impliedFormat":1},{"version":"42cf6b642a67b27545981d06932f7e5ef948a68dadf5779cdfa9e052e3a13d76","signature":"41302973852bac2a0d545eb886ea0b819803722d9d6344a011477d235854894a"},{"version":"cb61a5aafcdee23a7ccf20343670924ee6cf6ec6f631b65a3ab249e27d9db542","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"d2e1e7f9ea69da6734503f8b7077edde2e9fc91596141725e2beffba76ea2ec3","signature":"0f87709207a3c70d4c4dd8ca7a866e5114b412c6629abcd9f4bac4a7b91495e1"},{"version":"1e3bd35220cea102b5a84d579f9bb1adf4dc20dea714829473bb3aa87499a64d","signature":"230d47db97c6f501ec507c267dbecfcf25a3a8c8c13854734008f4294a0da41e"},{"version":"ad3e839b384c5231de4906ea0d62e778d95f1e46937d9c005487b0897ffc48f2","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ebe9b7b5b1909551f7fe8a5aedab9f4c713b928f5ffeb7b83c9ac876861a74fc","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"dae983fc2e940a628dd197d10e67ca9cdaa071d87d7018ceb8fa5c8a690eccf0","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"eeb5551958a1e9c5493e02cc7a0eaa112e946b7590a018f1bec0e29de91a64de","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"29e02239f94241d9f26f19f570a5eb688c86873d1e77e43868fd69f6a38e771d","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"681ab80103a45e835b91035d733228aa210d75cb0cd45355dbe6e72fcbe1806a","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"cfc4d1e3e0f3fa0a4a3de8483598fe4ca1f9677de760b092b4919748ca383fff","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","impliedFormat":1},{"version":"ac450542cbfd50a4d7bf0f3ec8aeedb9e95791ecc6f2b2b19367696bd303e8c6","impliedFormat":1},{"version":"8a190298d0ff502ad1c7294ba6b0abb3a290fc905b3a00603016a97c363a4c7a","impliedFormat":1},{"version":"5ba4a4a1f9fae0550de86889fb06cd997c8406795d85647cbcd992245625680c","impliedFormat":1},{"version":"57c98d540df72bdc219a9d4e23e7c1f844459414e4e62eda3439067fadf743ba","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"723d1d05be7e263d358580c9bba607944fdf6e5093e7bf62a2f578754b779390","impliedFormat":99},{"version":"7a59476a46fd4b3e1522e9c6ec6cf436b6d5ab8ac97a17ae867aeb9cdf0371ff","signature":"57f1ad6cd433ecc0e78e4616e780d4db68642604162b65747c70a6142d28e49b"},{"version":"ff3e228e751934dd42a9f05cfd75bccfedfb529eda504ee0c4f0d184da345050","signature":"4a1201a691800bf407a2703017b769c5ce1a53418279b7682e4cde1afc7dc6d9","impliedFormat":99},{"version":"ee70ae40394baf9312c35363c42fa429ba3e037ab10cf767a184ec38d24b5427","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"b5b7c87e72f384980ca1d92c4f54d6c30b2f099556e3843588073cfe0a0a893f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"f329dfad7970297cbf07ddc8fce2ad4a24e2a3855917c661922ef86eb24dd1f1","impliedFormat":1},{"version":"841784cfa9046a2b3e453d638ea5c3e53680eb8225a45db1c13813f6ea4095e5","affectsGlobalScope":true,"impliedFormat":1},{"version":"646ef1cff0ec3cf8e96adb1848357788f244b217345944c2be2942a62764b771","impliedFormat":1},{"version":"c864801e02e8547ed49024b3a469d6fbf600ee240be6bf413bd6149f26241348","signature":"90ec9100c29e008c3d9194acd818e2cfa6dc6e177154bc8e10c5959aa35619ed"},{"version":"6c8c958cc35f90494284a36edeedf503f3a56a93960016a618a1e587d19d86c4","signature":"2b02e2635e94d92d8a4c1fb05177aa1f9bee04c362dc8600559080aafe963e14","impliedFormat":99},{"version":"9c947051913ac9feed2de4ec57656a9f38ef4bccd22518b765f5877c69894082","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"0260838d2473bd7872f0fcef24bdfebc247cdf5c95217670ef50931bf93f2e91","signature":"2affb08b140b8e89210e4b39ed75b00cd5e5ccc3553a80bb3e83514fd2461e7b","impliedFormat":99},{"version":"e9e4ac4ee6a2c612f408e17bfd9bd5398bab08053196d8e8c6cf64d8a7335a51","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"15128feed70d09b1e4f994cee399f093af7c7c42e224db77f3ace502a457a2f2","signature":"c7108b0b3c30b5aa5fe1fb0c2399dbe7da3e7730cfdd42e7403a0402394bf466","impliedFormat":99},{"version":"3bbf19210a7e08f50ce1518710ba0ffa8e13a0d55d78fdf3cb62cbad44d30e1b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ca273ec7d7789662ab7ae9e00a4556a0e42416d6f8a13702a5746b5ea6862061","signature":"dc89f83d1e61d147d010a811cad4539c273b3ed227aabfa8a9a130b4180d2cd0","impliedFormat":99},{"version":"2e71945b350a81ff50fd4e21a3660e7e6055a5cd5691d6d8d867d0e6f10cf313","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"5d0e499d96f070dc2607f23d55fe54ac074d1a840b6505e1978f70f57232cf7b","signature":"9e4d212471d83031de81b7c76834be81b4d32b5eb573cda6c61023d1cd5f326f","impliedFormat":99},{"version":"f20e59aa1f8ad6e7dbfb10f7c7147773dab8b5d8e4d59eeeca34944b51e4dd14","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"84daf1ace1a44a36500dd4dbedc8a92e50c4a1c1e935ef732dd18b7e2fb0aaf7","signature":"5cbfab9a555788720d027df70fa580bd727ad40aa2d325eb0b04ec4642f9faf8","impliedFormat":99},{"version":"1784d27f3095418bde9b61739c7ca7bd30b1bf05c95bde803514bfe48ce23f57","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"e62fecd6655ce82858142ac7225caded25ac9b7da81632bec4c7c054983bfc68","signature":"2bcc2d03633b291af104b7774e1f7da0ba4dd09809fceb39db956b6a7e127ae7"},{"version":"fe93c474ab38ac02e30e3af073412b4f92b740152cf3a751fdaee8cbea982341","impliedFormat":1},{"version":"3255b97f3f24af29c79cc1aa88004efb13b6285ebdde0a567bf32e19bb65250d","impliedFormat":1},{"version":"1e00b8bf9e3766c958218cd6144ffe08418286f89ff44ba5a2cc830c03dd22c7","impliedFormat":1},{"version":"8589487932fd916840218fdedbb143741d22216ddf630c70d401ee674c448e1e","impliedFormat":99},{"version":"c0fc68a185e7479c68bb3304bf208d87e9d8bbe9a684302d06c40245670cabf1","signature":"42288bb7189ed22d6ecbacd5477ddce0e5ae1fbc1dfe48b1038c58af794199dc"},{"version":"31caf28f1dc08edfe3cb8e7c4011ced09f4bf3f5f725c50e5dc0b5ae573b498a","signature":"04a996928d0f8d5efd87a2990c4f4ce70e00fd0c975971fcbc570df7961daee5"},{"version":"502c011687aee1a48fa221d356f8f2d8eeb035c0706e8f8e9ef0104660cfc51d","signature":"1a734856e43cee0599e8a537f131cbaa1e9290b47f2b496fb504f95e252b8495"},{"version":"1a7163e59864fbaa14672752a70c8b38086117e5a14afa00893611dfc2fa803c","signature":"01a977ade994fe0de990222140f158a0dc3b03529994c449aa39333d0facac02"},{"version":"348b8169a6c19556863ffe85bf1fe1ddb0006affc951bee6eeb7dcb3a2d6eb30","signature":"f12359b22cbaca86f938ddee38c0c33924e768a93042ad939fc2288f2471e5e9"},{"version":"43ee1831235987ca593e76b22b4116009f1ff6fb0e7a3fa6bf1e5df1420fd6dc","signature":"a05af3719b211bbf59b553f0760633dc3095778bb0171502d7bb7342a54d3b15"},{"version":"dc4085267e01a46acdc4e014d59e60d40d6acfe0806a041e857ed5b91c688c5f","signature":"138cf0cf601045c4741faaf79f2d7024eca30e59e3b533a4d60e01a99209ad68"},{"version":"45311c218ffe1c8393be29ebab04527a9167c2e48a5fdb15adc0f22cd541614f","signature":"dfb3bb27e47ca92752033b3171dbe6a1f8e9404b34577d1b16eac221e1745a2a"},{"version":"093616375ac2af574eac9fdfcd18193c3f9394e1b1d4d8c79d2e6068790ac100","signature":"335f66607c072668fef3e0563ad5619a7632e75eef9f85740e84e35523d1ee82"},{"version":"383fc1e3823bc2d2cccdbf51be644b7f2297d6d04190008c1ef7ccf82eed9b76","signature":"77658513755ac8d8ad639e6f969539b6d98cdc9ea85a2eabeb33fc94a839f395"},{"version":"eb2ca2e825628da3e61a98cbf8338f9af1da351244346ee4955b09972d60e7c3","signature":"0a759888cb435532132e0066d5bac2f2786bc7160a24f07e7b60ee958d45b88d"},{"version":"63d36b8af9723f5416b3c0c7270f4094ea417909c8196a01775da5ecab082c9c","signature":"0f2ab2d398a5484d267cfbae7f4512671debe1dfc0056d474a6d6add63a148b6"},{"version":"622276611290ba3952b0585e626d99e70ae18719e1eac03fcfd026e8a44cffe3","signature":"257d9dcd4c3e61e552ab3f34ead65de21367da6f92f9d62979a26fd748982849"},{"version":"6b43dfa5e9c9d89bcaca0ffe7da88f34e20d760ca158398a3276cef61f738c4c","signature":"410aae1dab008177682aafcfbeeb27bb71cf90e2644309d0473a9f4840d460b3"},{"version":"83a3f59d023ec0384755cb114026dd5bf1bdb12fa59e166330486c05fd6007c2","signature":"eb7b3044b45633015e2479d99bd7235a1f0a0eb20729049735674c473e197971"},{"version":"63d9dc36da9bc05dfdb5ccf23b5738648c073c545320dbb619c6b0b27ce304b3","signature":"859b36849fa1a6871f9dc68605252132a625792e315c5e58d893b28aff84c7c5"},{"version":"c01e6f5f2acfc5e3a04850fc1a502350f37b59192124965753a18b8c8c0a3d6a","signature":"0cc24adad526e7c075f3223582ca642a555751bddc0088d47a1fe62ac19ebe31"},{"version":"bc7bc237e289f8d435d34601a22322d303d64d497e25d80d555f06f7acc34e4b","signature":"7da246bb1c2b2ce4879114715c5bd7714bef80824031c70e814efa143acfdd51"},{"version":"ea148617618060b428a28a47935b7d220bd76a20c909c3f55b15dcc94fee0b89","signature":"f4687c2184d06940dbc04b6e903d2935739121ddf9889b75f1aae3698097a9ef"},{"version":"9a7b469bc32fae75951dc069e760b7945d91829873247f00a5ede47eddfc5d2d","signature":"acaee283946e562a6a4f999558a47c3d5110e5e2ae0581f90b5d2d4e35dd74cf"},{"version":"5b8eb6e16859a5d0b869e2607f6510cbdb93ff3b24942edfb5098f2e6b07e773","signature":"03b23eb17ac097b361cad4f90128b223cfc584893f86a350ad9337aff15890bb"},{"version":"983793b81b9d3f63b32a2b4aed4cbecdd215d0c00487729c5ee788f9d8a77c13","signature":"afd02efecb9f6288c3098659c94182a2d6fcde4620ebda7c2aa229cc5d2c54b1"},{"version":"89121c1bf2990f5219bfd802a3e7fc557de447c62058d6af68d6b6348d64499a","impliedFormat":1},{"version":"79b4369233a12c6fa4a07301ecb7085802c98f3a77cf9ab97eee27e1656f82e6","impliedFormat":1},{"version":"2b37ba54ec067598bf912d56fcb81f6d8ad86a045c757e79440bdef97b52fe1b","impliedFormat":99},{"version":"1bc9dd465634109668661f998485a32da369755d9f32b5a55ed64a525566c94b","impliedFormat":99},{"version":"5702b3c2f5d248290ed99419d77ca1cc3e6c29db5847172377659c50e6303768","impliedFormat":99},{"version":"9764b2eb5b4fc0b8951468fb3dbd6cd922d7752343ef5fbf1a7cd3dfcd54a75e","impliedFormat":99},{"version":"1fc2d3fe8f31c52c802c4dee6c0157c5a1d1f6be44ece83c49174e316cf931ad","impliedFormat":99},{"version":"dc4aae103a0c812121d9db1f7a5ea98231801ed405bf577d1c9c46a893177e36","impliedFormat":99},{"version":"106d3f40907ba68d2ad8ce143a68358bad476e1cc4a5c710c11c7dbaac878308","impliedFormat":99},{"version":"42ad582d92b058b88570d5be95393cf0a6c09a29ba9aa44609465b41d39d2534","impliedFormat":99},{"version":"36e051a1e0d2f2a808dbb164d846be09b5d98e8b782b37922a3b75f57ee66698","impliedFormat":99},{"version":"d4a22007b481fe2a2e6bfd3a42c00cd62d41edb36d30fc4697df2692e9891fc8","impliedFormat":1},{"version":"9d62e577adb05f5aafed137e747b3a1b26f8dce7b20f350d22f6fb3255a3c0ed","impliedFormat":99},{"version":"7ed92bcef308af6e3925b3b61c83ad6157a03ff15c7412cf325f24042fe5d363","impliedFormat":99},{"version":"3da9062d0c762c002b7ab88187d72e1978c0224db61832221edc8f4eb0b54414","impliedFormat":99},{"version":"84dbf6af43b0b5ad42c01e332fddf4c690038248140d7c4ccb74a424e9226d4d","impliedFormat":99},{"version":"00884fc0ea3731a9ffecffcde8b32e181b20e1039977a8ae93ae5bce3ab3d245","impliedFormat":99},{"version":"0bd8b6493d9bf244afe133ccb52d32d293de8d08d15437cca2089beed5f5a6b5","impliedFormat":99},{"version":"7fc3099c95752c6e7b0ea215915464c7203e835fcd6878210f2ce4f0dcbbfe67","impliedFormat":99},{"version":"83b5499dbc74ee1add93aef162f7d44b769dcef3a74afb5f80c70f9a5ce77cc0","impliedFormat":99},{"version":"8bf8b772b38fc4da471248320f49a2219c363a9669938c720e0e0a5a2531eabf","impliedFormat":99},{"version":"7da6e8c98eacf084c961e039255f7ebb9d97a43377e7eee2695cb77fec640c66","impliedFormat":99},{"version":"0b5b064c5145a48cd3e2a5d9528c63f49bac55aa4bc5f5b4e68a160066401375","impliedFormat":99},{"version":"702ff40d28906c05d9d60b23e646c2577ad1cc7cd177d5c0791255a2eab13c07","impliedFormat":99},{"version":"49ff0f30d6e757d865ae0b422103f42737234e624815eee2b7f523240aa0c8f8","impliedFormat":99},{"version":"0389aacf0ffd49a877a46814a21a4770f33fc33e99951a1584de866c8e971993","impliedFormat":99},{"version":"5cb7a51cf151c1056b61f078cf80b811e19787d1f29a33a2a6e4bf00334bbc10","impliedFormat":99},{"version":"215aa8915d707f97ad511b7abbf7eda51d3a7048e9a656955cf0dda767ae7db0","impliedFormat":99},{"version":"0d689a717fbef83da07ab4de33f83db5cbcec9bc4e3b04edb106c538a50a0210","impliedFormat":99},{"version":"d00bc73e8d1f4137f2f6238bb3aa2bbdad8573658cc95920e2cdfa7ad491a8d8","impliedFormat":99},{"version":"e3667aa9f5245d1a99fb4a2a1ac48daf1429040c29cc0d262e3843f9ae3b9d65","impliedFormat":99},{"version":"08c0f3222b50ec2b534be1a59392660102549129246425d33ec43f35aa051dc6","impliedFormat":99},{"version":"612fb780f312e6bb3c40f3cb2b827ea7455b922198f651c799d844fdd44cf2e9","impliedFormat":99},{"version":"bcd98e8f44bc76e4fcb41e4b1a8bab648161a942653a3d1f261775a891d258de","impliedFormat":99},{"version":"5abaa19aa91bb4f63ea58154ada5d021e33b1f39aa026ca56eb95f13b12c497a","impliedFormat":99},{"version":"356a18b0c50f297fee148f4a2c64b0affd352cbd6f21c7b6bfa569d30622c693","impliedFormat":99},{"version":"5876027679fd5257b92eb55d62efee634358012b9f25c5711ad02b918e52c837","impliedFormat":99},{"version":"f5622423ee5642dcf2b92d71b37967b458e8df3cf90b468675ff9fddaa532a0f","impliedFormat":99},{"version":"70265bc75baf24ec0d61f12517b91ea711732b9c349fceef71a446c4ff4a247a","impliedFormat":99},{"version":"41a4b2454b2d3a13b4fc4ec57d6a0a639127369f87da8f28037943019705d619","impliedFormat":99},{"version":"e9b82ac7186490d18dffaafda695f5d975dfee549096c0bf883387a8b6c3ab5a","impliedFormat":99},{"version":"eed9b5f5a6998abe0b408db4b8847a46eb401c9924ddc5b24b1cede3ebf4ee8c","impliedFormat":99},{"version":"dc61004e63576b5e75a20c5511be2cdbddfdbcdff51412a4e7ffe03f04d17319","impliedFormat":99},{"version":"323b34e5a8d37116883230d26bc7bc09d42417038fc35244660d3b008292577b","impliedFormat":99},{"version":"a5dbd4c9941b614526619bad31047ddd5f504ec4cdad88d6117b549faef34dd3","impliedFormat":99},{"version":"e87873f06fa094e76ac439c7756b264f3c76a41deb8bc7d39c1d30e0f03ef547","impliedFormat":99},{"version":"488861dc4f870c77c2f2f72c1f27a63fa2e81106f308e3fc345581938928f925","impliedFormat":99},{"version":"eff73acfacda1d3e62bb3cb5bc7200bb0257ea0c8857ce45b3fee5bfec38ad12","impliedFormat":99},{"version":"aff4ac6e11917a051b91edbb9a18735fe56bcfd8b1802ea9dbfb394ad8f6ce8e","impliedFormat":99},{"version":"1f68aed2648740ac69c6634c112fcaae4252fbae11379d6eabee09c0fbf00286","impliedFormat":99},{"version":"5e7c2eff249b4a86fb31e6b15e4353c3ddd5c8aefc253f4c3e4d9caeb4a739d4","impliedFormat":99},{"version":"14c8d1819e24a0ccb0aa64f85c61a6436c403eaf44c0e733cdaf1780fed5ec9f","impliedFormat":99},{"version":"d36518bd617ff673c7d9f372706f241932a43f27673187f2a8472e93c40041c6","impliedFormat":99},{"version":"f8eb2909590ec619643841ead2fc4b4b183fbd859848ef051295d35fef9d8469","impliedFormat":99},{"version":"fe784567dd721417e2c4c7c1d7306f4b8611a4f232f5b7ce734382cf34b417d2","impliedFormat":99},{"version":"45d1e8fb4fd3e265b15f5a77866a8e21870eae4c69c473c33289a4b971e93704","impliedFormat":99},{"version":"cd40919f70c875ca07ecc5431cc740e366c008bcbe08ba14b8c78353fb4680df","impliedFormat":99},{"version":"ddfd9196f1f83997873bbe958ce99123f11b062f8309fc09d9c9667b2c284391","impliedFormat":99},{"version":"2999ba314a310f6a333199848166d008d088c6e36d090cbdcc69db67d8ae3154","impliedFormat":99},{"version":"62c1e573cd595d3204dfc02b96eba623020b181d2aa3ce6a33e030bc83bebb41","impliedFormat":99},{"version":"ca1616999d6ded0160fea978088a57df492b6c3f8c457a5879837a7e68d69033","impliedFormat":99},{"version":"835e3d95251bbc48918bb874768c13b8986b87ea60471ad8eceb6e38ddd8845e","impliedFormat":99},{"version":"de54e18f04dbcc892a4b4241b9e4c233cfce9be02ac5f43a631bbc25f479cd84","impliedFormat":99},{"version":"453fb9934e71eb8b52347e581b36c01d7751121a75a5cd1a96e3237e3fd9fc7e","impliedFormat":99},{"version":"bc1a1d0eba489e3eb5c2a4aa8cd986c700692b07a76a60b73a3c31e52c7ef983","impliedFormat":99},{"version":"4098e612efd242b5e203c5c0b9afbf7473209905ab2830598be5c7b3942643d0","impliedFormat":99},{"version":"28410cfb9a798bd7d0327fbf0afd4c4038799b1d6a3f86116dc972e31156b6d2","impliedFormat":99},{"version":"514ae9be6724e2164eb38f2a903ef56cf1d0e6ddb62d0d40f155f32d1317c116","impliedFormat":99},{"version":"970e5e94a9071fd5b5c41e2710c0ef7d73e7f7732911681592669e3f7bd06308","impliedFormat":99},{"version":"491fb8b0e0aef777cec1339cb8f5a1a599ed4973ee22a2f02812dd0f48bd78c1","impliedFormat":99},{"version":"6acf0b3018881977d2cfe4382ac3e3db7e103904c4b634be908f1ade06eb302d","impliedFormat":99},{"version":"2dbb2e03b4b7f6524ad5683e7b5aa2e6aef9c83cab1678afd8467fde6d5a3a92","impliedFormat":99},{"version":"135b12824cd5e495ea0a8f7e29aba52e1adb4581bb1e279fb179304ba60c0a44","impliedFormat":99},{"version":"e4c784392051f4bbb80304d3a909da18c98bc58b093456a09b3e3a1b7b10937f","impliedFormat":99},{"version":"2e87c3480512f057f2e7f44f6498b7e3677196e84e0884618fc9e8b6d6228bed","impliedFormat":99},{"version":"66984309d771b6b085e3369227077da237b40e798570f0a2ddbfea383db39812","impliedFormat":99},{"version":"e41be8943835ad083a4f8a558bd2a89b7fe39619ed99f1880187c75e231d033e","impliedFormat":99},{"version":"260558fff7344e4985cfc78472ae58cbc2487e406d23c1ddaf4d484618ce4cfd","impliedFormat":99},{"version":"413d50bc66826f899c842524e5f50f42d45c8cb3b26fd478a62f26ac8da3d90e","impliedFormat":99},{"version":"d9083e10a491b6f8291c7265555ba0e9d599d1f76282812c399ab7639019f365","impliedFormat":99},{"version":"09de774ebab62974edad71cb3c7c6fa786a3fda2644e6473392bd4b600a9c79c","impliedFormat":99},{"version":"e8bcc823792be321f581fcdd8d0f2639d417894e67604d884c38b699284a1a2a","impliedFormat":99},{"version":"7c99839c518dcf5ab8a741a97c190f0703c0a71e30c6d44f0b7921b0deec9f67","impliedFormat":99},{"version":"44c14e4da99cd71f9fe4e415756585cec74b9e7dc47478a837d5bedfb7db1e04","impliedFormat":99},{"version":"1f46ee2b76d9ae1159deb43d14279d04bcebcb9b75de4012b14b1f7486e36f82","impliedFormat":99},{"version":"2838028b54b421306639f4419606306b940a5c5fcc5bc485954cbb0ab84d90f4","impliedFormat":99},{"version":"7116e0399952e03afe9749a77ceaca29b0e1950989375066a9ddc9cb0b7dd252","impliedFormat":99},{"version":"3654ba818fbf4ac2c49aa3dbb050b912277acc71b6d5e4f434720c27a1a68f3d","signature":"02d33dd7ec31c9ac3c91582f2d0a3f665d587d5f98aa667ad74d4b543e626610"},{"version":"82783f40f1fb9a547a1c74622a4cf4c671fb927c57165ebcece5cb133a68f4fb","signature":"1f71e9c9d089eec515e086adb2e10e09414ae876ef4744115edfcd57c6684f7f"},{"version":"2a7a18a2cc9b4656d9eb1d5f4fd0e3f3466f600c32ea8148643dd8c909bb3476","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"d9cb0facf05859f0f35707063253d8b55d8fbb565afb642c0edbd72ce77817e1","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c0d0f32efeb6b747b535605fbc150723df43935937ad768694508546bb05cfd1","signature":"ac55b99427e8f93d864f62023f10171b091089b07e9b94cb244b45bc926ac00a"},{"version":"c8924b198de81de4222b2f0b171e9262f80bdf62beaabdf8ee7aa13b27245871","signature":"2f5adff38c8a75301b364bad4bd26f79cd3a86bbdd3cbba4541673d903d47b4f"},{"version":"0702499aa6384244a89e13df162163ed41949de76518a8580c8044e783876dea","signature":"401f1208590180b74cc9007c8a894d499d48b469bb110c769cb004aff4819b3c"},{"version":"9f4f376e778fd1560de1f3afa4b8ba1971bb8bc5f272324ea61e65e15b685f1c","signature":"6b211c08718dabbbcb8d48382a8416b20d9c90e3a7a3a9f8dbb192baa29018dc"},{"version":"b16a9573271f151e37a10543a8faffe67811ac8570d87054108ba01799b73ba9","signature":"c274af3f97f26f9143c42701bf431c06ff0af56cd5b14e86c661a294f335d8db"},{"version":"48f96604f28e1d321ea8c94e7e5cc889f4ab3720d92ed9f412ac7dbc2931a1d9","signature":"0d095606a67e17da85041e7a56c4d15c377ff643b56ca69eef8b42d670748bb2"},{"version":"1d899a3b3c762069c87a2363e38fc467d3fc0c17f6d22f98de3a98e1a691540d","signature":"57bf2ffbbff6d58bb1422d725989e22ba10b14159c98d2e3185361f5d609d9f7"},{"version":"3f56d8959b17508732d17ec607714398e73009d9eaec652c8fb9d5891d1c7c7e","signature":"b4f0b3be4ce1aab443b18ffd19432c63b332180881e573f620cdf4d257b5426c"},{"version":"61c5a30df40ffd1e5917e3486964faf57b3247e4727ded537fdb0a37ff8a3050","signature":"9a4fce133a99a8e4f1ae6d4d95d1b5d86491c18fc13888f5ee534823e1f1f830"},{"version":"0be20053ed11b126b77183542e054ff77548fa8e5910baa789512abd13be724a","signature":"0cb59bd42b84c62f9063f94c925aa9be7a1357dd0108d5b73015f16229e19748"},{"version":"fbfef1742d67c1f5379b4cc569959b96ef446e074d63ca93921a4a86ed3dfd18","signature":"b059df870d0938b3fddc308ce57463fe3aa091692c6d1ef561444845759640f3"},{"version":"aa40d71dd57a81028c76d4080716d6dde78ff51e92ad1460e5f973adbfaa193b","signature":"b8df9c14d085533e16aaa58dfa061788e5dea6b8d7e3a17ace1562e6d904cd85"},{"version":"955ae27fdc755f32aabee0f82c2db6b3d8505f99551cc8376df389eb90e7c84b","signature":"4675797b0de56fe3c5a6e468df193709c7f066a244e2da0d02690f193eed5345"},{"version":"4eb900416055b66a7063f285dc36561ccd1d276de8a637165beef04a3b3aa162","signature":"ac2b3808b01524a4b3ecc52121b04eb3b74c6d267ad7db0c4082c2934c8da0cf"},{"version":"7abfcb37b73f3b4fcca65caa3cfe40a12b8a89fafcfa783f93605acdddb0cc25","signature":"1a574fe33afec63182b358ca9e29944cbdd13c69413c53fcbb8e924018e33b8c"},{"version":"4bbc8169c9196d2768927f96e35712502c0445e653a5d427f670aac13452f77b","signature":"0112553dbd79407a27c58713ea3d744d72a100f4d89bc8c817d0a4d027bd8d34"},{"version":"e712c5b04b15a0dcfde9b382f466dece347f88369386bde440848fe8e2501a21","signature":"e0c8108d684a2f56bcd591fd0170f2a8c9904706a268915ced087ba4081bc27c"},{"version":"0961df49eea10f9fe072e10c83c8bd96505bf9b93cb0ca6fa1d10dd3d68e506e","signature":"0abc38ad1b516db5d7b2e16e1261b5a4b2d2cafd869db12cdf39cdf8abd56ea8"},{"version":"c9835b14ddc4e4115f493b814c646b64cc592bd18a8168c0b94fad83406aefd5","signature":"e2fe797153301be85158774902146f3fea3ca256e9fe15109c6efd4b9e355897"},{"version":"e99bce1c616138462e9ad01d669d9667759a66a549795aad43cbd8d3829eabd2","signature":"bccd3d911c3cb5fb8442848a10723e7ac2fba4a94c37c8fb2700ee31645b28e4"},{"version":"88cdbc3bcb4689a70130597de7c941b2450bb2760674a02ae816e0667a1958f6","signature":"6dbaf13dab6dc2db0cb7312fba7996ca7f548c7929bb627315cc89b43bf93ada"},{"version":"93fdaea06f53eda94b236d54909091dbd7046bc96315b59d224962d4a95299da","signature":"71e0ae0ab79469ca19dcf4d5566240e5019b5a59f0aa86a6d1b5afee5edac2b7"},{"version":"5437c086fa05daccd0b205f10e71c34f7a5c65a60b70c449a77d71c547777399","signature":"6a891a6cb7835fc4aec6da5acfe7e699a7657630100a6eb7670e371e5a4d2ea4"},{"version":"7b4bcd71a2ca99183c38b93f34926a94615833826ef27f05dcf62494e196325c","signature":"0646934539246310c9949fff3507ffa197e60e50821f7ba77b5518241bbfd7af"},{"version":"55a9358103d4d3fc812e7226cbf54ec885ab5d274c3f0fd7c7b89138761420fe","signature":"09ac449d6431aaeea979c72f664e0179ac698d66b9dd695199bcc985f21b10b7"},{"version":"332a923c1b65c0e3342254ffa34852cb772db010cdf62e81fc77b9acdab179af","signature":"476b4071f1aac8d5027274bfece00a4fb738c3caf9cb2a033600c06edd10a0f8"},{"version":"151fe72ab1a9917c0822dcc922ed5d1ab5999e4cc39490a329d5bfd088223de7","signature":"4c3c517995254a3515b6df45737e5ce8e1d8debfe98dc634ba28ec324e591163"},{"version":"33289c6ff4c33c404bf9f1b11602158811e4a758d02f7ac67d459c72043c6a4c","signature":"36ce399e206d67d439c5cc79f86e2254ae2fdb55986718b9fd633fee38f8ce1f"},{"version":"e991b473ae7d3407efad7d94f21cdbbf38e0edceb0ca77a0937896db1a69a432","signature":"c44b0bd9da5f7907a8f132f289ad93a7e7b57a9943b661612900ff609dc8ebcb"},{"version":"139ab031d84be958f97af2a882ea123ea54c99cc05f4a4f2c3afebccc1f76059","signature":"75d79958804ca5a6d738975354f408d4cdbbf0d11c43e4f6d8ad7418d8a2c06c"},{"version":"4e3cef7add4741ef800199b5d9f6f45f3b05b4cbd7b4f9713b680370488856b2","signature":"4edde3cd15f3e6efd0e5d77a9d8b78997e2faf00a87f5741161b140472c267b0"},{"version":"83633eaca29decaf169278318269ef988fc92d0b9a47531dd5301ba069652fa5","signature":"82795623788e3260d9c6ee7f093c27b61c7257c31135e0bc833258ebfbf21f25"},{"version":"d100a3684e4d3e61492477eafe8fb250d6463f83e66b6739ca270b99ed9ccd52","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"2564e83977f854fbd3ce140f2d86f6992c1332945634a2f803306596ee0bf69c","signature":"2e3b8ee6e5682bd9e7cad45bc2a5ed071302f74f8bda226965fa0693fa761f16"},{"version":"b66cadd5b2da034134f0112a8d584d76eec9e8025f23eb6b556dea5aa74fe3a3","signature":"10284337c30baf75130ecfa1c52aa566eafbbcf0391f1bbf7e21cad62835a0c9"},{"version":"3402b3070b7f9a2c6ea7f3082c2ed7f2f0d8c589badb6f3ec62044c3b7f0184c","signature":"6f3a722497ec70b05e83ac5087cc5bee72d7b19fc760554762b40072bf77fde8"},{"version":"3db03edfb97a8c0b482a94fc0280ae10207fc529842dc268fb0cad92148a638f","signature":"ac6b01a79d5ff4dcd12aba55bb4ae5b0886bf9246467659a3bda4620813147bf"},{"version":"913dd719a5b5a91dfc16f29bbb6af8d1f8aa0f2b141eb4320cb2ff4f973bec35","signature":"18e3bf7eab3bfb15ddcbd0e06c36856ace9c7bb9b7a179505fd0f7a9f15b5c38"},{"version":"a4150749c6aa9db1224cefcb07931a35d19f1f8f00f4b79674f6d25c5423f181","signature":"6364708272ae524befeb1cf48d39cc0539e266b6062b8d26e89d41f02afca5fc"},{"version":"5eb87fa9a117af0d5672f63271c070d9294dc2592a8a71c7f67dda52635bb8d6","signature":"71f5409f85ed8b4c3910cdc686ac98abe30d2807197945e3844dc7bf5b9d6479"},{"version":"132f976bdb7a85c0fc4a180cb4673d199394e4b38feaddeae1d0939c90df34b1","signature":"11794a33220970f2e2b523767a9724247e154a37985d933321a00b9b31d6223e"},{"version":"2fa9260ba8c9c073651025b09d81b2da143ed8a4d7334d20a0f7f7eaca3c3ec3","signature":"5012e56859c8f84faba4532e014d0fb50542726d165cb40e5f1f5d2207e1d465"},{"version":"2023aebac248da544760947901d5fe7aaa214eddb7c2d7a92d33bee0650ffc2b","signature":"8490d17f8c61b6b1b705fb66b5d5e12f22aa29bf3b5ac54718fb95a75513d46f"},{"version":"4658529914e4785a4ce0213e8cc9af4f2cc86adbc3bef7cb6e9836ca17d8f0fb","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"83b0843643676904927c595db1a32660cf4eff0ce34cf374082588566851e37f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ba42a3ea09e763f637b9f8b040704c66d052c7e0a4c3526fa084516fb34cac0c","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c742723bb689a361dc0e32cdacf7f4160145254716deb013292a2f45e6f5e1ab","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"7b6e8d32728e05107c573c5dc2b6fe9cb14332dd7c82fb530093a840d6b59dc7","signature":"22146890ab30bea45bc289ccc48192249fe1cead53510eda7d9af2b09e065189"},{"version":"7a81b4127658262d3b44f32ca2fb5589bdd370f3c971b7023ec2bf0fa80208f3","signature":"0774366c811ec1c799b0c0922d3a58dd6e81ab902ff9847ef804b1cda0b16cd4"},{"version":"0471574e07ea402de091b23741e7759f0293fc476645407c75e8807fce4d508d","signature":"d621400249ba8e7421459928f59ca558d53c61417f4d07833f994947592fba99"},{"version":"54a60dfbef03a8f34a21a1b21e6f8c6b991390b6bdca741071f0e9aa378b4610","signature":"2e695038b1f0a6040ae88a1a869e11cc466e03a7b13b526efa90b3ebfcb0068c"},{"version":"8fce03e56480ecfdf0458b4f97596020c7740577638075be2337984e2f7e0c27","signature":"b86d5d8bd5104f1ab29d23cd5be61bc514b8146a091257366678f5d99000a957"},{"version":"503b83a8c33ffdf3a4fae4b560df55b7e98c0722c4ea69e32b7e71427888f440","signature":"4d981d6aa5d8dc5af9b343ecb2c5f4c5a9e1e9890c31158e049df1c31bbf7a72"},{"version":"ea6437c6eda871607d5a01adf7cc5afdcd66f674509289cf2c226cc8b9734773","signature":"6ff5a08113fb520f023cd78f8c7151bcccc3824aa41cc276419d8f031e790082"},{"version":"61a5d2a3dd261b3c2b751c713d088f6548be6199705c2c9c5775d12bba1b8fcc","signature":"df57aab767d70420721669a994c9995859df1ca3188599bd5d693061c9a20367"},{"version":"24863e2f4b2b1bb3a3450294a76b5e0eea7b3a2e295f2225745da9c8592ee216","signature":"861096a3a6ca8f6ad72022664dd68b02ce3c37ff2d8f05354e1cd3fb3342b366"},{"version":"ca5c0df4cf20a1e1a7b2961248f35767785a03058ed250be5afa76c2713b202e","signature":"5f733c3a82d525121c2b95a101038ad31ca21b64d9ea2d5841bf71a2b5a931a5"},{"version":"9859454fa6df442ae16cb0ac31d0c02a0a85bac28c82b9783e8f370adb33b245","signature":"f6b87832d9447b2e9d26a9676efe78dc75cff9279ee64a499f3e4360d22f2730"},{"version":"583137ad8d520191737844c217f6e5d839105c7ec976abbccd46060ed8cf928b","signature":"213e8f64d2aee549df8047a587e27018fee7674c72407c2a191a634d8e05ae4f"},{"version":"92f78731c5130df45847dfa1a46a00a27686891e38ba51f116c586e520498ee7","signature":"5782b5f14e5b6835f9effd28f0e567b0b5e5c6901453140d43d5f88f07c9928d"},{"version":"25cc87856525e88d4007f5f84251a00b6c47b90fb435ad8459037f18ba6b8a11","signature":"55dd73018b5b47f33dddfbd384f86789d5d3a081b0bdc1fd2fd0f81e1e4287b4"},{"version":"ce0d61b977618ef61cee89091bf0bc0ac139c64da5b41080486c84f0002e755a","signature":"ca04aadfa23178ab9d04e4e66d60d149595721be7e7b6bfc49ca32bacb93ec40"},{"version":"be2f617d92b80f8cc4e567b59cae553cecfa618a81b93ffd974ee7f2a94ecdfe","signature":"bcbd39c8414cf019ff5752da5e81763bdc747423be425b5f6c7b1a6233076f92"},{"version":"f264d234b8645ae1bdd723fdeb71a0314d77e06d8e7f6aabeef77c6607acd56a","signature":"411c558ddfdef650e590b3eee15829ff8efc820b6456dde9bacdaf8a19b9385e"},{"version":"a47d50bd2f57719021eb5184bc1314ce3f5837f2f78c4d25858e15c721e07ad8","signature":"516fbe6606f98a2736d92faf0b928b6f1084ed15368ba3cc8f055ebec38fb818"},{"version":"b26e8bf9c6f7701c5fb76c46235e05380573408867c4d57f68000bb3f543937a","signature":"7f80d74fc54976e64175d4796a5077a43b3cd982619d82adc5dac2a996e6a3d0"},{"version":"8b726542035580da854bccfbea23223e0fdac7df070292db0856bc04cc3989bd","signature":"c86f51169bdd99d2a52f43ff7126410a099a75cac62538f1c1f78e4fdaea824c"},{"version":"96164479311e65dfb12975f7cb97fa997328e7f94a0174377f4d6b8884e9ff83","signature":"a107421e44626e27aee78ecbdcc5e93e37b9addb0f6761d5cf2041e5c249f5b9"},{"version":"7ac8e07828dcc1a5e01fee4cc13c788dcbdce430795ff0eab6d39e7b3c095254","signature":"533c37afc84f4a66e5d320a3d8bd4d8fa4d7756da0712e42abc776962f08ce84"},{"version":"87a05689f17c2271a7e63a0c5dfb6734c823f69bb03a6e89cb558ddca0db79fb","signature":"14b994430a17c83325fae751d73b4b91dc638fb2a13b138935416812efc5b08f"},{"version":"f71d2d69ba2857a6ba490861f2ee808e7c362499c19e5f2fd350d2e48b990d93","signature":"fbf6a03985783bd32574b3166c2a0e9fefaef80c4616e8c1a709ff554cab7be0"},{"version":"3124c0b40c96a6ec3df9a6053d4107ef952b5353c72ff85ddfea0c56cfcb56ff","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c09242a97ddc30a0ed86ad6e481998869972d43d60027ea2dea569dfc4ff79d6","signature":"0fe3236fcc755ecae3aea84e78a420d59c851fc19f1623254decd6408be9747e"},{"version":"15f6b22a1a9dcb5d6ae6b4cb465b0c628f5d065489e0250ce46921de4c343df6","signature":"80366674fad0d2eb8bac45ad76aacdf3112cabf2e032fee7755a61ee0fd9914c"},{"version":"ed078b6e6e7eea82b93d3e16aecf4e5264db34569ccecf89ea244e130a0fcaed","signature":"92c9c93878f36fe51e3431455c359340aeacd788cd1f7dc1ba24faeb4fa87d3d"},{"version":"1d6bf45b076d03144b3058c0df777f1efec117c18e32e691f41bd9787514eea5","signature":"ec384f17e55f9991111747d49fc1dec792ed0ef8f3780416b3bfd79f4f2178d2"},{"version":"d86ab7f08858c5b466e689581092e41d03390d1b527a476cae72331305dcec24","signature":"dfaf8ce103eb00ebc169bd1cd3e26987962b4da62bd249268a3193f0a7b9f688"},{"version":"f3c042ee7810ec25d7db134620b13c2610c73f55882f6ab8be13e27252117d40","signature":"3ca35b3c39d9a46ce3eba317f661fbe4fdf88afe33cb8615f00ea04adc902055"},{"version":"7c7e71e5e39435b48e0271eec28ab242ed6f1a65e740a29932cb83b9e617c83e","signature":"321ff8aac5ff81a75d851738cd323ae2ba1c54955901b7ca936485d93377bf92"},{"version":"cc60fd980e5701b006200ca499fcfc09b7ac317785fe53307bc9a50fc4bec464","signature":"7caf7749ce99278db7ce5e5cb505f29d838da91038eab7447336688cb42001b4"},{"version":"852c7b0aba9aeccc21161dd2e0fbf11250730018343d88986bae2f905caa3b40","signature":"0fc0c1e35e42c295ddd822600742ad7b6d8469daa236585225e2cb4416abc996"},{"version":"d0b7e2a5548f56597acc899917e354c348407549ded42ee13332c83b5c045bfa","signature":"f0cb4703a6fe127422dea8d27cdf77e8bd0f58b380945bade496723a537d8832"},{"version":"a030ccf7a13e613b354dcdbe5f197a9b7fa0819a4d0d8ce7d1ed0aafdaae48ae","signature":"3743762554f6bcdb60b48a23d63898d7c2906b9b64917b05cdec068049b72343"},{"version":"29228a2fd8fa9e03243e2af185473f8abfeb407cdbe4f72ed329bdadbdc484b8","signature":"d2315a4871f3b1af40dc6e9ecaca5a7271273bbcd91f00496b0038c3be25b671"},{"version":"84ee6c19db9aebc0f267dad9f38b59769a344e20ae762030ba2d8db629f925ce","signature":"6a8734b879bc7d5a8fbd40ea622c74e40431165154b8d043d0d54e59081c26fb"},{"version":"1314a35a2551c127f4844fb29fd49321ffaf3701afc6ed7131c90833121593aa","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"9d764bbb43ce204d8fada7418d0681720eb5fe4cc2bc14018a1ad6cff876aa56","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"bd49ae74cc4c2def51418f9bfb393a8b303c05972c2fd8bdbc0a7d9c88d2bbd2","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"e12eab448b2741fbc58fd99df25cc662d647313a3f5f6ad7cb0d168b35c512bc","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ac37a6d8ed49983b7045356b04ad84f58799843ea2afdc53a08f2614c11b662e","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"d1fa13f317d3637fabb663edd46b39ccdc420e0c5a3913b7fa4e906d99497cb2","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"653f388cac26465dea74d7a695412dc4285bff051db33e18a576e941c79842a3","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"9ae477f6e996170dcc13a79cdfa0a2b709f3eb50b6de974c1ed15fb2e32eb98c","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"62fe41879cae66d14c865c973556b0e24a904d9c6445557f5414007a236ea56b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"071f3deb2c96ba5dd81668fcf4f909d6402b64c0c053846ac9d2aa561a136b03","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"cc39c13ff8d9df5c8ef59f0e717e3b5b4e96f7dc05859a531f1f703718d4192f","signature":"e6ec51d846f163b420d420782dd42e40aee266aeff314d141b11a0307a86fe09"},{"version":"10acfb644142d4c7da056485bd721efacd6ee61c0543c5762862a88f4ec9be94","signature":"1857ecaad23982cebb7ec28e547ecdb341d40713e95988b7f7d9da4c20f9646b"},{"version":"d337b2b575efa0ae09ab5b8bb94ca907728beb48ad4f9a43c653c247ebdf871b","signature":"be1b859329d61b0f74fe1393fd56c1542d1807ddf5a035b27a7153c471f53e32"},{"version":"9af90dcfb3df248fa3f8abf701c073fa30d6ee7b5758ba4de460594c56e4af8f","signature":"5b09eaef203954c253a646fea5d827882c557488a4ec3fd8cc50493e9ac5ef4b"},{"version":"c44bd1c97aec9b3731f94e4ca33797b718f355040fd1a3531cd1cdf72a092f98","signature":"a646dd3345b4cc02b5dae88b89ddb10adbd4b4158ad8c2a6f72bb83d0b38ab05"},{"version":"c7082c44bffd6cbe3c72aef8e57431fbc1d554a0db75d11b0c38fe4e213545ee","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"9d116a47a60bd0dfe34a66d2a4857a9a73bf2406915bd5b19bab3d1f42b8115f","signature":"6d6e3b1d30af0c368c85a34df9c95d2f1318f7080ef2e5749aa4bdaf637f073f"},{"version":"a0460c3775eae1effe1641d510f8cbd74a3b430951edbddf3b8ca9cddf732bce","signature":"ff633c25e6b6144a8904e3f82d41783e674fe44816ac76c8cc92dfdd8a9c8367"},{"version":"6aba6fd003ec6b75e94e40335a2315213295714f33e38b4164aaf7bdb2a3aae0","signature":"d17ae8ee1e9f7c65ef6f4c78ce2b6a7dd5fd1524565c12e6044ba3db661b8ed9"},{"version":"b72a531a79d4cb645c43c6782dcccedaa609b2c7efd71547a56ee74fad0c3dd0","signature":"7350f43a093be766aba20830ce8da6d5e1196d3bc17184977283e038cd281fbd"},{"version":"53cc94938d41698f1994b5de600edb7e89aa936944ce1d2955720f69be6d460b","signature":"311e004a849383cdcdf5bc484d374e5c55b8494a7a0b86f08ae78a9aa7cd0871"},{"version":"259cc7fcae5804316e63f5d00416e69fe28d9a3bae59dd20c767d714626dcd5d","signature":"6f96022250225ecbb218212131161d0ddf026fd636d134eca2e2d4a16637e9ca"},{"version":"f5c2a1cb2d8619642ba9bd687227fe3ed43787235c8e980c34aa844645728465","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"295e589e5b8aa32d6997d6c604fe50ee40f25b42ff0134c5167c651e27c332cd","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"0f4d43d34056d61a57ff787c29fbe5b2ef301a333ba157449ba3df4f0a45649b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"254a9df28b54e73e3fae641287cf5e938315c436c42554e7f39970a5f41c8f9b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"f4edf0a9027ff9279ede897f9c304c9f7e42c93170d2b2f66570698048e887ec","signature":"abe72455f516e18ed06bbb7e01ea1450572ff48cd86d4153c5853474dae5e8c1"},{"version":"d45ebed0a7af7351812afbdfe2cbfc7f88163d72bd79807532bce53cea6e9cb4","signature":"4ae59f31cbb1d8f65520a2852714b43fa800e651ddf50dc1a3e68c56d6537f9c"},{"version":"13bf5a8573fc1891a43ebea36a1ef5517d59f06c22f6e3bcacd8c4fbfdc0be76","signature":"654865d2998e7e7aa50e64fba9f1dcd717a7f378ee65b7e40311035c011e91ae"},{"version":"452510133c135fc44ee7c3ca38c2169280ba85989504826040196555e2b03c92","signature":"0e6ee02a5692f58fae9680a1c9b1dc94d3af9a97456ec14bea39bf4a9e5931ad"},{"version":"2f33f28160bfb02bedb63ddf4f6a8241cb2ff6967041643a0d7ee0909f75c3e6","signature":"e7d315801dfb219e04a94c847f0ae759b7d2b451783d38974a72e7b695436803"},{"version":"04fd50ba4fdfc24324446f14648d1c95fd08fb7c3f91b6de6a17ef503f052e36","signature":"b79d4edff2b414e35a3bd893e38505d7b8fee3cc678f7c8c06d3ded65ec13913"},{"version":"fa160d0c5713d8259b2648497fd70ba7c7b7a6602a840c574eb1c0a6f46e0454","signature":"4951a5459b063778e07d022547e89168c941ebe6bf458f07ea66f68b5f2e8de2"},{"version":"e74268ffc9270115d1d343bcbba879e819fb149e693a0e0524e1f321bd55362e","signature":"72dcdb99ca1e3ca76a476fa8bc73a89768a7404721c1ff2266d2c649bfb9e11a"},{"version":"ee82aa0ef404999ad87bb7a2baa1d75b0fd94aa2a0ff93bd673b39f7901fc37d","signature":"080b3addbb0d6625d7af627d88f46c15af2dcb962ca35a4715510d924cd470db"},{"version":"9267691f6b1c001d1ad417d316eb19e3448db243cd5eccd9e7fe1933dc80303d","signature":"a9674a62883f5e91daf466b8c3688f5bd9b54750ea57cc07a0318e56edbb9ae6"},{"version":"c256e102702b489676e3738666b34d985b2bed2835c1c6a7da638a2442ac8d88","signature":"70ab92cd22bc23f6f464975b988f1abd8fa3c78cdb14f620730d735585761f93"},{"version":"1fbf86d5c06434863bf58d1e0b464481274e989244d9553ff867d4f742ab0832","signature":"868c432b61889f1028f7b0d5ac70541268dd34a158b7def3d464c0ebc5a0306b"},{"version":"5bb0181380d7d4f24d5b59efd31845ed2835be7a0e6ee2fa113735e2d14f7be7","signature":"98b45d50fc16be69aedeac7631b365ad44e5c1c85f8c535df06f90199d43e64a"},{"version":"42f84fb7fb1bdea79ffd6b67b36c9906b21f0457783277abd39c047f053b3e42","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"65c5c1e3cfa7e96ddf00b29103d558810220aeec2c5e15bb281ff6bfb7e61148","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"279e1abd50429cfe84b8dd7cb57e9684d8ca7864af5c3fcf853efcacf680830c","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"578015da0ecf6fb49aaf4d86e90e8ce9f46a7b6ac293ca9d810a291d42501841","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"e71fe8dc39bd428a96ca05a044b5a87e7fdb21043102d1eb4fe32f758e88092d","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"9ee3a3696c5ab964b6ba7d41121d5b4d91ed7d70d2ba7cf0dbdcfaa617d19735","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"19cbe4c67f1b32b90b7ef46d4bc60f25d42dbb6cb95f35da6d41c72ede463d4e","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c22f3ec19a761c9989950f01e38fc127ef63f2c0a3300cdd0b3b54cc28dc75c1","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"a31abfd6a1707f3d3fa8fcd6380a7cabf458285d7190030215d8a92b0c360827","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"bc5ea5422be0834017b7ea3550c58d61ed1f7f976feaa321634d7fe60a0f26e3","signature":"117ec0eed14f00ef3524ba8069fbda8cbb45fde70d22b16ed255473b2108f1ce"},{"version":"f32c35930719a4f9920de8c496365ec008e8cdeaa312c8902b6ee6eb8167da17","signature":"939b6572bef8a2c9bf87136e11498758aa328ba7dbfa32b7387ec8905cb0744a"},{"version":"22d768ed04ecd7cea3fc40851466b04fad6078e979dc2ea835646413b2a05acf","signature":"91da61e42b3cb07db395436e29d0d6569f0ee7755098753b533c9f2b20023e98"},{"version":"0ef3b705c81fb51f3b20c828fc50e9d2902644ce8343281c7a5c057da23c5f86","signature":"3c4e06cfccaf61e890399a0f86638295927ab217e0faaac5e8e7c2a830604f9d"},{"version":"b1535397a73ca6046ca08957788a4c9a745730c7b2b887e9b9bc784214f3abac","impliedFormat":1},{"version":"1dab12d45a7ab2b167b489150cc7d10043d97eadc4255bfee8d9e07697073c61","impliedFormat":1},{"version":"611c4448eee5289fb486356d96a8049ce8e10e58885608b1d218ab6000c489b3","impliedFormat":1},{"version":"5de017dece7444a2041f5f729fe5035c3e8a94065910fbd235949a25c0c5b035","impliedFormat":1},{"version":"d47961927fe421b16a444286485165f10f18c2ef7b2b32a599c6f22106cd223b","impliedFormat":1},{"version":"341672ca9475e1625c105a6a99f46e8b4f14dff977e53a828deef7b5e932638f","impliedFormat":1},{"version":"d3b5d359e0523d0b9f85016266c9a50ce9cda399aeac1b9eeecb63ba577e4d27","impliedFormat":1},{"version":"5b9f65234e953177fcc9088e69d363706ccd0696a15d254ac5787b28bdfb7cb0","impliedFormat":1},{"version":"510a5373df4110d355b3fb5c72dfd3906782aeacbb44de71ceee0f0dece36352","impliedFormat":1},{"version":"eb76f85d8a8893360da026a53b39152237aaa7f033a267009b8e590139afd7de","impliedFormat":1},{"version":"1c19f268e0f1ed1a6485ca80e0cfd4e21bdc71cb974e2ac7b04b5fce0a91482b","impliedFormat":1},{"version":"84a28d684e49bae482c89c996e8aeaabf44c0355237a3a1303749da2161a90c1","impliedFormat":1},{"version":"89c36d61bae1591a26b3c08db2af6fdd43ffaab0f96646dead5af39ff0cf44d3","impliedFormat":1},{"version":"fcd615891bdf6421c708b42a6006ed8b0cf50ca0ac2b37d66a5777d8222893ce","impliedFormat":1},{"version":"1c87dfe5efcac5c2cd5fc454fe5df66116d7dc284b6e7b70bd30c07375176b36","impliedFormat":1},{"version":"6362fcd24c5b52eb88e9cf33876abd9b066d520fc9d4c24173e58dcddcfe12d5","impliedFormat":1},{"version":"aa064f60b7e64c04a759f5806a0d82a954452300ee27566232b0cf5dad5b6ba6","impliedFormat":1},{"version":"7ffb4e58ca1b9ed5f26bed3dc0287c4abd7a2ba301ca55e2546d01a7f7f73de7","impliedFormat":1},{"version":"65a6307cc74644b8813e553b468ea7cc7a1e5c4b241db255098b35f308bfc4b5","impliedFormat":1},{"version":"bd8e8f02d1b0ebfa518f7d8b5f0db06ae260c192e211a1ef86397f4b49ee198f","impliedFormat":1},{"version":"71b32ccf8c508c2f7445b1b2c144dd7eef9434f7bfa6a92a9ebd0253a75cb54a","impliedFormat":1},{"version":"4fd8e7e446c8379cfb1f165961b1d2f984b40d73f5ad343d93e33962292ec2e0","impliedFormat":1},{"version":"45079ac211d6cfda93dd7d0e7fc1cf2e510dad5610048ef71e47328b765515be","impliedFormat":1},{"version":"7ae8f8b4f56ba486dc9561d873aae5b3ad263ffb9683c8f9ffc18d25a7fd09a4","impliedFormat":1},{"version":"e0ab56e00ef473df66b345c9d64e42823c03e84d9a679020746d23710c2f9fce","impliedFormat":1},{"version":"d99deead63d250c60b647620d1ddaf497779aef1084f85d3d0a353cbc4ea8a60","impliedFormat":1},{"version":"ba64b14db9d08613474dc7c06d8ffbcb22a00a4f9d2641b2dcf97bc91da14275","impliedFormat":1},{"version":"530197974beb0a02c5a9eb7223f03e27651422345c8c35e1a13ddc67e6365af5","impliedFormat":1},{"version":"512c43b21074254148f89bd80ae00f7126db68b4d0bd1583b77b9c8af91cc0d3","impliedFormat":1},{"version":"0bfacd36c923f059779049c6c74c00823c56386397a541fefc8d8672d26e0c42","impliedFormat":1},{"version":"19d04b82ed0dc5ba742521b6da97f22362fe40d6efa5ca5650f08381e5c939b2","impliedFormat":1},{"version":"f02ac71075b54b5c0a384dddbd773c9852dba14b4bf61ca9f1c8ba6b09101d3e","impliedFormat":1},{"version":"bbf0ae18efd0b886897a23141532d9695435c279921c24bcb86090f2466d0727","impliedFormat":1},{"version":"067670de65606b4aa07964b0269b788a7fe48026864326cd3ab5db9fc5e93120","impliedFormat":1},{"version":"7a094146e95764e687120cdb840d7e92fe9960c2168d697639ad51af7230ef5e","impliedFormat":1},{"version":"21290aaea56895f836a0f1da5e1ef89285f8c0e85dc85fd59e2b887255484a6f","impliedFormat":1},{"version":"a07254fded28555a750750f3016aa44ec8b41fbf3664b380829ed8948124bafe","impliedFormat":1},{"version":"f14fbd9ec19692009e5f2727a662f841bbe65ac098e3371eb9a4d9e6ac05bca7","impliedFormat":1},{"version":"46f640a5efe8e5d464ced887797e7855c60581c27575971493998f253931b9a3","impliedFormat":1},{"version":"cdf62cebf884c6fde74f733d7993b7e255e513d6bc1d0e76c5c745ac8df98453","impliedFormat":1},{"version":"e6dd8526d318cce4cb3e83bef3cb4bf3aa08186ddc984c4663cf7dee221d430e","impliedFormat":1},{"version":"bc79e5e54981d32d02e32014b0279f1577055b2ebee12f4d2dc6451efd823a19","impliedFormat":1},{"version":"ce9f76eceb4f35c5ecd9bf7a1a22774c8b4962c2c52e5d56a8d3581a07b392f9","impliedFormat":1},{"version":"7d390f34038ca66aef27575cffb5a25a1034df470a8f7789a9079397a359bf8b","impliedFormat":1},{"version":"18084f07f6e85e59ce11b7118163dff2e452694fffb167d9973617699405fbd1","impliedFormat":1},{"version":"6af607dd78a033679e46c1c69c126313a1485069bdec46036f0fbfe64e393979","impliedFormat":1},{"version":"44c556b0d0ede234f633da4fb95df7d6e9780007003e108e88b4969541373db1","impliedFormat":1},{"version":"ef1491fb98f7a8837af94bfff14351b28485d8b8f490987820695cedac76dc99","impliedFormat":1},{"version":"0d4ba4ad7632e46bab669c1261452a1b35b58c3b1f6a64fb456440488f9008cf","impliedFormat":1},{"version":"74a0fa488591d372a544454d6cd93bbadd09c26474595ea8afed7125692e0859","impliedFormat":1},{"version":"0a9ae72be840cc5be5b0af985997029c74e3f5bcd4237b0055096bb01241d723","impliedFormat":1},{"version":"920004608418d82d0aad39134e275a427255aaf1dafe44dca10cc432ef5ca72a","impliedFormat":1},{"version":"3ac2bd86af2bab352d126ccdde1381cd4db82e3d09a887391c5c1254790727a1","impliedFormat":1},{"version":"2efc9ad74a84d3af0e00c12769a1032b2c349430d49aadebdf710f57857c9647","impliedFormat":1},{"version":"f18cc4e4728203a0282b94fc542523dfd78967a8f160fabc920faa120688151f","impliedFormat":1},{"version":"cc609a30a3dd07d6074290dadfb49b9f0f2c09d0ae7f2fa6b41e2dae2432417b","impliedFormat":1},{"version":"c473f6bd005279b9f3a08c38986f1f0eaf1b0f9d094fec6bc66309e7504b6460","impliedFormat":1},{"version":"0043ff78e9f07cbbbb934dd80d0f5fe190437715446ec9550d1f97b74ec951ac","impliedFormat":1},{"version":"bdc013746db3189a2525e87e2da9a6681f78352ef25ae513aa5f9a75f541e0ae","impliedFormat":1},{"version":"4f567b8360c2be77e609f98efc15de3ffcdbe2a806f34a3eba1ee607c04abab6","impliedFormat":1},{"version":"615bf0ac5606a0e79312d70d4b978ac4a39b3add886b555b1b1a35472327034e","impliedFormat":1},{"version":"818e96d8e24d98dfd8fd6d9d1bbabcac082bcf5fbbe64ca2a32d006209a8ee54","impliedFormat":1},{"version":"18b0b9a38fe92aa95a40431676b2102139c5257e5635fe6a48b197e9dcb660f1","impliedFormat":1},{"version":"86b382f98cb678ff23a74fe1d940cbbf67bcd3162259e8924590ecf8ee24701e","impliedFormat":1},{"version":"aeea2c497f27ce34df29448cbe66adb0f07d3a5d210c24943d38b8026ffa6d3c","impliedFormat":1},{"version":"0fbe1a754e3da007cc2726f61bc8f89b34b466fe205b20c1e316eb240bebe9e8","impliedFormat":1},{"version":"aa2f3c289c7a3403633e411985025b79af473c0bf0fdd980b9712bd6a1705d59","impliedFormat":1},{"version":"e140d9fa025dadc4b098c54278271a032d170d09f85f16f372e4879765277af8","impliedFormat":1},{"version":"70d9e5189fd4dabc81b82cf7691d80e0abf55df5030cc7f12d57df62c72b5076","impliedFormat":1},{"version":"a96be3ed573c2a6d4c7d4e7540f1738a6e90c92f05f684f5ee2533929dd8c6b2","impliedFormat":1},{"version":"2a545aa0bc738bd0080a931ccf8d1d9486c75cbc93e154597d93f46d2f3be3b4","impliedFormat":1},{"version":"137272a656222e83280287c3b6b6d949d38e6c125b48aff9e987cf584ff8eb42","impliedFormat":1},{"version":"5277b2beeb856b348af1c23ffdaccde1ec447abede6f017a0ab0362613309587","impliedFormat":1},{"version":"d4b6804b4c4cb3d65efd5dc8a672825cea7b39db98363d2d9c2608078adce5f8","impliedFormat":1},{"version":"929f67e0e7f3b3a3bcd4e17074e2e60c94b1e27a8135472a7d002a36cd640629","impliedFormat":1},{"version":"0c73536b65135298d43d1ef51dd81a6eba3b69ef0ce005db3de11365fda30a55","impliedFormat":1},{"version":"2a545aa0bc738bd0080a931ccf8d1d9486c75cbc93e154597d93f46d2f3be3b4","impliedFormat":99},{"version":"4e49c2a5cd5b413d6f345797cf2db9b1de533863cc4ab32c4de16d4866480867","signature":"4ea82f415bb35563eae553ebdd9cfc541d18967c536d1bd821f38ddf50836ec5"},{"version":"b49285ffdee55942615f0dbefbad0034203e214cb288d2cee09d3e7b011c92ac","signature":"1ce3453cdf163e11309e394025bb62220b69cd2db35e2d0fa33e14cf38efe226"},{"version":"d46d48d5ccca19b55042e2d48a773fb97d0bb9769d9f457112c8273851b84d0c","signature":"7b3fe3dc7a57dab64ad89df76681f912b6782a94c9bfd6f8db407b657c6433dc"},{"version":"565e7c8592a98903a22c5caa7be9df48b5defeb0f9dd5c95cff6cc02db46add9","signature":"19f13e301afd7de9e6c815b06b16029cb6ba524d50bebd2b381b4b5009521f72"},{"version":"6e3cc8174feee7c91df7b15357a2a608ed4389ba83455b70278f0ca5630cdfe7","signature":"1b4f6432935df03e81a8939fb7c4a6db593c5c4bb564504599aadfab1addb27d"},{"version":"259042b0a833022120c295f2e44f95bd7acece59830d6490ce6ed9b2f9ceee52","signature":"76bfe2b4ee9eca5bb254288b19e87b463765fd1a10b33269c4d134ad898ad9b5"},{"version":"f721d57981e266030ba4406ce641861f72fcc09ab59462db608ef66a5ebe4e6b","signature":"8eb5d3569824aba69bac738c173d655d8fb61b8585dc4417a04c591d8e1b26bb"},{"version":"954ba07c66ad24d7d4bb222993578083a4423c0f92a9bac4fb9e736a3d4eb813","signature":"0b4872603cdab838437f754c0ab373796accb15efe9d82e3d45782ce193369a8"},{"version":"bae8f47ccab731836cb7117c0a8609e8c02d0addd4fd4c7009e8cecd476e818e","signature":"723cbc31e62b22b09eecfc383ee07ad39e535c9f332b022fd88ee66532c124cb"},{"version":"14a5129ed9a94b8e4a84095dfbc088e5a713ecdb391ee5bd7b0a733e64d69301","signature":"d9bac9f20a21ebebbd29475f51b36635cba15ef0ac64757307d85a4bc3eecf79"},{"version":"8166c477f254219baa01afacf9e1c7f90a4afc2efde83183553b666f582fd1cc","signature":"f4c94ca77daf02588f850cb2f4b5a1ed661d547356c7b49ddb688df1d19aa9a1"},{"version":"04ef238f0ff29acecf6a88eda67b1b9171f9ab511f23106c55f29a6ef7f19bb2","signature":"531e2b6232c77d6eedeec2098c8494ec155f07afc2f6c39ee21c6dcbf14ce9de"},{"version":"6cd466c69267ba1eb5e573879aa16f6ef4cf9547ef136f7a9302519e63d76d0b","signature":"dbe032926e27dfd60dda160c8ceb507622bba805b6ddbeff86409e2ed68afd87"},{"version":"5e1f26611ca7da9b91ade8b167414353ecec33bc80baf6221e5380caffee6d77","signature":"990169bd34d817d6b9bf57e56e3173cdde174fdcce0cbb5b5648b0aa8fc83f76"},{"version":"2a380f002f40dd8ae6c162fe8b7996e55873584ff034966341a0168c81d6b61a","signature":"02808a98b0a41f297bba68b200e2b9d820bda512785431e9e024b23187a17c73"},{"version":"af0cf510af3d03a0b9fe72d343822474a7fb9d983a5055e6ff3230b7b5be14af","signature":"fcc4eb2a4b4b3c403097e96ee78482251afad86a6ff172e8104717c80c1475d7"},{"version":"014f38ff04103744e6afef3477513156f3764c2b716e29dc06654ab68ee9b20e","signature":"db3297cab37c1e9cacfe2a3592be82a2a209d1dc46b80256578f8f2caa76a385"},{"version":"f1d226eb41da60d79855075eb38e74992c54a66cf4ea8e5baa2781416baef45c","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"561b834108e87bb7d1af50d2bd2abc639ab2b500127194847f60dfc8f773262b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"5515ce465ee3acb15a149737e6c68ccc5471ff3af40f734bbcebde04843218e7","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"a6e71ca46fb789195d1a5be98c7736ebda95ca1aa8ee682407357f51de94126b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"597350c994dd8612fb904fcd1a29aa30bc85c98a2af98c26a1cd5c6bce9f9d94","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"d0fa6fb03d1d5584fcb167aad7269de2625bba64cc45c92d023558309bfe6552","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"153915f06dad4aaac530cd789440038545c7634f5b4fba7ee5a7df597891b26a","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"4f088bd2a2b33a24314e7d751ddb7f1b223459ed170ee2b149ac5fd9a2113c06","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"f54b584ec4aa7e62786b850734101d7a26ae631c71d2dd0be082f13c722d4cd1","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"878afe3cfbea7f16b757d79b58604bfa14e483ebcf672c9fe7eecb1425c2dded","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"26ea4b6af6742a924b625e49614863deef40b7ee5aed16af861589c265bbeb28","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"5b228259001804ec6228a9a0ebd02b8b549529319be68558801a8d93cd50a5ea","signature":"ad332b9a10d0249b8cbce5d8d9c10f0ff8f585d909d8c4b4987437c15fdb6569"},{"version":"662f4f9aaef37a862d00552a59d1aa314f681e424eebf9576b16df78419903bb","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"b24944dbb9cae7dcc4282a42546e31fb53bd8a2f2cc7f8ae6c272d5924a2ba55","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"3b1cb47f4d87126cf3f2973da87105edb404a1c98c0aef3a2a289b98fc879029","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"1856c2b5c7e6167bd7869d46273e730aedb23f80c1fc013f9f018cde1ac508c9","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"0387f0bfbd708bda5035a03775563836aa22508d2459e017f75b415c5f6b3452","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"dde98beb8bef53cee95b020cbfddc90d0012e9d98fa19595035191cd7d2cc1ed","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"d06d3fee2b986f19cca9483a4420497ff3909f6487e229467e75e62e283161d4","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"f78fab13e0f5ee19bf3e2ef18b5ab38a47dc60899def7a82dc05860915155308","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c3eba367c1921c8f9e7f231a941cac022824cb666e652cbe754ac1e50804cb11","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"2e0c7c56fd6742b25af440e2a83916cff12be55ca6c91f899f1b4fea9827a69a","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"f0257b9ac5edeb935209106b79f9b4565fc6bdef9f2b4c5be6bed787a60ffdf1","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"a020b2b72fc4ae07df3dd3160b4daee1ac3183b81ae0181667e46fa2dbbf487e","signature":"1af3e359f2c3a3b25e6cf0532c9b12b27c8ade0e7eb582007452ce06db289d9b"},{"version":"d7301ff0ab82ae2b4fecc1ba71dda587bf87865e7d7cb3c5bfb33b6e9e8f5b25","signature":"bf3ca96bc59503b3214f0618af79741f5a28de7d7ac663c13578af8a12fdc385"},{"version":"75800fb4f09f2eda92c8eaa50eaa3b5ee123d85c70ed2b8203fddc051db8ec32","signature":"dbd0c498b5edc07924a5f7ebf0ae90efb9436dc2229792eaf175e16c03248f98"},{"version":"0c51b5e170545869be095bc839f0d20cb67191122528b739890ddbc443bc8e8c","signature":"800a7b9dc46ee24c46db2afa893e0bcf0b8c8bb1bd9b8db5361e34fa3c2aad18"},{"version":"226524e94156825251d9dfe885cb599aad6eb4c89533acc0cdf9cadcb7d624ff","signature":"b7b254f81d9a367bcf98769a957c2f8dfef2267573a862b52ee2748647af39e1"},{"version":"a3cd1ed171ba6baeb7ccb3355c74d866e906e18751ffccc84b64df63a4c37633","signature":"d949e121e0b71673df6140eda41341316408ac47555ba72b02b4abd3f0b6bc3e"},{"version":"eab55adf55f35c0e404ef2ed03340e5bfbfcc9f8e631c1ccb99d28686b79c60a","signature":"dd569f5b0cf0ca74aa2b1b5f2559d99655fdb41881b534f6d27e226903a24880"},{"version":"d1d69d09a99eb7179815f9b80a4a2184746106f66c617e36e4341e8ec22226e7","signature":"7bb19ff78f5dad94999cc2e0debb65a5ef8812b4507a7652b0b3fc455a9e8ddb"},{"version":"80ea52c65ce80ac3d8d81821de8e8675a7497210ee37b23efa79f21bd57fc86a","signature":"d96bc2df413362d899c2a26a8be1fbf15d38eb758a9d65112d7eee95611f0bb4"},{"version":"a384e31103a21be8505d837fc43ff1a3653f70ae795b4f46d1484bd9e2623301","signature":"214644d2fea678926fe214494d5b88720514df481a09f665137efc5ae653499f"},{"version":"bc2c8875db5a1430437c82f060faae49d0eab2295f7ff81c5b82279fafa8394d","signature":"5cd36275e5e2e7c71e522a445740890253664d68f28df4d62a4a13c21e3bf45b"},{"version":"1c789f799f0a7e4ec25f87d0d72d21a19b416abed2674a3afdab31ad48f3bcf5","signature":"ea58ac73dbc859ec9bd2c6e497b70d04e0b87d52aff26ec74c0b2fcf0e4d548a"},{"version":"414844c14d31371280f1024fdc10ff268455384385eea30dc5ba252f3e4fbeb3","signature":"da8aa5942188ad3147f0afacf4c3f11b24942ed40114ac1a2fb9444119d69e17"},{"version":"531e91b13e64955b84a04472024ec7148c441fc75e2bcabe55a68ecb615d195f","signature":"ac68bf7e24525499431c6bf39d62b264a7708d2393d1aca05a3b8d153657b2c3"},{"version":"7516f8012b8b4fceff405a25b09facf3eea5aa640fd6bbd91c169ef0ba7119cf","signature":"49dbff2eb0425c00c48128b4ff64bc5c8ec07f8aa6fda343bfb9302a2398392a"},{"version":"694a38637bab2b6fd1b3073d892592308c3a863d4b1b9a2f1a9d889b7c9777fc","signature":"9a1fa87e956dd9e945a728ecbf0bcdf59b5bc35bd4ab98618c8f51fe319ae756"},{"version":"547ea3ada84754869bc28f5822c247c0525383c3d8805f342a512ac2ed139f0f","signature":"d3fcd7e5c042241fda26edb5e44b7987838092f2c30b9fcfd5fde8cc5af1b958"},{"version":"8758d5e30c12540491d40282af28875a47bca5b8bd5e7f3136ebffb4d57a86c7","signature":"30c7af840c72864017bd24ec10cf1173f1c643359a9feffa51f6fa141d08850c"},{"version":"a57ee60e0e362aa6d65e1fa853b4521c967a31485d2ddd5037212f09910c0dd8","signature":"799433a95f4bbcb14479e6fa908d6ccf8c23fc369fbd7c6b5143026e698e1156"},{"version":"4809e58cf890a17afc290490e94bdb005528b47cfd91e293acc53317b6d235f3","signature":"4a26aafff5702c778bf7349914063554cabacbf4b74ba530aea9fd2b5c060e1b"},{"version":"c954faf290c5251991902e64a51f18bf0a99836430e50c38126a7ec753629bec","signature":"e5d7539a72d07ef9c3d686776f885111a063fc63c60c975d027b6b643970a358"},{"version":"be035cd5d01eb15b85322a205f090f64d333dc047ca1082de84837dc31c31d97","signature":"af8541ad25caf543ae81e642a69d481f7bb2d0b642df88c46a1fe8910626a935"},{"version":"49c25190f11126bf668831364bfc03a136ee59e33b3ee7a7f1a214cadedc2bb3","signature":"562105feb1d69fc9516ca37ffc5e5af73d1339f62eaac2693c4856b3a06f1a21"},{"version":"5dbd0527243a6d622ede33b461f27551614d1d4071c9dc1b246a7cc9db850cab","signature":"5136f18880c11778e02967105e9fae9a0482deaad8f1583230676bdb59fb7ab7"},{"version":"3ad1bdb57b05fd29dc468a42e71c4ec8f12781a647edf5029bb60f5a8afee701","signature":"5ac419d5eeb2a884c1d260bf31248fb2a853d3628aa0d7c3a99757ef99fd6c2c"},{"version":"678dd9537cd28a491bd13f7f3177c851120fdf39f27e9a93b349979bb21641af","signature":"e425fc0486e0242cc540bab0d335759f9f3f7ddd1d8ed233eeccfecbfc5aee61"},{"version":"0d010c0b5a9166166771c8c48bf48e48d9d037de37903d2b2aba860d1108a2a8","signature":"137de1e22724e42c5f197f61b17ec1264467852dd37b27811c311c97d705c138"},{"version":"41dc35af0efbda57ae462f8791b8fe355cdbd57d7414e238e2622af12f83b52b","signature":"dba53de0cd1e77ba275a61f6203783f10a2b35ff248306fbd6d9689303d50f03"},{"version":"aba095f915652dc697979c0b9ca5a3111b7160144f9a1e18efc81fd485ec9c3f","signature":"f19a0c7e1142fc0502d9e0014961ee6a6fe8b9fc26c4602a72aea8c904f15349"},{"version":"bbdc261b5432f2bcef55ef1651bd394a3952a847f3daa298534aa35aefe67cfd","signature":"2ea178cccad298208dd3300fecfc1e882484d9fdfca4a8c473cc345f0a34eed6"},{"version":"5e7c8ec6ecf3ed122b8723973c85fb4db2d0aca907a4854a1a800140e8bac53e","signature":"72d589144cb568b0b803e59532ac2df4c04998cc89d175d259815ce6a1acd5ec"},{"version":"464597875def0d40d6a0ea4bc5be50373eeb35af3023b4901fc539c19fb088c4","signature":"b8ddd1cdd822f53a7a29b4fa58240afd0688de547a5c640753bfaf99a37c93a7"},{"version":"560ec4980f9fdf84e4df149a31c676fbc624df75f33af2159b30aaad1d624506","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"5a31e889fd61c82203d9d046edf845eb54c12d63b13d2028e5c1f16c26c5a535","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"e0875a51dcc08220ab37ee44e0d604789fb0c24c6435826eff6522f9af79faf6","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"3494b784dd3988b30529cc0f271d5750b85f3d241eb612e4bec87d99f3a79de5","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"2f9d111343117be248f5860e96c68b5c55e402894408fbbaa4b031ab12572474","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"e8252a1e88c45e4b76044e3ced48484fa04faf5873eeb2a15e88813fcae79808","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"bae7d0911c58609a404bcd7255d5c80cdda6d568c3b95fb189620ed7bad20843","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"23d90e3d7b8e5a17f760fff35617a57ecd7b7f042602b3f9dbe314e938c77330","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"00ae1a801699b73d425782db51a2eba53741776741421dc8446480d09091377a","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"f89a50a4a14e6ef1a1c81b263997c2d728ce5b56bd1d93dcb907d57114ccf955","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"830b21dc28f068d3d362d407c17d010f37a9a29cc412527c274b8254c448dbde","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"4492c3ccf40d889bf6eb454af8a7fba4199af810c53d10ef8d0bcc16156e72ff","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"3c21f5bee2f1186f62b01fc606780ad26dfc12ce34fee2032d2c1e35ec2e5334","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"6fb49bb8359a76bbd80e39616d5cc6de09d3a9ff938cf58be22c155e8ff42916","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"effed161b9f183f637fba8f96864ffa67bbad3a3339b18d9d368438fbfc00bd7","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"a681431952e1348dc231f334ee2f4818b4be12d2a720c06f52c842d0a577aa9f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"35707dbd962f597cc72a0ccefdcbda1c0cbbddaa11bf9a072fa9dc2f2b40eac5","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"6d872c4f980d7e6288d80742c84f1dc087a0ec7531e18cdadfb47448a669c2f2","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"179703b328f92994e719755b197ff2310945583fded682cb02b88aaaec0b3d33","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"d2e752aeb02ae1be73703cc7834f9bf1de14b84d32121fef58982b29bb138019","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"954fa93b29dc7267fecdb55b80d28bc943cf370e0165963ca051c0cc6899e114","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"bc8201479e29d49966186df4e5c359d507dbbcd4f772499b365e6836e500bde1","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ce4cf241091329ede4bf94c365874f20cb8309b02ec32980d9bb47f6527e86c3","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"522ac15e66211cad975f897a7eb70e77ba20b34ba8f9c4babb8f75f37e19c24d","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"9bbbbd6f4a35a22eefdd4d13b639ad27d2b1316a6e833e262a126d4310d904ce","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"80c14a78262fb095d375cbeffe6a6b53a300098928410181ee1140a3a8869a47","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"66cce2ff73442b6f95408d5847e2c8748bb4e47e44334546e94e52be58c0d163","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ad628be53a44b47262b560ab15866282ad4d257f2f214369e5f8579c84d503d2","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"98021cc3dddc6c8ce5498e301424f2314a9f17deb130c609269c900716a6c129","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"d4011e0ecac2f22d7f639baa671cb23d19be79b0dc64c1cedcfd026469e5dd46","signature":"444074570bf4108baba10fcc87aa17bbd8f6661575c2c6784199b147faff4e80"},{"version":"563fa16b249fb0bf5ed14f72e40b6ead283ccb254dc1ecf0304c0165ffd4dc6c","signature":"506df86169965c18acf5c22cb324fcd3460cfe230046f06de7ad63860e014c1b"},{"version":"66be3a972b4e3ca0b0264b6d5de8436ed29f06e9737bb73d355e1cbaa8aed008","signature":"5284727f6ff23b3af566b99ce979915c2adcc7603f6d73c1155afc7860b7bced"},{"version":"d0fce09b7c0187f24c9b0be74c938a6c39b6275b2a648df401219a79911105ee","signature":"900375f92b808a9c742d612bc93108ab61fa9adb4b4cabee9b45a7ba8d30dfd6"},{"version":"92d32911e086e087141b1aac3b7876089e26ada9ca8758a91280a05b4efd3a7c","signature":"6d53e68963aec64794baff110983e875c60a42a3e3d1bf17ea385752c914c1ec"},{"version":"0409151083cb223c8bbb1c13940f1aef4c1cb2078e750e3e1b6dac6403a11848","signature":"b45cf13a19ce92456461eb346ffb6bc8bb229d8f04521fa539a761470de6ab30"},{"version":"7f0c36e389b38fe05922db66efe56eee73475c748275e5d2b412bd4c4b495b86","signature":"b61620ca847f6b7d40ef82faaeb0dfff55ef897fd2ab60024001a674f4d91e08"},{"version":"fd3e19108e40b4bd6502bcd08768a75693473f1ac31649f1f4ef6ffd7c88d36f","signature":"0b2eefc3650c7cb2c277d27ea3a3290f5835e2ad871b17041ff92843b06bf99a"},{"version":"b14453b02122266e37e186d1935cd337dde89929a1417cb87c6b962b39af0d36","signature":"d390eaec15d04e3957d9c597121ff483b28f79e54db4c916fd164dfd70372e82"},{"version":"af627ecf76e60d85bfe1697aac2044ee9a1b4f0ee8439eb51d351db84cb56654","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"20a066d0baec26f8ee4902ff7cc7afdec57496053b60b5d3bc5c85732a14597b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c216d4cd926b1cd512c039ee12dfdca10a292a08b76ab11198dc2293eec74ed5","signature":"64718cf0d577ae9ed2926faff603162ccee149cabf0f7d6c3d2eff8bab3f54fd"},{"version":"c8fe61044fac5d42706c4c8854e03e5eb073792202ec4e7180f7397155e34f9f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ffc13d84cf2d63a59bed820986ff22900e8605703847e99fd0689f513278c8ef","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"48c2e723a61bfb7e205ee843adba993f04a9764b6a9d11f0abce43a08bf64c4e","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"6207173cb052cb38b9660453164db77c4c677e0901e1950be658ba41c01cb250","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"65db26f870db2f36af509737119f27bf6fbcfe7aa413b169dab0f6215758243f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"52977bca0c3c391efb84678029b1816a997a5069d91f8de7277079ad39b00c53","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"d15dbc0f96e7b8141a77749e01a4e920a5381ca32a2aa58132bc5f7223f291d2","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"544ad2754ea5eb052e793f75425624b7522f638801fbfe50cc252e8bda11e0ba","signature":"47aeb932730902d4d8c41ec941269a416311f709495b5d20f2ddeb6f8b483073"},{"version":"75477456333eb2c8c6de6021163fb889ce42464239529345f7bd77a77414a743","signature":"1416dec78fa5f6be6be2e406d0cc50d6f98ce0c77dad79080d5e5a80be18084e"},{"version":"0debcbdd5a9e7131d85401b18ef4a9e4dc73a0e08641b30d08004be0d54e3ebb","signature":"e28422e9a6af42ba47f7aef0833e002816fa287c438cdfb33754716547da6bfb"},{"version":"b7277bf592b4832b905af6bdf6120ea14f1b9a9210efb7a4ae3803a87287150f","signature":"3922dbc2ce29d177e9d0c1abe636860f8a1559bc545abd790c0060803fe2e1ea"},{"version":"9a106f225ee7bf695ed69744df6cb6982083b3f9c2fec9610d5ea74e2e49f6d6","signature":"9dab80bdc4cbca67c3eddb3cd102b87f111b1e4d1ba1b3a0e27a38258e31e426"},{"version":"d1df8b7eb29b69426f6328b503a12b4408d4ba4a3a305ada40af859fd0d1542f","signature":"c7a00bbb89a2cb3e0d5521251755518d81666c561cfe0378d03268570d5bdc23"},{"version":"71590a10d662a3f420f700c10793764811c558938e36311c61eefb13033a21ba","signature":"4645d41794484aad552e40382c358fa91dab4452296914190ee23be7af3970ba"},{"version":"ef07c47a9f22bffbb585da6ab96f379d97e6b72fbb658e78c03b11702cd1dc6a","signature":"3896cd910e22538e767007c0f988c5967112fbdd06cb050421f37d80c3736229"},{"version":"e561876a844b5d66796e60c5374a55e3666d17b8026012a3de1e78dc03e045a5","signature":"14001c191ef845d0b28e603f563f4c8d73166db39417fbeb04d227ab4918296a"},{"version":"2bba20822fb6a665abb0944bd00e587f93272c5aa1b2a513eeb9f2fed00a7e7b","signature":"785da1f883cb1f23d0ea0ff209153ea69a2c92d6fe7cd29f8c60fb9776e679fe"},{"version":"fc9258c7768321dff71ae7ff240ad1b5a6b204acaaaf8c088d37f1c4d644f20e","signature":"cf15966bba8aa58508d7159937e65485e4a40ab41fa2accefb0598833cef3af5"},{"version":"fedfde2b5b28d1a1ef04e2180aa4872b9d6fae211c9c2dae739c58eb7c24264a","signature":"677d31b96b2ed39787da58e41524dac24a285d4847b9413d4ca54e165afbc66e"},{"version":"c78318850aa730e4e4d4900d62112d87546cf76bd8c0f8a5389de62a8fab97e9","signature":"99f2cb08736fb3f90c502f329487966ef577077791b334b1d4ed5f0ac57a4e86"},{"version":"e21face6fb69732353a584c8ca54d4c4f32840b9d976bd2ed16e6e04ddb1b689","signature":"ff61de4e1af35108cd592760b2ff1a5f58eef3a4b29f4172412ef408143d3ae5"},{"version":"cb29061301b3205ef763d9159d82d81dced1528068d82d9248aa828b293473b2","signature":"49e666988a2e38af956233e189f9cb4667ee80b4bf738bd8ab61b8cecfee2e45"},{"version":"47049411d18af8a4afd89d6507e87fa1e1f761cfadfc49db94ff0fda85e2db4b","signature":"696d0b315d34950d1c089eec0c54c6ccdb7f2c19eabfed730b115fc4f63ec0a5"},{"version":"ac87cb8a327e1a7e15b3597bf1ea9207128645094941d34c91a4f4294cb50c38","signature":"834bfde39ed7879cb9e282fa632acbe344fe8d7efa6d01d05c6c6ffccfe806ea"},{"version":"a580c25f701be8158ca4a6031e21954544e71edb470a31fd4a572b6aaf3c7064","signature":"893922717b01d38bed45f1bc6ae695c6e2cc76d61599aa22e0245b48fd51ccac"},{"version":"4e5ac226a5b7a72d76155e280d38d71077346ad9a60eebbbdf0b02b8c34a8512","signature":"51b1d705ced6ea26b44f528941620e1b0fe53538c5a245505f55960ebaef5dfc"},{"version":"b552dd1e51bbd18d0d9b4904dee01cad165d7f0d3471b42f00ee36ca78cb81d1","signature":"c1961b1d48bc6a1c7f3d115979d6728a6a8ac59869688a5bde08933c18adefc5"},{"version":"a6ea6a6419bf0d19369d82a80852c63bf4c4585648584fbb65c3d7cfc2aa688e","signature":"0171411fb7cd328e3fd607c8cf7180a7eb2cb4a5076596e9a92bb5acfe7bbe71"},{"version":"b83570a2939d33a6ecfdd2766a3e416ba612d0e8d6f83ad11156a004fa033c77","signature":"2d58b00459deb63b953324cacce6a50bdd0b7d7487eec5e0cb52c21a94e13212"},{"version":"10a08fede9729e6432dd4a751e6d512f298fbfb9d361104ac97a2f4eeb2a0625","signature":"2141658926fd33244c616646eb68fc34928c2c3e76cb2f0fcc49f66b7a6c2e71"},{"version":"bc61fc23d7edea80b3b85d754724362b59e6d56525d7bb05ba7b4273ec556693","signature":"f6ff1d64c91ce81781e458845b7c9d60e6db6a839f8f610bdde2120bad630566"},{"version":"a6bc0506fd785d58fc01916eed093992884c77047de6ef24a1984e870958f3b9","signature":"6c67fa30e0db9490403ce70c9bd112dc16256f74e793f48501b0af56cf31c2f5"},{"version":"b1c24331dec8568c69ae89b55eff5cedd7694ebb3d91927e6c1ddf9248cc98ba","signature":"f64b2fdeda264584f552af5989f35940f639cfcd154b7b143f2b6335b3e2d5fb"},{"version":"0c1796a501c6864c18ba2a7ba3f9e063f998020cade59f8c9edf501b2debe80b","signature":"072d63362c70c19e5647e1dd12ada4492213157c48c17ccd13a008f9c6b4a12d"},{"version":"8231663779bfba7f580018479f74d02df7c9160b3e8dade1940a569ed9d80ac8","signature":"b19e055eff7a9ba8d3416874c9a679d800a5df0a0c5219cdd5aa5335c6b8b072"},{"version":"cd9961e19450bde1798e94855447fcea0f9483ba8bf4bf4624951e42a2bdcfcb","signature":"0066d534bc21d42a83c7ac15c49dd5916bc95d608c5e0bdfcc9ef3afbc428c59"},{"version":"778019a2b3ecf4e408cb6b4c19fe86bb89ac9af1420d4564adb23bb7a8d499cd","signature":"802b387d5e2908cc0a771cff3255990766769c9d5ffd5a2383016ad9594983f1"},{"version":"dfe635ee18c68c794fec2683acabe0f2126c60c43b86ae10347067007bbcc3dc","signature":"0e094d3f18ed4a44baa44ef3264239439eadb03b3f8e2ae278d766c852fa0754"},{"version":"2bcdf74ea61885bc9a5da25620364899a0e8cc6a2f6bc0bdb44d7698152d4d22","signature":"bc973f44ba5c54e1074bebbecdab061751028be94340dcc5481d06befed1f855"},{"version":"889c6cf5d2f17ebbce07ec946521f4f1a8fc55d9530b4959a7ae954ce7f0300a","signature":"170e54c7b03aa71a92de1afdd4cf56b47c9df01195f98a8d933771b75ecff8f6"},{"version":"bbc45438a3de93d2d44f46fd0cbded993b3f8afc82779a42d0a6819a10898fcc","signature":"f376da706da2e3ce62334b6d086d2d91040531879603f039d3cb7682d8d889aa"},{"version":"c15fd275a051a6770515950834e07dc22b7ebce6a9e8a93bce69d67d92f39e40","signature":"6f166a044fc4fed85f167f611d19bef8a2070e23281ad7aec01e77836c80287f"},{"version":"f2733e4721a9ff2047d46ddf9f771aa053a8f482f93d4820401d0be58dde660b","signature":"e3afb59a25c83c15f7f195f4fe92300ff8710b2a60850e9f869a07ec5a228838"},{"version":"fb742dd0eee88f661ddde482049aeda9648bf9997a53db2411360517e1e81549","signature":"10e113ec036dd44b69d961f2b6616239ccf7f025823f75eec292640c3b4a793b"},{"version":"7db8deb452f9faf63b51a33fc3a09dea5a305e4dc231b770aced708f902dc7ba","signature":"2fe7ae68eac160827cc1ef3f71109e12ae1ba4c407fcf41d653877c7a3008970"},{"version":"8dab908f81bf0eeb9611fbbccb2508c2b4a8e1d57622968cf98993e878a972fe","signature":"b01970e81b7e682cd2d51def6b76c7bffa451a1b58fc54b528629c35dd89c9f5"},{"version":"9367e99e6028dfce0d37891b19a17bf1a3b04fb2649a89ae7ea832ffc7507b99","signature":"ba000331a8a0915160cf82ffd04d583bed6ea5547a117b8d88ed7d3ff6eece7a"},{"version":"456eebe80c579a1f7462b21134feb2bcee727f99966435c3fc7cded50fc80e3d","signature":"525d97773ff298b2f2fbdf14a791f0587ea0172827b6ac8821f3eb70b20aaf1e"},{"version":"24892b8255b88ef0102847ef8b231c6bfc0ee618a69b17e40ff1438f9997f2a7","signature":"59203658389170eec22beaac1509a33cbbdb6dff49b69e34593aa96c90c7de1d"},{"version":"d644c33e3d80969acb5b187976c8cf99eb0a259f63bcef80a6ee38da18e83247","signature":"2769f26e263572cb6b16ff1b24f373ded17e74e710e33725c98a22a0b7ae79b6"},{"version":"314650281c03451fe80bb91889aec0b247946fd5b52a318d51c5faf64cdc57ef","signature":"5fbeb568fafddc09e602cdbfda7df5cd0e561ba1dd8443318f1bb3b586066c9a"},{"version":"390527c96f2bc590de934f2ef5bb5bb3d6905d6171bda8835c197e0abed15b08","signature":"0ce70420a3f859e7ada24e14d433bf75f91954ea538e9f25cf32a9afe7e86539"},{"version":"6cf137bc48f40ebfe5138b9005c22a2a36c6d0eae90e27f7bc5dd58a04faf07f","signature":"e3575536a31286b081d4db3ae027a171f9567fb73765c91c67550cd330650e49"},{"version":"656330b9d0697dbe04cb1d8b8402b3ba3953dcf48e4dea01887c992036bb173c","signature":"24733ebd4c83b4d7b05b39d79f1eaf60c6edfc8f0da5c2f848b01517947697f7"},{"version":"8c4c8c4467f9519b0878333232f88ea38920588b21fad94d09e7d191c1fac691","signature":"5bbc828ff668bd2cad6f88b3f8bc1e85e3ab4a84af3eae83b3931bddb79d5d5f"},{"version":"b7567dec5ce2d27ed70feca5c5a53b033bbda727b3d65c1eac4d5256adf09315","signature":"31f22cee584992be54d06fdaa9dec55d060c358cf67c4d162fb2f5fc0c98283f"},{"version":"7354576cc5cd9410252734f2a40c4fff01428a753a672f354975a958e7c63329","signature":"b4444c70cf4bbb122a1983ec33c297027a05fc1dfc23376d3b140745a58a2ed6"},{"version":"3e8f5153df2b58ffc421a7d8440d3f92fe8ed9bade9a7b18bb0ed161998b40f4","signature":"15c69a20c8c5420b76b7c62d82cb284a1608ad67c2e0d1a71e3e3caf90bc4201"},{"version":"4d87ee3b202e0f2f91804622d86dc5cacdf3596c0fd62e4debf04d02ae25bfed","signature":"fa281b36685faa9c4a9d379f8a1ebb2f13f7a09f19e184becbc8e58848dc2396"},{"version":"6788a1deef524d1bb463645a178f02627169ebb47346eafb1a61faa5cb144333","signature":"ae6b5544fce2c65f20d0e7702aeb8e5bc2faf2c4e813c4ae999a44ca2d6b9929"},{"version":"2ddeb4d8ce27590153aa6ee84b36bf9764700d7260124167167a2d2a32166bee","signature":"68597f354e4595d3f1f99cfed58a445a66dd9b5d4ed5d8133e445ee2a3de6cfb"},{"version":"f7f56d7774204ea550efee0d9e05494e8df297bdf32634dd601fef7fe45f54a6","signature":"1aaeb72b56fbfc7fe35e5c5195bc4b102fdcb25a30fa39a8dcf26e4e03afe4f0"},{"version":"2ac12549f1ae0aa1775782876baa9c06e9d845be26d99ce56a36276a8831a395","signature":"39df2da2a2737d9f0561b052a23093c44d84bab8f276b5bdf2b3e41094666a45"},{"version":"79e36ac740e122de9323550df934df06c908a26820f221c758dcc16beade6618","signature":"24bc52911181a6e9ce7ccd5c8fc3b03b998f5a3ea71cf80e3c93051b68523ac9"},{"version":"bbe55ae5cb40ed5f38ecbfe673ec070dacc7e0d55dd02472263f7903b3c5ffae","signature":"21566e332d1f7e6c8890b6bc364f4d7e12afb504b71651d6fb92fef4d17835d9"},{"version":"c10b1247cc334d64f4740702063dc4dc4251b96427e0d846b5eb9a7d0379bb1f","signature":"b204b8dc8a299d4fce994ceac613f46bfffcf4486c9a5b9f457f42f5f518b0fd"},{"version":"672ec17aebc02c37f3bd6a75778652f5cfcc450b0b2f4dbd8d5821ccc7909af4","signature":"0799f99f4e37567f2fe31840ff206efb30c29b21bdb0af72d55aeae15c70760d"},{"version":"6c6bce5fd86564171cf1bfc4122e6b4906a820790b4097c87723c2fb92eca8a1","signature":"1ad6ef3b1c1c48d5cf24ed8ff9b0a5a5592dce6ade6d6827d3fceaa920f6c500"},{"version":"7bd42610639a14bb0c854bde2d3bab07cce272b4f9699027258eee83d5c11a73","signature":"cbe7252f19d4397211500df1c2861e7c4ed9218b8d1614ae2d11ca03679f9551"},{"version":"b7b303f6ccc15e4db96956737e538d893c25b7092a159a39c0aa8ad932d3c636","signature":"c2f55b90471ad64c25a4d547225d37cec7d8f869fc5bb4cffe6c71a8b836f4b0"},{"version":"8b2eedc0f7bacc05c6f0b56dc41f46d1b06ba1b9868fe0fe77e8cb22bef6f2a9","signature":"198353c3f827b800288c5a5cb74460fd080c22ccc9881f49e9f5ccc59b35ee84"},{"version":"0c7459b35e2665327b17a7693b824fa83a3cc5647510a2cdf09a6635b4561c60","signature":"da68b6e91d25229268f69fa9173920364f23c6b50469e9e01e663e0de32fa6ce"},{"version":"e0c10ae5e38df160cb240dc9e46ac464dd22ca7432f783f75d77b1b0e1aabf46","signature":"a53c9821c1526959393efaf002082f8644ab2054f490e9aa6a0d23862d0ecba5"},{"version":"ae6c80232b4c2c4a00fa2f7dc51552a73683afd6acd88dc6c8a745cd39a823ef","signature":"b5184ac9282a657b51d247adf925cbc239c16ad3cdd8b4dc54dd369673e9a321"},{"version":"2a4f83a64245f53cbd1eecade0cd429c73f5b4e992439b773fbf2e8680ca4572","signature":"26dfe7cb950c6dacabb59453b56e2a71df14e67dc91ba3a35402e37a109393e5"},{"version":"3e0238000be6f6ecf94fff98c1c71072caa73ccf6c318c7b8fb324ff2903103b","signature":"ea3bb88cee2f2752e48e75c00ba80500d1ec9404160859804ccddccef1002ddb"},{"version":"d80b042bd5c32bd812910229cd6176855852fdbec7afca06d4bec3e1af8e1446","signature":"37756386a07460ca40caec0a192629c709af57ecee057bcfe7c311f5da0be5b6"},{"version":"622cd7a5b9b304ca18aa1723952f21ec5c939f7c70431c1063bc25e59a912dc7","signature":"90c7406dcc6fe0fd8b0fa3e23b8b1440b2506d841d8e629a6b1df0283c8fd1b6"},{"version":"83837a404834ce7ba3f2498e3faf5dc31ae0a5859cec3101d684f824f8cbe3f1","signature":"3eca308a8adead7d78f165d89c01c30c4dbf141cfc5900a563ef47bd2b652a27"},{"version":"64cd8e7ebad2b8827d66171a80c2b516c5a57a91eddfe3f9b317faf8879dad26","signature":"084cd2150bfe1929b5fdad5847010232f8d7ed1acb1a965409d1009ab02b945e"},{"version":"68ee63044e87286b7a2100c05437babf550d647e748e3ee66ea6ad4cb268d52f","signature":"0d27b4098a7f8d9daca5e7f0304750773f03dd567b4d7d49db9a983be5a2e57e"},{"version":"ff60cb0d4b987911a9db25c4e372a81da6211e9248bf9eb336d2070b77771bfb","signature":"ffae22976581bd977560fb6a27d3aef9508d68c714c28c9be036c1ebe38f26da"},{"version":"187b3e36e643d6484ba0286c361eadcf4d3f4174865c8bb2e92ede5cfc0206c7","signature":"742178df5f8a476681d0544713fe87cee7a790042b11b27da9b102e80c318bb7"},{"version":"b5cc0ba3df9e33e2fa3849d474b4c558b77c854ec3addb719919720786f2462b","signature":"7ffccda9f5233cf7f4dd76c403921a51a2db0fba00c6d1c5156f463d95781b86"},{"version":"996c05dee2488fcd52dea0baa6bb03cbcbbd451bf22ca0982ffc1bb412ee5dc3","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"e83b7266b4bc5653f60004a5a07e2dd1484a92b256fded2dc1fc65e828b4bb57","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"2853d5c65a6ad064deedce24ab8dbf06aaa5ce9542a47f078fe02f03ac7cdd03","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"3383d105a4eb14ea4ed618769f30b75f90188e7935364332f7082793d1196b9f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"d96eb2f5d3802c4a877dde7cf5c19f3e938d792a6c623e806c9cb3d64f134d19","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"df1cb31463ecfb08b80ee1fb021dc44fe79934972679382b951fd13eded5d250","signature":"2af67711c0b92f1ec7bfe590266fb550a2a274b8e60fdf1a37d57af36b0bed07"},{"version":"40b19636fdea5f4ff717e2b8c783e06978d56ddf2e56cadc547203802f3ac0ed","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"dc0e638cb5f96071486da3fcc349b7f938455220ad96d4e80a1afb444b7fe0f6","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"b65293780e6f9a13e12fd16c069c51294f40e1e12a28add6a26d8205c74b17fb","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"82a1830c87e3d98fdd26f717ed49b8781d7fc773c0de5264e05e62640da8987a","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"e7b9731ae386cc1518aaa4172cab2116a0b1a791cd8ad34ffe09459f4574a415","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"1984ac4245d99924a641f9d1833899c51fce20f0c51b713d21f2d386c87f4492","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ab754ad0ec19423ea27bc7313015d6cf738360f4631148d2d49b9b87c0a46929","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"1395fd01fc1397b94c1c12676294a680c57d649db4b3b28e1c260f0ebb541e6b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"dc40a65405b276cba2de5d724820da75d7e30c9e7d10e405719a7be5b3e31a5a","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"4156d5f13cb167807cd3b50f1ab673c57ff0051d3c5ba40aa2dcf95f310465f2","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"1cc522ad210d2c7dffe081392e099776aea1a12b7341387bcceae1546565fdc6","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"0eeae146f6113ee176a29b1625a3e63bf9e84e3d15c25b672653db26e45d8ba4","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"85251bb0af0b000acc3eddaabb09b481db2d5b09be42f25d52b056b966ddc6c8","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"a63ab84a834b223bc3cd8224f1e39c2ff0f906f3c29375f1dbca5a34ea1b4005","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"093fd001ca343779855f7f386b448d526e734c0d8c707eb3b979eddb84d40161","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"9598e8f2c6880331c2f57e6fe39fe65d279d5fcee0879cdfcb10f676f2af9ae0","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"2deaf139a18640875564d069b8df011081214018c145526504bf2e378c716a3f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"8e7a92c6c568e3073f67648be4f0ab0e8d77e36fcfad8aa97bbb268ffce6cae5","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"be1f6a316e168ee956b44f0e9587e97a5989614d65651278328e6de12800fe42","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"1c26429a84968da0f9f6818874208d5395d5d681789eb62d1e97874afbe55156","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"831663ae7da68955e3dcac239c6f0c4b4ba951287903427713c0e5434b268c3b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"a5032259dba8af052f8650efd4b8290d61a0213e30c43255cbae505fcf6d1581","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"a61e00af63164e828f24a3b5abb6c76837562fb18ad83607d245762b92566c22","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ec80f7ad05865aa145a03395e48710a388452c5573da23b8680f9fc4c40f7023","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"0c2cca1042ac885087aefc61dd07c98d4d763e1b93da979e9cffefba1535103e","signature":"956433971a3be8ead015f2ba25dfa9b9a9dad91a092766686625e24987c820d6"},{"version":"90f918fa4bfc8a1ca28e5ee6c726fb4314e3dd5e4e6e5c138d3722a4406dec1c","signature":"243160e9793898a75bb1706e22e14be7dc4f7503439d0bd4385c9002bb73a9f3"},{"version":"c1acbe64c0dffe2769da1455ffa7a7a54c630553e711ed9ce686509d5a7ca22e","signature":"ed6c54273b0447c505914973fedd613d6bba8426779fbcdf58d1a900bf95d3cc"},{"version":"50dc2f59a00d680eeabc050af25b1e67047756935d858c7f1b11bfa25064f92a","signature":"f6aa1162ff9538566b39c5592f558b1dc70974ab34c3d1a592bd7b65711e988f"},{"version":"1418e41691be1d8e5b6c0ba32ba0279999a75c035c1826b88ae914d8799ee8a4","signature":"2f0415ffbf291a21f7b8e32657ea9757e9b49bcd4b1dad5524ee463a1927916d"},{"version":"68a712c8150b2351406c2564d71be4e6bcf2ca9d5d5a241e99421ecd917043d1","signature":"f1447d898e5612d1a748da9566c03045a70199ff3535c97280baf53da785bcbe"},{"version":"75b3fb36bd172a0191b3540170778693e0d098328f7f6b783d0155848717a104","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c360f159bf7cc50cdbf9fd68912ac63bf5889b7220045435cc681b4fbe0b8f99","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"a93c39a33bbf74c81cd249032ab84d98f1bb5b86a5d557111792af7fa51fd3b3","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"a08f9d6a255a986f0709ad01ed4719d10a78c911442258e3fa586511e54a68db","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"0d74771d5bfa09d8ef0f129e8f5d5f64fc0fa44ca6e2319d711a301544095623","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"aaa89e91914fae87683fc9b47537b7561fe705e3a19ebe436209a8553a9504df","signature":"78ed4e422bb1101f6a3186fe4b0b70d24d3503382ce07299b406a68f01141809"},{"version":"6d55514cfe052291428316f8b5ddd2620f161abcf9d180a39ad04f2572852a5d","signature":"8d866b691c98d47c7eecc6462e0581e3c9e62a4b13b87c6a7f830f0c2b918015"},{"version":"e34138d79ebd653b7302f054d2f5b086c40075dd387ea3c02b9cff1cafbf66c2","signature":"488ad3e9fa660fbbf03ee600d13285edae90e156fbb5b1c5f4ab396e5ba87226"},{"version":"6c6f6ae7a61d464a58070d9204181c34f88def3da2364ab213b2769fe1da314b","signature":"0183321e9456c163a3b9630a73441c67d709bfbcc7425c09a97ab1ebb83c1216"},{"version":"40d866aa997f590716d7630f06025a53e7efe1982140182fef03d1971594672a","signature":"aa43218ec3abf932ac6aa3fc859581b8f2fd8c9469e3c919408062e57d232bda"},{"version":"31c12db46e3320bb3d198856123b8875d4c18a00a9e8e8e6aa4c87153954a24f","signature":"4910911105559d5ec48fa179743ed357001b66fa8df1227bdb5820ec71c3c5bc"},{"version":"442f6f1df0e9859c783e9c1260324833376cf2ef977b0a8e7c5fe85ac45b2b4d","signature":"2e9fd6dc4a8c33cf0b4b359754e567e8c5c4a714fcda3716a4c1ea413102c04c"},{"version":"727b5a06aa2c2d16692b1ff55cac347033ee492fb0132f3843133567175c5926","signature":"edcc0d9e675c37f8b8345ef683965422335c183997a5abae692e03fae3b476d6"},{"version":"104321bbbae499a49b02b529e4e5176eeb094395ccabb51475b94ee7ec3fac31","signature":"cd789dd692d4dd223dfd8938a1dfe00325b137c3852e6a85bfa9ace8ed00a10b"},{"version":"8d1549cef4bfbd34d863903405a6f4146fca4310628edf97cca7f43eb1b5b70f","signature":"b5e0ea031f83d837aab204deb17bb3dc7bb49f3bc3d5f5ae00de7055b0957bdb"},{"version":"90ddbf56e752ea3aac5906c0bf372a35361bfdd05e37674295b930d1a6145676","signature":"f9dfcc6ba837fe9dfbdb57b71db828463f35d1938c29d7405b78935fd6551ab7"},{"version":"a312b9b01b548d6a5c198fba7ebba16e890e181b09441f9b358f082f927c7f84","signature":"60e6043a56300fa24f867fa24168c0ce827d6154625db4aa79ed2d49432f06af"},{"version":"db89abf280f68499f246e5e7aef6fb38059f8d9ebfc4d485e89441d72cffcda8","signature":"e605c17826925ef50254a6f1fe1b7615d239bf637b30cdb0df4637d362fe265a"},{"version":"1ea8cf150ecfa2e7100ccb91fb039af6b12d8f5f022266a716f6c6d3d0564280","signature":"307b1f6b818d93140e0f0a31acaf65d20eb606098df57cc97103fb0d83e79529"},{"version":"de3c3ede735330a69dfea482cc4d40bb5ccc96bca1ce3e0255cdc07e96cc93ce","signature":"3e4b13cf490d9a92245cbc3e5477dc486352b38942d390fbafe48c4d9d226d1d"},{"version":"1d75e713898af44896feaec991b57d2e9a23e8790c7715eab5617b37c81b1304","signature":"c44cc8c4930b76d1fbf935484045f099a078a0e56218439da28da5d829065a89"},{"version":"a1bb76d514e93f8f24cb98a136465f860a25d9b413d9ee1af1016d703e515a62","signature":"0d2eed2f304bc1f3b1d854f9f66a454ab06477ac5e5c4541e10b6111c9b288de"},{"version":"3147101b0718a86a739558fa3218ff29d597b7c7b706ad8c4169c8c80c4daa34","signature":"1ac9fb8cd09e61aaf85cced63abfbebfe7620efd14a30559e8c4197a629212b7"},{"version":"73179d9bed7d28d279c73fdf5c7ec4dbc78493af676d383b3f3c5c35d839e7c7","signature":"65c789d98597042f1c69b58091dbb80443537c26f1dee66c37a32ee3c625087a"},{"version":"cfdec451e6198722f6f1a470ae1d702e91aba34c5a82ddc8ca2c46eb2841b25d","signature":"51e03b177ae1693a016731d78123a9375e88191258438907cfb8c28289ccb8bd"},{"version":"f73cf056e756688b97c5e8b366b8516a5cbc18aaf1d5278cfd567db66b4c77f0","signature":"f26c96975df3621c30ad0e860d7cb2679f76721cf94e7f8a733b9f3e73f87925"},{"version":"2e818b0de54379a805ff642430dd2ebf684b6cf4d3ae133f12fe826a47eaebd9","signature":"bac0a2c0df7457f1aa977c6199e5579baad02f84ad8594b715b67a312124bcb6"},{"version":"fe83b119da0f5ad1d6de35dd8a8ff11c6d3b4f430d2ded235430d4cb84bf32e0","signature":"53f10c22876bc751399d19641a5d1df99980c8d1b24ea5bd17e074a4034e56db"},{"version":"993f4c89fd25bd6aa86e3329183f0ebcf30123d243bc6505e945c7d23213fbd1","signature":"076becc81584aedfa7349ab56ec3058a2c48e51aecc5ecdabc2fd4aee654cdb3"},{"version":"5c0d0bc099cf3cde30d02b2d11f7fbbb934c2434cbfb69d8d67595bb2ccc1d95","signature":"43b7a0a2b2def00095492d167729428073dedf1d85c28159254d3b64e77eb0b6"},{"version":"70b90a13137fcb5ceaefaec6c636bdf5ee4fec1b03803f5bf1d93d3443231741","signature":"a7ea8dac8d777c73d4af8f9fab282c874cafe6b2e8398ddfc1e4e1a00f2f44fd"},{"version":"d9aba09758928ec2439f08c4736980c6e52ddf6a0cab476c161b3592a34d44e5","signature":"ffaea7fcaed416769800cd74682a38d1335953e1eb903bb59c22e45cced12b52"},{"version":"cabf742a4ea4a60f70f88efcc2d320b8e1560f54d7ae90fcb8c79af7a75cd920","signature":"f426dd38ca9ea55f46616efa6421e5bd496b57e2674693bff57773025d27c2fa"},{"version":"1c6e1ea103f8beb0753a0e6532ab28eafce03949796958542b4250ba1cce004b","signature":"c892b55f40a8f35ede8ef7f1e0cdd1dfa70b22bee55d10674222bffbb703ef02"},{"version":"fe2e6c470b89b10fdc90714c6c734713dd0809189913130fd31fde1c152dd96d","signature":"d5dfca986d325fb72b02cb63065520cc0128b46d77c1c68441ca2241ce17113b"},{"version":"e221838e10f6d2c4b1fe86acc4066491685a9c6e878ce39480638cadd1fa2650","signature":"b98c55bf5fe063f227004fe751cd334ce9690aa25afe7be7570d66c48cf86e56"},{"version":"742bbb2ee54b65f16f77094b8444fff1e3f1c4aea3a2bd44cae5de3fcc369411","signature":"8d2883f78b4357f180fa333405e5d6c5d1d08305042060e331f9b4b21c262dae"},{"version":"dac20589f2919a63805df5e02ca738dc974c5363fae35c526eccf6b7f9dacca1","signature":"a6d58c8a4ac0a18d66afe6789e372e54e3663f5198753e6e94481cff20b7452a"},{"version":"be476947bb48a7e4e2a2bf100c43026c646e115085d076247f276f88111d254d","signature":"c34b363d2b6cac61ffe29e155fdac051d7caaa197bcd33c1dbebb9632c10dcf0"},{"version":"a1c585659ad6a50677fc7ac3252133c90ec1d60d2f44a716b6ed4f945c0c337e","signature":"092f1a685f107b5dcb94b5d54e07eaa58894ea17312c10bcbf11921448776f41"},{"version":"0c0f21b2b2173e3f325fb91099b32f3e19843b80a92f4ff2ff5a3d4235afa72a","signature":"e5861628b3c26867cdd721803b8fd63ac2568b1a32ece964adb39bcc895a1ce2"},{"version":"f8bd37d0e25c4048cb2f19e6039b8ebfa0bac6d24ac8ba58aa0fa4efeaa571cf","signature":"e21a61ef0088c9d954930ad728286dd23c0dc3790192a6ee38dfe04a0f074140"},{"version":"09256332eb93d63b5de0c4c87a64562486589143068b03be359bbaf2038601e7","signature":"b33f409b8ccb6bd57b604bf76bed489fcad328a2706408b6c444333ef7bbbb7d"},{"version":"2dbb440d516e8a8107ae311ca6371d7808832cab07de9c432b60d3e3a7e89d5b","signature":"eda6d5dc9807881492ab8f1b3d2e72637da870377f3a4742979f049f492a8e14"},{"version":"e46586b8eff1754102c56c3132d0e4622535a474a8a6b82f001baadaffe33779","signature":"7d73e178ecb304b871ac7db31ef6508abbacac21c1234cbb54dcb173b53a0a6a"},{"version":"d48210a6d909980fbe83eb6580fe3a2642fe743539c17cfcf8f89dbf7e8b9c36","signature":"638eac046436ecd6f612425af86067e56d2a699a83a5eed192b905a4e9e97eeb"},{"version":"b948cfba8edcc72a86f90f7ca9f7de41fe1777dc92405022eba2163d92728e95","signature":"32f2296581fafe2cdcb8b4aed9d9a23a8c0475c2051f960c63f08aa3ae9afc5a"},{"version":"268d9444d7e21783addb24299011460c065a57101057d5ce904524742f7fd5a7","signature":"5ad606a8ca9d6d3baf284b4af21e08329b8bb2b9963eb9c8730a4f4a0251026b"},{"version":"b820c9c3de6cb1040413353cacbee04c9b8bc8dfa653a4aab2c25aa6c7c65120","signature":"35170f7ef283cd4dd0a6848be2cbdb95d0d3a1e3472a12bcf21fa59d6f81c778"},{"version":"5ec9b5391ad2f1fc9329b4d7f8684642d34f6c7fd339fbf5074ea3115ce9b5dd","signature":"9eaae9cb3456005143c5fc9a8938ff63f654a96cc6e1b0df490e68d0815a6390"},{"version":"615e50151e5cc86eb9c7220aed8849841dd2fd2b2cd6191cdd12943c5b95cecd","signature":"97670088c72dc3f74a553fbd7594d6647c0425baddb95661037559a2d34c6030"},{"version":"fac01cc464ca9dce1a0a9480945abd88a0098d2e8787cde86a848253cb20ff56","signature":"ce511872d83ff623f8ef004de954c7688b48dc397e4d06da86d2b3ee8be28cb7"},{"version":"21c8e068769517198fb91373415bb22206cbc7b95021c213c4b70d9d7e5cfe78","signature":"71df0777b16f699901d10ebf07bb50fa51b0243e85786de77cf2763dcee38ede"},{"version":"f7956442417275691905a10a694cf23e778b1d4650fc39f23e4ea91435e92cfc","signature":"7f145dc473fcbbd9152b5f0eec88bcfefe5e415ca70d3edb84aa0038037f61e2"},{"version":"d643d005f9f2369e623356b60fffb49f769f934cad2b8083b70a011ba2091381","signature":"7b320b2bdd31dcd6df09db52c9ca45b37e3d69bd0d9a489105d11016ebaa443e"},{"version":"5d2eb8c8780a4dfc9d9ffa6c6934b76247518d95e8238cf66a68dc031a29e391","signature":"0646461331d1a1e9f1dd6b22fb002a043259f5210cd693c5959bb6d1737415b6"},{"version":"ccae8452df2daafa051c0a952e6f11a43bd7b7cb93eba49eba57941c81c20193","signature":"67cd5d46643ba488aeb104da791a837e1c564361ce47f8bf02f18a49b1ff1eff"},{"version":"9eb659b8534f4f030c58515fb79baff9b1f513df9a8c9916fb0e5a2023b9c6a0","signature":"e3ad74ad4b85382c373e362b6721121e54b5ab37ba5088485ad943d142d84fb8"},{"version":"21366491057467278d3243b28f9065797bb996a4e4919f1086e4e2710c9350dc","signature":"bb851ecf30c98fe3b901290ae1fc05bdc55da8bf15ba10e1a3d10dd12da09cc2"},{"version":"070a5b980cf70e9e54d6291f31a634d1346707662aa0b906ebb47695316d94f5","signature":"0e92e6224e167b5d58f377e0513c39bb3b513cb2916a2166f87a20d3ac9cc629"},{"version":"cfca522a29f53430f1d0447baa732bf2fbfa5bebfe68d2e475432b228a496110","signature":"f8ac07e911fd9a3bff7d0a2cb3b8589e14a3b52a3d26a2fad493348f494edfac"},{"version":"431b70b424860910a8ba2560f83bd864a2939b87109f11ce22873964f1823b62","signature":"24cf0f162a2bcae8f5ae4b678da2ca97a91699cfc30898c606cda9ebec4d9f69"},{"version":"c56c127a7dc75963ac6a68383a14f81da3c0c9e3d8e86c24ef9e37ae0ed777b6","signature":"d316a8da36d661ba0c2110e7fa8961db330ee9c39732cdce1b693c8608a06100"},{"version":"703e7b32062955f1941d78af2bf1a972cee1905d9f64c8c945e0307b71c6c8f2","signature":"5c8e01f96eccbc91b7243158ddef84763ac292ad5e914a352f8422f4b374aa6a"},{"version":"5320b2c2ba15fc1d0250cfacd6deec6a1b242c1d03f5d5bcc2d7ea8186fb8787","signature":"7a977a3406b9510b629b97156a3917b9f347835d16ccc19e110f0bda76af6621"},{"version":"7b7a0b908bf6dbaee29816d012f9ef2ff0b0745ebe5977484e12ff0d2a1d4fd3","signature":"7b90b0d17d565ad2bcb84936503634ee9f77cf9f40b2353797af5c1dd26b6161"},{"version":"4d1f600d2d153c7c44e2ac25f5d64776f9eb7a52f1e92bff302e50a7efd08a36","signature":"ae5b73a3e026381b16450aa4673ea1b2ca1e7fe4ee196acc0a3f09c299081d51"},{"version":"043caefcacde199496905b469f7251c08948c4921f91e5a0f5c0df4f03cd2d55","signature":"08a95f68e870bfccbd65af83835d7f74d53e33f3a90926375171726c9394185f"},{"version":"d33e44d9c563ba82cceb0c3fd5a20de58d19a4ad63160482de55bd9c50c3ad2a","signature":"c53d5f0a2eac0af33a7fd617b3d035c3f95ed81fc152da2058542e01ced0fdb9"},{"version":"58cca2c47d5dd00d8585348eec7067b9e45f9fc89c9c430cbac18e2846c4bb80","signature":"7eca6e5608816544c2487977bcadb1118578578f54eb343e7ec2ab82302f82d2"},{"version":"a3d3ea65ca56bcadb960f2e884fc5a2b3ca80ca7949dd540ff63d00719711fc6","signature":"512558fba7e0f5f8d0cfaad40f05937124ee8bf4c3a11dcab9f618afa626fc0f"},{"version":"920099117da73b53caf5e84b81cc4d2200bec4f82e818bc23b7d079a2a56907c","signature":"396d5e07f113ce101976ef3238521989b0162a3440f8f15e5115f00d67aba169"},{"version":"7444ab226ecde90756e4e31ca68280797132b5c3b38348dfafbb101346ff9c4a","signature":"41a5855424d478222c6ea0546f8f0e7563b8ea830f0b02418285fee2f6010104"},{"version":"4674b23baba8d8d1145d47b4d8db58a1161a0f0327cc5e05aaa3c70dea3aa4f2","signature":"597635cd2982b768c8075e33902d4bcad6b823ad6837b83bdd5df1108a8b5ef1"},{"version":"dbdf5c99dd4d0362a790a664fda2f7d80f0b90ec20d2dcf9f4e71e5d859ee247","signature":"7b9aa1a8a9728abd8faf699093ec32552e44ceb2e3e4eea7fd39fd4a105abc61"},{"version":"7007c577d3881953fee9f301de570abe4ba1f6a54fbe2873968dc002ab5e5629","signature":"e7dc47606500af2c3ea9d69e3d9ed293bdbbbf81bfcb0c48df6568c1ffee4b02"},{"version":"cfad3779365697cae7b23669d57fdb286de38dcd3c9b1fd53689f9ca3a91a2f0","signature":"51838b26378f28235d88da3177a2f581d6325b1c546464f2f5bcec82149eda0e"},{"version":"a6e432450d84b15cefce91791dc06498a08e357e05526537db4bc137807316d5","signature":"92cc6638c98debee2178e4ef0e1cd3859c86121ea2163b0b0685d41a96d14e73"},{"version":"2cdc33138be52678761d11065245a401d3499f110f502a2cb34cc2632e9c5e61","signature":"41f303a470c94ecbfca891884533f4544fb3ccf7cf97aef0ee9b65df992d97e8"},{"version":"236b3b7d3b7a86bfa27e5bbf1998dd7a09b9b6ae3ebcaf1040be305324dcb5bd","signature":"347ca2f28c70154d1081c55c3772b0e5073d3482e261847eb6ed655894401136"},{"version":"e22bf0ed5f47dd3f92ca02adde6e4459657a649c00c57071c4b401d6883009bc","signature":"c21b522e44f78bed8f3053a3824eeba6f32c27dd933d6b45cce037e8be0d0538"},{"version":"e420009e6a6660fb935064b5233cf09d28f28386810a62ecbc0c42044d5e97a5","signature":"dcc74f798751ba65a1cc7a24a795e46be9ec56f409261005e1d69b732b013560"},{"version":"d592e7b22c830bdf0c8da2ee4c4d5d3587675ef62db03bdc0c78df8e7f7b7c80","signature":"8f3dcdeaa6a4c6257d53aebff62fd88889876d55839a85929f5ae2d3a37d5a73"},{"version":"19edabca93b6826a91c26832d55037e487218d8f29f2172917ef87ff08f8f380","signature":"cb9da35a72a402b315b10d2569a304b12543538dcaf383f4d9f8dd5a8114927c"},{"version":"fae8d4ba3bdfd3f087c40507d8748236b0c08aae3d74c706651a15c0e27ba16f","signature":"2496283dc414126ef574138ede1396f27877de39dafe04d183e30d2c38e2cda8"},{"version":"9041eb411777fc80385d1b639173fbc6675ad3d7cbce257f52605d4b18616543","signature":"748edc1e544cacbc98bbdfd79c2a36b98f9e35ece62316b401da130aa0769631"},{"version":"3aaac2c7f4e18c47e5197948b4f1c4d1d569257499c1dcd2395bcb15849fdae4","signature":"bf80d1b3fd049b9db79c5bac94e6a4b2cc9df97720f65c91a62e095d793499b7"},{"version":"ced161d675dae30f24f7d001a14ad62504d69069b971753e9a8003b2200e7cc4","signature":"1c51e31907648173207e55a21000c17277311c053c658c91e5505c4f1cf4e9c6"},{"version":"6b76f984a9fee625d81fe94eaa63de765b85b492e2936255608e9935f577df97","signature":"dd0fdb6f0c71a53e434d39a22ad54d9d196de67178d156fa5b13df073c527f19"},{"version":"22772822785aea051e4454632aa2bb73baab3d08d48cf7366cafd8f19e1e0c4b","signature":"7c89ddbb992896a2006feae6ff5ce82f22e2158dc35be692798b4744a624221b"},{"version":"08069afec7cba0f29e89b4fab6af533440854664607e1a6381781df96676115d","signature":"a78d3790cc5ae1b4930c299095023c07eccff89cca32e2939a4722a716c9cb55"},{"version":"cc5667037f805a2921883f7fa5e091aadf2ee8907c46d61a7d7992911965eb66","signature":"442965f5309d0a2d4d8def49f2aa35996d1b73d37c0b296eb305501cabe8829f"},{"version":"82dbb5baa7af6aca1b1392a81acc3bbbc07f50ccd8cff2b3eff2ceb1c5db2182","signature":"e9708da92b0cb69d4b46485f491a6f053fa07145eadaa8101b16fa6738100f9e"},{"version":"fd3444a7b0304c83565c7d69296748987a09c2a55377bc9e6c4d32961f8c99cc","signature":"669ed183124d2bd3cc638ee9422002a758efdd672388d6d6121187f2d073d024"},{"version":"65f0fb9a264a44649bc963291e7d6e810c6c06350748007de4e1575eaba8d319","signature":"814699b1fd707185dac005f3047ce5badb2b34bbe355ec84b4c3cadc82008b8b"},{"version":"f40778d511004eb579d576fd71059f3ae2bad589d17872de170e632e0632f4a3","signature":"d81983bdc0492ab963061b9fa1fc64926ff2ccf744fc3ce3922061f6016ff571"},{"version":"a1e7d896074ea540edefa896e31c66fc75904a26c4b2ef701a93d87a83376ad9","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"8bdbddad53b0b942e2bc6c3f2d63a6a3d560dd239e8b30c69805367eadb090e0","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"8e27dfd3b35176a3a2e4307206a9ec3909995b23657330dc835e7b5fd50ae89a","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"72ac7a0ae5374dad1652ef8e41ef145bb371e9b8af2394b91a3b6e0220b5f39e","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"8a9333c31386954706e26b45e586e7e05f604d04bb65a345ce2f47e56b9352b1","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"195de744901000a5552e10fc8799faa3ff12bcb62c6a988a1b2dd52dd0c80fc3","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ea3738176afff87d2d326835927fcc4c4e3b561cf56da5dee6959a08458862e7","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"90e42071689c6160951272f117347d7859a2ef54dc83f3879eacbffcbfee1868","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"faee2c92e93b04bcf0bc3cf951a6ab15c80022850773ba6721dba52e84a5ba41","signature":"1342888987d6078504543599fffb3dd6029c2c0f768b489cd232fb10bedb675a"},{"version":"e353b7b008a1c093f02f51d6c46b2c1ef2c28fddbbd38889a6a7e4c224916779","signature":"8c40edee0d9d2d04dee8654ba2f8f239f1662ba5d78ee296068d1e17dece3391"},{"version":"e60dd86cf0c509da27cdedc9fbd456d02f145c04af44fc026d67f1f3ad4d4d79","signature":"ecacb7a344532575d0bcd497fdd22d7e66c42117aadfa1fd211a47dbde3b364f"},{"version":"b858241a65512e697bd928eb1675541fa5fcf2b516aa837f90cca9ccf23162f3","signature":"6a9bb53e41455547f9529dccd266b05e7cfd3fd72264f41bbc97581094096369"},{"version":"045b680cd4cc18bf4d40193feb610f9692e31e055ea84a89bac2f417831c7ed2","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"e6107e7fa315d770a69b9edc7dd077036f115479e102f2380306a7a92629329e","signature":"0717bfe8ecec022eb7f964ce697b1b0d749e217864e7a11b438c462ca1e55412"},{"version":"b26bd1398c6f71549fa23175f3c8b8245fdd2d2092a6380794cf8ae8ee67666e","signature":"99173fef2fa963dad3c3a06cef6bff8e4a9e4fea656ec6414aea2f84126ffc23"},{"version":"002de79e07e5851f180fd44a17d1f855b5a17fb9a00f9a17cd53ca055d27ab8f","signature":"08e14aa9343103c4781efad6b4d287b2d577a8266f51f389b2ed4db8957cb5ed"},{"version":"ca319732ee32ab8064188cb5e284f7d8994c1e05e67bd2f7f55203eaf67b33de","signature":"0de5e5a2fd2db15c16147aff67475c913395e62c14bd7c5313880b001a88e009"},{"version":"04ff795f13235dcc2df104c2363bc370338976c37fd408129eee133fd481b1b6","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"d043ae7012e9b61fc3a47946b043e6feabd01d8a1d43f5613bcfe1fb1d144fd0","signature":"ca0cc7ec2073444d6a6e3edc6a759fd98917651115e6c1b56e805d7226d122f9"},{"version":"e48cbc2646a758124caa3c87b05a722e8da250afbc6fd5f4eefda072772b4616","signature":"2a57bf7b0ebfba810bdcc71f9eed2403e5a2aba006c55788b48195c51aaab8f1"},{"version":"534cced4db5dcc639cd555583be09c6891c0633dc395308c87f60b47dd54a6b2","signature":"33ecf206edccc488e96cfb5177f19809e8bbb549ed0e94ff66d1cd1ff1a1fcb3"},{"version":"056fc04ab05389b453bdac4ec2e3c1eedd8bb661c20c9fe2e184125c8d69dfb0","signature":"abed2e07ab4d9ae16437a73aaa4382973966df349afdf5eaa654b3f766c30625"},{"version":"cf4d4045a6ef47b776863026fea118f50fefbf94bfaca15b330d5c939ebeae61","signature":"f670d82642bcedf7ae7e34c49a5dec771f607f89b47602cd0b7508aa981ec2ce"},{"version":"ccafa0cc21d137d4d29093eae284e4f38dd4c43524f9711d9976b29a4a709b99","signature":"704594b25466b609c3bccd775f15b2118e1ac95cbfbca960e5819c93ebc1f8ee"},{"version":"2d3dd03df960f48735d9ea246405ce7f2f6501675599c7342965217e6873ac28","signature":"95e604b1fe25d3994cb3ff463ec3c46968a7ffcc3615814407b7a78359431ea1"},{"version":"dc2a05a4d3db8795c9c161d8e05a72d0548cf61e5b5a1e992b958d287d148f20","signature":"3844cd66a0ac7b19cd62be77527a4a53499fb22a7a122d735603ae6979064756"},{"version":"2c008ab0e0b102c7d0752086dd258c08086879c4ee036b40eb909f53cd444f76","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"9c5cf595d6470b5fe3b37de5815b5a13b155e3e100313f9e30f5e8728dd9b055","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"3e5cd51e11096be95c01de7fee203750f0b365f46dad987f3afe9fb535b99122","signature":"c84bce3c55622bfec01668fa58087cc8073885a20ba030d9e9b519debfecdd96"},{"version":"e50fe642408753de3208274d3a7c83c42bf821821740b79012eb581ccb425bd9","signature":"8674781878cf01b59ae950a13994a74b11e766bdc3d6a87ecfc77d1e4e0fb7a7"},{"version":"6ada175c0c585e89569e8feb8ff6fc9fc443d7f9ca6340b456e0f94cbef559bf","impliedFormat":99},{"version":"e56e4d95fad615c97eb0ae39c329a4cda9c0af178273a9173676cc9b14b58520","impliedFormat":99},{"version":"bd821b87e2c0fb5f509cedf47da465c447451835ce0fe2a752c4fc53a9f95a5b","impliedFormat":99},{"version":"f1d7352c0f7041abb43e1054abb14fb8c53a13dd54bcc1d67b97d2c02bb5028c","impliedFormat":99},{"version":"fc820b2f0c21501f51f79b58a21d3fa7ae5659fc1812784dbfbb72af147659ee","impliedFormat":99},{"version":"08f88f75fc2f516413477606a4122b6d3f6eb6680e8eb79f3fda5a5d2ed306df","impliedFormat":99},{"version":"6ab9821afd2a06879620eb4e041b9492a90f294e9b733ae5eb022edaa3964a45","impliedFormat":99},{"version":"003533cc3fa10cc457668d4256d21a65706a67a04251962cfe85d240502f8d67","impliedFormat":99},{"version":"6c00cb8a4b187505dfe21aff242b07f69f84f5c832e8ab4357af69daaee1b0df","impliedFormat":99},{"version":"de14ddf9d780367c6a117bd8a1718d491aff66094186523b3eea680ea7035a7c","impliedFormat":99},{"version":"ee06b94d0521cfaf91e4b003518eeefc45bbd594b0c22955fe35be282958252b","impliedFormat":99},{"version":"9e5f8fdaeb03f1699392b4724a58ca7b47c5cbb6762920d2bfc722c265495ede","impliedFormat":99},{"version":"d05bd4d28c12545827349b0ac3a79c50658d68147dad38d13e97e22353544496","impliedFormat":99},{"version":"a1597b0039f39e9f3eeaf120f02d0c94a826fad30b027a2abfdb8d580c89be70","impliedFormat":99},{"version":"04ace6bedd6f59c30ea6df1f0f8d432c728c8bc5c5fd0c5c1c80242d3ab51977","impliedFormat":99},{"version":"57a8a7772769c35ba7b4b1ba125f0812deec5c7102a0d04d9e15b1d22880c9e8","impliedFormat":99},{"version":"1de82ba3718b2b3bc5333c5bc35da5cfc46d1b654edc012de46bbce48126fcce","impliedFormat":99},{"version":"36eafdce35542335372c9104a44db2597b5ecbdb11af1177da13d457efc94fb3","signature":"d6ab9d3f4bfde85a62fea7182d4e68ba2104946541f47eab58799009a38ba2db"},{"version":"d153e1cec75d95055701de32dec8d0ba9c9a89ce85bd371b7d51fa15e495137c","signature":"2eefd9c7b8dddc8d713b7ec2f408480a4c1ff14f1975c85f91834b8886963f8d"},{"version":"fbe6ac1edabe62f9565a5dcf644865c3b839c759c6b81a0991e7314186c77c14","signature":"5e5a13138a956d69dc4e30dcc820b816b253b6907b02e168e1067a6f026bd4b3"},{"version":"86d4ff8ba66b5ea1df375fe6092d2b167682ccd5dd0d9b003a7d30d95a0cda32","impliedFormat":99},{"version":"736097ddbb2903bef918bb3b5811ef1c9c5656f2a73bd39b22a91b9cc2525e50","impliedFormat":1},{"version":"4340936f4e937c452ae783514e7c7bbb7fc06d0c97993ff4865370d0962bb9cf","impliedFormat":1},{"version":"b70c7ea83a7d0de17a791d9b5283f664033a96362c42cc4d2b2e0bdaa65ef7d1","impliedFormat":1},{"version":"eb541103f61ea69ee1795085a473b727d46fe49ebc7091c721623b5ecd87c0f7","impliedFormat":99},{"version":"014ba72e2add59d6d2d2e82166647982c824639e2902ccd7b3103cf720a0cb65","impliedFormat":99},{"version":"e22273698b7aad4352f0eb3c981d510b5cf6b17fde2eeaa5c018bb065d15558f","impliedFormat":99},{"version":"b78c801c3c21015ee487f6494448bcff55bb6b61f41172dfc2c26f2218d99138","impliedFormat":99},{"version":"de97e016d8dd4869febd5bccce02eb96957089d04b74ea5d1dc0e66112493b64","impliedFormat":99},{"version":"671ccab2e6a253d2516c0e4699b3077fc30cdb70b4436d8c79d76c91266a1a94","impliedFormat":99},{"version":"a11fbd8ffbee6e5a7fe4c7c23e6a391be615de2e710a6946d7d1f947a85a1374","impliedFormat":99},{"version":"2d383c515b9b606aefcde23da9c312a69bc7976b75abb85c02592f7a8589a343","impliedFormat":99},{"version":"e760f7860d08e9d42b6ecd7dd341602fbc0c13d60eb30beaf1153f1c7c44d66d","impliedFormat":99},{"version":"fb04e1ca667399e7302c033656cc285e6c1cff9c29f264cf229dd25e3962a762","impliedFormat":99},{"version":"ca6fb77e3480af8f2287ccb756ac88d047ba8a8bcc0512f6720ac1216e274ea2","impliedFormat":99},{"version":"c0cc44b0ad2fd65c933d187c4faad6157efbed33c3c21023802aa6a89d9b9d13","impliedFormat":99},{"version":"ddaf5d3ddc45282b19fb0fecec91c87fc9b4d1f45c2ee611677345c81383c5c5","impliedFormat":99},{"version":"5668033966c8247576fc316629df131d6175d24ccf22940324c19c159671e1c1","impliedFormat":99},{"version":"d76df1670eeb97afbab6c87b8cd31bbd09dbf9026ff0ca533b5d7d3fc0291f79","impliedFormat":99},{"version":"e9b947b944887cf2cdea2d6188f412a25125eade82f2fe2334658af86f14cded","impliedFormat":99},{"version":"bc05fb9d657d30e61d50d690615f379b0d0415b8f29e69196e1dc6bfc664dc57","impliedFormat":99},{"version":"e315bab2f28d53f9ab473d9de610c455b6c414757bb19589b31ec8f490cebd4d","impliedFormat":99},{"version":"d999dd5abf4befbdab5f1248193cbea69b323b71131a02bb120f9462807fcd5a","impliedFormat":99},{"version":"031f1805f87171e8a9125cd99105bea4a869018ab2356c2e29dca7c86925510c","impliedFormat":99},{"version":"bdcb070ed484b40b84dad668b58e4861f7c3d36f38632072dad5f905bd8cc0cb","impliedFormat":99},{"version":"54a97fd1e2f33041d7b4cbbe8fe3235f97fdf1a05e9fa41e78417851bb8f1c78","impliedFormat":99},{"version":"f63e0743e2ac9f7eb4d3b8bc110834465f164eb9e75e4f531046e4ff9822f3a4","impliedFormat":99},{"version":"0372d6d6a41ae89f9aa86eef998b44bc0ba035d9d09c9226e0a150ef4578fc3d","impliedFormat":99},{"version":"cd8a4297d0ab56dc571dadd2845e558c9d979fe1e120a0dec537935bc8a36dd2","impliedFormat":99},{"version":"079a12cb0e0c42655d77da5185e882b4cc94bd5c6c2131171a9289fc1f4287fc","impliedFormat":99},{"version":"50cf14b8f0fc2722c11794ca2a06565b1f29e266491da75c745894960ebbce06","impliedFormat":99},{"version":"d4ce52c42c23981d958206037138e05f7b48d41faa1cfaba7e9eecce8c2e5489","impliedFormat":99},{"version":"8a3be5afe0275ce84a6a6298010e66d54d2d2f8e927df6bcde0ac326b5e81792","impliedFormat":99},{"version":"167edfac7664bec77aa2efb2ce9d515c41b5cc4269091a946b3fa6ec4e7e8738","impliedFormat":99},{"version":"218997a627f0efc4b8be5e6bc0b58e0c9edf250baa3674b661d3f7e6a7ef21e8","impliedFormat":99},{"version":"c3f1acbd39f587a7539d435d6c78ce8647b3bfdc5435df153a70cb2656b52b80","impliedFormat":99},{"version":"a1f568855887e2b5121e8b5c4cacd66dc5428259981c47026d95be1d844adf71","impliedFormat":99},{"version":"1db6f2cf99c83598669df0c7166405b0e83c153a03b59115000df3cb1afba79c","impliedFormat":99},{"version":"49af73d71b88a99b1a211ec02bacd321c21397062d253c605bb8d140082eb7b0","impliedFormat":99},{"version":"a50de7f1a7eadab7732d80dcf9c8a0c0d7d00e33315425316757006b5bec6e46","impliedFormat":99},{"version":"4c6fe268c2a984b3f14031a4b09ae7b2d9e51673258f4b4352e48d0c6ebed679","impliedFormat":99},{"version":"3bc3d81dbfb842bcf15454aacbe37cfeac57f1d15e829812ad02a05cc42be873","impliedFormat":99},{"version":"016952415e1ad35f9070b4d454946e79cd3881f3c76c0978d759b168fe033018","impliedFormat":99},{"version":"6bf5dc0c9f6b6c79fce77b56c985dadca4d4d474c9abf9139ae0785cb5c01992","impliedFormat":99},{"version":"d507276467f554e383b4fa058f42b8fdf5c15f1d1db84a2372bb569ce9d57a66","impliedFormat":99},{"version":"b3af5d182c9ef267d58cf43f3e51ab73986862436790a4dbf076b5994758d53f","impliedFormat":99},{"version":"1c7f26a88f861afdccd8f9d9e793f1affef4635d16d2609c487480c41c42f253","impliedFormat":99},{"version":"4d4551dcb3fd19a4f22aaa63c6c391d42ce44a15602a6f6a19d582709edb24d9","impliedFormat":99},{"version":"a76075b5aba8187b1fc5c8f565745daed6e4341e64b44e6ec41412a16d575d62","impliedFormat":99},{"version":"f836bf3653e31c3bba120071196c95d416b83c5d860ce27549975f8785cd670a","impliedFormat":99},{"version":"058d970583137cface729371715449aac0c1388bf7a5ba15e0be952677485fe3","impliedFormat":99},{"version":"31c45c074a9acb94dbe340d9336d3c915635eac2df3308916fcf41f2ba6ab84c","impliedFormat":99},{"version":"774256d456ca1d8266f6e2170a51bad2659cb7116334d1e7977595999533a5d0","impliedFormat":99},{"version":"07916d3ee50b94b3217c0bac71fa9d70d48f51586481c7cf61af2a8ebc2a9db5","impliedFormat":99},{"version":"f687f35c2206a319dc7d8f0b751e182638c912838ff54034fb782beae50f7cac","impliedFormat":99},{"version":"1ea2d362005804d980325c2fe6ca0abbb145197b856a64d80016554129966c97","impliedFormat":99},{"version":"7a81f15892b1c8d0cbfb35605038ce5c6d0cf93542946aa0b8c415dbefdea1cd","impliedFormat":99},{"version":"22ef1a1604bed6e226888a2414676ef477a7ad5d6ed907a62d6e40c831797366","impliedFormat":99},{"version":"2ab500573da35083b48fa8f4fe719860099d1502df3384f977eb22ab6b14caf7","impliedFormat":99},{"version":"9fd7d60e314f01c950ba31932c150dcec5db2c82de3c7fe0d0d24ee8b54f1fca","impliedFormat":99},{"version":"841d1f32f66723468772802e1558eb36ae0226c95d0527a3ebfcfa2c75b6f6d0","impliedFormat":99},{"version":"d3327c9f7dce1e11f5ce85b8ca921668a13068980f7f4ea4daedbc2c81589e9b","impliedFormat":99},{"version":"a698ef4e27ad6053ad8c189b53c468f857501046aacb554eb52be0403ba7f262","impliedFormat":99},{"version":"94b576c860480aac3eafdf904cd81755f5c9b16c3e0ef3253953a8f4fd8cecce","impliedFormat":99},{"version":"8dc7c54b72cb2a49a7639dccd99a559c243667a74abfb09545cf8afaecc58056","impliedFormat":99},{"version":"d2166d3793936235216ee5d014bcf0d8695f3a954ad54c01b1976c05f544ceea","impliedFormat":99},{"version":"41bf8c3193b575946682ca243de53370f61917035c3ff3fb747067bc680f2509","impliedFormat":99},{"version":"916fafd410b9c3a04bb3720774b0cca93d1dee94bc88b4ecb6edf56cd5585abb","signature":"50e5d708858d82cbd8bd30ca7a76597632b0dff659403765266a4891b35a712d"},{"version":"ef82bdd9d674d855785bbfcbec2181e8d602c430bf73b4b65ef581d78ecdc64a","signature":"24644a17b266badb345ca337c9d9c80300473c40b2c87a28e5a3ddc011551909"},{"version":"846affbec83fefdf905e16b3fbdf845edaa248b5895279498aa6ac733ff2a4b8","signature":"71e597ff732221dcbf043d2de4000ccc5326c9ac63b12f2a27f89b5adf18e609"},{"version":"227f3a03b267191752ed1a2381855cd73b0915794ed51151e5ce82ffd786dbde","signature":"22c51e70701555882fd248a93bda5c759c024c0b88a58ce37a54ef186729e795"},{"version":"4a700720ced7ebe4c0c973bfc450c6a7ae31f82fd447e0f464c7171562e8aa53","signature":"212577e3f6db3f7bfb26e82ef9385a9c0c241b3906ccb6d80e4ae6bdd657e00d"},{"version":"b69c8778c50bf0caee3dd1d2da2fc7d5f6157498b51cdf51fac81476850c715f","signature":"0270d8376c084b2e07697ef2de94f943eef66b6de4b77fb20147d306f645e990"},{"version":"39bc5068f51c657236fa9a763dde5bdae05b46bdd49d0390c4a72fa9dcb45dbe","signature":"2f67546822e0445ed6a5fc1d2e96bea837385d7b11803f8214835933d03ede63"},{"version":"2a6012a4f4a4695bc0a97d29f47861bda054359a9a60d295ab26f416f95e8940","signature":"dfb01e57f4a98a678b16d78007abe78b8600ec7545e63331d72a0daa6ce961ad"},{"version":"094e1a72a14a0f38f950e388d9a4e8f6118b493a5918235de9781d5c47f327c6","signature":"d7cd6120b5ccddff937be1aa22a538829f8a93ffc9b4715519f67bd21da26689"},{"version":"60523c590e7ec5b89c49c0728f8b64ec2132482709ea5c5909752d6d68c93401","signature":"2315efae7ec760b18fa4c15f987003721972b75388eb00f80f3a419e91159751"},{"version":"96118b858afcbe20db893025dcd75e19fd530bd5540c65029500e8cc251c34e1","signature":"bad3fb3837da6b89c49e110430e58827c321031273ba09aeb1c83a1e0e9dec70"},{"version":"17ae4d2c0c3487e077a7f6db647df1ebc56194a135262b8af15b19a3a1072452","signature":"7d5919c7ef0b53f308a78754ac25e352473a2de6bf6e25e109cd03dd493aab54"},{"version":"a389c1e6da14dc436285d19455229c3ecb445f0d26b4de5e4df0c223e43545c4","signature":"7e2734061c31bb7fcc162aa37af53a181cb8db1bc2ea1168ecf1c816cf52e045"},{"version":"c40cca5deab8288e95cacc2e5f8d1d2717f9b49e3617cb3ac992847d5a143fc3","signature":"d23b1f070ca79bf4cececb66c23b78eb3f35e10b3ef7d0119549521c9fd2ccbf"},{"version":"be28318b8f96ff27ce32fc1882bf6f18e306dc8ae65ca3361d7769ff98c933b7","signature":"36b9e77029aced4614bb01342291bcc4fc65360f32e9d3d639c8b38edfb86169"},{"version":"f8fcc667b4a4cc586bfbf3d76cc17e91bad6749ee634f736ca957ea7377cab3f","signature":"4f3963b6ccad89bd71ea9c5e491a83c9b448df7d36a01ec887aea29400c52cdc"},{"version":"fee446e0178c52a271d63c9d12598620eeba7a0a0178def71ab7eb70837d7f26","signature":"5eccb4db63e70774c70de6e6e6f67f3f4b26f2801767073541a772077c2b8458"},{"version":"dc1d17e168090dd4df773ba839410a2e106ff0f43163a994f681a0044b4de578","signature":"6113e636ad4fffa72648f2a41eb42ef83262089973d54e080d130cb4219dab4c"},{"version":"01ba304e845f2081cf6ce244153824e727d70d9acbb973de8e2b6340e4355185","signature":"9adbd23317b76a09a9364daa02f7ad358ef30c277dca1b05e8df356f7751702e"},{"version":"e8ac8a0a426c433de3f592188e1fabc47b43cc63be440be87f36f5f90980fc56","signature":"098fb9262c019dd7c7d2bc1efe85f61d7fef30a8c6ea0267398aee95321cf1f5"},{"version":"5e8cfa753701ab1bdd8545e9436da3c53f24c179978efab36a5d919484516735","signature":"03f8247a05f82c8f96aac14f06944d2dab5061d08fe71d98e429251144b7d9d8"},{"version":"e9ff70874950ac2fa288fe64a6fd622a06d3579bfd781be96bea79fee7fd1381","signature":"1b758ade259220a7723152591ae4997ead9ed62664cd36c08289f94fbaaa5511"},{"version":"574fede341569986c736fd5468e28194913dfe16685e804a5d5fb0a24e71384c","signature":"cb0d718f6419c7cf0ae1316734875540e46cc33e10e9aeecdf79e2f29f6eab4f"},{"version":"2a02d329b308ce5a74632fe2062c72c049e672e5941c5a8204bd14408859c3b3","signature":"291d5759f6ff0d7180456b40f53ac4ec52d6fb91b6688aa2748e70feabcc8124"},{"version":"3970978fc2242f1ee735a0b0f0dfa8a42e17bf5bc8d9200e4e7059c63877f4d9","signature":"f8328683d5b3f602c387cf200cb1726c422dc90197a7fdb0d578fcb7c9bc6786"},{"version":"5d420f3f67f2c448b28bfc8a6aaaddfdd5e3fac96381e3764c75cbb0540c3211","signature":"4550911de88ba268a6ebe2afc50d958d54100677ee698557cc2d5a6a36e100d9"},{"version":"9607e2d3418c1e50af1dac762f78b031f5f9c24f13ca4990b062f27c4f09a340","signature":"4cb3d1e907efe7537c8b4603e87bba3e9afd8e3294a436401b5b95fd2bdebdfd"},{"version":"3f9ae10a4a447dc5fd8d079cdac3d973bfbfb61149d6d34421ca8ccb9fc25a8c","signature":"6fb16d7f85050f01ba2e8248d33306db324277a87040aed2ac58e20343a0c2ac"},{"version":"d8a627c1f6473ead38c4a7fc6c22a1718e4f4b83855f85eea45cf645aee63cb8","signature":"c404855e249e727a187122c5a1809d1e93cf3bb3af6d64d68dabae61754a2da7"},{"version":"7b37c073829fc3fa3f22a6252c214e944b7c306e8dc1a4fbfbc5d6f2a2f95c5d","signature":"37fa56790fd8a57b9e8e21bd7f2aa4cdd33b7a833ae9626d8bcb9eb41e0288e2"},{"version":"7ebcbdfd5763421e021e5472bdcde0bb7dadd2fc6bb2d81f70309a89362155a2","signature":"d1e471f636d7ec618d53420476543d28b575d5c30f18b86931f648214ced21b0"},{"version":"826e0ef6771e8bdb186b153dfac8f181926f29570c7443560bbb665099eee80b","signature":"39dcbe7a573f3d3df729c6028108cea477260aba94ca082a95de9d02a267ef27"},{"version":"f955a769066260ff6a27a22deed2c93ed071342093caf86e7a6309d35eaaa480","signature":"3b93cb46f96d399b4cd9ed35122df5e43b202839ee7c8282632c5c47c4e697e7"},{"version":"60ba574b03771c2da031380bda16f8ebe86e64be2a04f31c53d572edf987d8d4","signature":"c81efaefef37848e456f15aca0b42ecc599fb9fb73ed61c95fa7f7851c280506"},{"version":"316b866c3bfbe957ec585f572fab4b2f7a35e8d9cb266dffe597e57927a5d66a","signature":"19d7ddc11ff468813dcf97fb05f4e51d6f78e16a0030933a608aa0fb9f2ff9ad"},{"version":"a17a4fdad4f5f7be2b342254233644413c8ef984661db43c951953933083d8e9","signature":"209ff798fc5f35a3705982a320e8dbcb321571e046a96de4092b4465b74fcdb6"},{"version":"db6562108a47f4a746b4bea1694912ec1ac7ec51b48e3a31b274b4c8102ab772","signature":"e1a2f10bdb3e04997994496c5f189b4eaa3bcd92e06761164845c59133af8c4c"},{"version":"85592302683b0f3d636e53a571bee7fe59803339b8b3eeaa9a5f3e43717bf81b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"77e9654c2e90c0915a4894800e66a9c269ffd3f0fe06bb17c14bdc23ef7f5d1e","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"861c7b678c64d3cdfa0ad2a3f529dc1f57ad0252f6bf7db739be18e14c79c617","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"8ab61002066e314d8b266725a4ed3db857e41c7aa11927aa4a38386370204af6","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"62845c5b09ae355ab3bc4c4745dc5585b77b447706ebffb09ea3641e5c963da0","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ca973ee48e138941af5747d17cc31073d1d08f57241a81b8a6370fba035c57c8","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"56b2d36623f14185ef2134637e9da591a86b6faf40b78ebcde2a390b6cbd5b54","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"a2cb0d579cfd7ee8015c6adea94ddfeb2d7e79c040ae9ea9b57275096512bf0d","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"1d95bd896b6216d08fbd7ec10a33b40d09d711e3fa102786292ceb82e4b8193f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"6dbc20023316e17c6ae6382458fa64ee65049a6367dd648e89ec443cd59ca18a","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"5c6eff88e726a6c9ccb73bd9f6b02dd0e248fba87dc47e7b3e211f3e9680b24c","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"31cf5e25aaf868c1ba0e195b7b62f5cb516b70a5bd6e2ffd8eebad1bb011c24b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"1896da12486c6e51bb02c20eaf22d1826fe48349e584f2c59c8506e925172b44","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"8724ccf801c593b9a763cf5949039e650f4c7ca57fcfa045d295e911d03f541d","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"5903b40fa3676f924372e37bbdca65ba67e3191a92f52852d5b70a2153f664c2","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"9b80069148c23348d866893c51792242c00832e28ee92964dff0c305ad1ba8b6","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ac0bb5930db453fdd87419f223d44c23e8852223300428032ca09c4a497d9ade","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"f3acc54979130b5a6786b3cb3a1f47f0330b6acecf6c509a09c071a1760e3f09","signature":"73351372b4295fa8b882bc93e30276d7a911cadee0f013b17f66d50ae3de6a29"},{"version":"c7b6e3a82a16fd54330388cc5023d8686071c102d3a4cb1899a74064910e7704","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"7739faa1d7e4719d14729d52aef996a6d8c8b1b1447dd9441728c642f46d4f79","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"d1e9b0eaec1fc9821665f79d5cb10b16f5aedda997b77f67cfc634c219be45cf","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"eddd32b79454e4df90e6e3bd8d43a997c8813aa61e2be0c79875c87a5d9f7b2a","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"2c217dd4af49f75ea5671d76d7129d3d3154589fd0193c323ec2c687ed13ca62","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"70879fcfe03c15515033be18baa3afa57f4f4a6d6bce8801e87050b02e04df55","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"811af3b90fea77ad0ddc26b1a7f884d9366a44b20efff4c2a15de5bc9b35bb2e","signature":"16a8c433300e1e2ba1998062452df2b0ef51cfd21584e8bdb0553d9b0aa8bd5c"},{"version":"fe3c52844859ce7b95eba27362fae54be53773604213757448c2bc92760f4c49","signature":"ede3e24a18d5288414797441a3b532bcf9dc229cb41a5bcad089a4814f438a3d"},{"version":"e292ff26b159b2acb49baf29c18d233486c78afdd409e727b71ef6cffd21378f","signature":"2fd39dc262c1fc3f21d6e25374b30919d9315210346a585dc31a758918996577"},{"version":"4ed889a15e24a9e0f20d3642768a080cbf47254ba81997f4c88a37d1a7d0a7d0","signature":"f1088a946445f681d8bfd7cac8fc99d0549d70cff4e47179d361377e529118a9"},{"version":"a161552e025ab65f8b854f9a3338f8c69229c0493b13c323252d07407ecbb1c1","signature":"b5984247ba3e47fb79e844881c939f38398dc60958d0b29f9cb87d0e29fe73f5"},{"version":"154af56b732ad2cf00fb80508d1f3158f0497507c9309670b66758fdc0461bd1","signature":"66383839201674f99a40f904e89c5c9454d3d344ed91210206f28c5776fae9f3"},{"version":"70e051b3ac6969f054669d0eec72f57662efbeeebaec77174e96cb91dd3d7b9f","signature":"de7b7c00fc17f6accb9531e5271897cc70db0063fddf8a17d735db6fcf91b395"},{"version":"c4ece3fe232b07819dab6dcb382d611f3b1c06a6b93cd924ef7d9abd8d090d10","signature":"31c27b104652e1136c1f2c56ef27f83380ae8587517ed95205649ad261a45812"},{"version":"1747682b50a243bbda982e8ef09306e5dc2bf9b0a0def44da795c851ef31d6e1","signature":"fb891c7c97af75b1638fcbf3b1cf51815a1f7aa9192f202bc4fbe295827537c6"},{"version":"8acf6816ce4505a5ef68bb1ccd8d4fc30815a83e00da1353b90102ae5160da81","signature":"997cba142aed5347c9d15f4e15f6daef2889c2fd037587841778b8ba476ea168"},{"version":"0c82b7ea29dce9d9c5ad81687769d14ff730a377fb9bc3c03cb16fb8ebdfdcb4","signature":"9ad6faef6958e6870ea4aba7cf6c40cf2399cf55b92f7bfcbad371186edd9636"},{"version":"80c8854964c4a39f42fdcf47a985104612a776c8de5b7e08e929c4389331a06a","signature":"8bccf01cb22376a08d48b284667f4b812ed8d38f2b723d6aeaa8c96d133d2ab8"},{"version":"ff619d9cbb2254ea51e7d71384abbbd5d72f2c93c071fea9c32b64ec3342888d","signature":"542542c33ba947f131b795d3630b41a32a460aa588a03aeaa5eecc38f3592041"},{"version":"5c0d00b05aedbf7b0bc483dcbb388e94b5948cfb1fbff930af60dfd9298dfc50","signature":"064b44fe73f0f7a084ed8e01bfb2ccbf0a6203b191fd521fc2f9c76d21e652c2"},{"version":"e89aeb89eb7cf6060c0af880e07093c91b08938d8b3a82a8a9b8fd5ae1d056f5","signature":"f3a1e1f72b8affbcc2c49613db77c9ff271fb02b9db2615fcfc355b194855b08"},{"version":"e8373b5d06c8923b34324f9df29eb35bea64a6a995b607a0b0fb2fb8c3a3a140","signature":"d86e8a694d25e37475962cecce34728a00aad3f3ae57454fb83e80c2e559cf84"},{"version":"6be1b5921e30052b789c02a63eda3517e0686c0d8e359d9ba5bbbee4e738d1b0","signature":"38d9938720a626eaf80d7c415abdc14d165e67cc0a3a5fcc4f40f0a16d2ce5ff"},{"version":"0b208ce8494b358652ba9030cf0e14619451807547d25b3b5b720aa57bb940cf","signature":"327348398994bb43ed73a2877af0f313518ed43453dfd4c68b77f47b77611738"},{"version":"d985bff3e70be34ddba319f5e9209e8eb799e392218201acb3afbd77b6ad4d5f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"5f45030e7b52dbd77b0e101bccf5bbc08537605f8fb10927b0281a51fb2abbd6","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"6897d0d0498030dd4d7b6190a78010c071e924f62811f51897f63268faca2248","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"cbc7b28d500a1738964097922cd6c6db2adb129dadcfdba9c1d56b77697afbfc","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"a219c1949667d439c27329b94cfdc416e2839e8214497fb621c491eb24cf3bc1","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"20769f36dc2e033c8fcc237bc2d7a75682dfba17022efbe30ae06f22767869b3","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"05a2797ae1b679bba91ebd96c9fee9bcfeee3b3dd3e400ebb3ddbedbba606306","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ae2e40a1fdc7fd8cdab6be243e4541f50b54445387834299471885785e3b2489","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"96fa384dc9c129874b902106257491e15eb6cc80bf921cbf2906a779ac96e60d","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"db3b9f398ad210cb961c2b5d638e28f99792cefe9c50c81ed383d2942aa226e1","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"b3277a8f5c5b9d50cdda98e93cc145820c3983f5e8aaffd31f4316eeb0ce465c","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"bb6288a9c750095a16037444e6026de8bbdee3e77af676ceb41d4ab7a8aa465d","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"73ee1c42b6c6c78c5d03a0c111e53496a54aa3505a78e452f5e306b84f769812","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ab9cef431c5ba3ad0da377558211af661ac8ef1b0e3bc5c66bb36f4cfc3ad177","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"13d80d19b3c6cf01d42d51623f934ba1ce71c75aadba05d91d0d67860d86e629","signature":"0f8aeb5191b3424d8865e154335c144f70d1d1bd13be767471d43557fe97ed96"},{"version":"f2b455abf7da931e2c6af9e90e22ace14c7f357bd2cffbddd865d15b442030b5","signature":"5776f350899f8d645398751759ebb4fd2af323fb1171a47aacb022f5d707473f"},{"version":"70b399f171d822aca03548b1644217d752bbfde4d4ec2cfed1a214d7fc79840f","signature":"cd78f41f9d6f04e36cc052c74bfefb7c2db0779f89d2659aa2c3179b054b1c8f"},{"version":"d02be3bb5d64b49b5ba9e768fa8448b5c127d09e2b8ba14026773c1fabde1592","signature":"cabe51c63a81cba61c652a509354e7ab4fb262ecc04a5433dafe9edccc3ce1e2"},{"version":"a88dcc474c044ec5c3ac8536ae40771d408085bba71d322d73bf2204ea023dc1","signature":"39000aa5f4d43f9f6cc8762b6cd8029cea4b6f0511e7d1f47e4d6ed7da095a15"},{"version":"b1d512503e816355be4952330e0a427949fafd8cb3ee124017b7a535dbb26209","signature":"89f540ca38000b4ab06d97bef735703c375a50b0b4aacf9f4d28c14cd138e59e"},{"version":"842955471f601e4c1d21afb2cbb3d250ef424ced61416e8d7ffda5addbda9eb2","signature":"25e6d9fa0f3dcbfeef48b9738ad3a3efb1f07f8c32381d838fed05543afc20f3"},{"version":"493e9f05ac502360eeea2d5c72d28984c6bb2e03dd0c1bff35e2e5265cd8a6ce","signature":"a27763fffd538d56a65d2ee0de520e77a21958e31a87f4cd0c57efa7b9cc348f"},{"version":"5dc03bbe2c52976d8b054be1fdfafa1b7e43f328bf48a19d5f62f0563dfee905","signature":"b013ce777eb845733b2d4fb5608890fe38f7a0829738da416cfed813adf39080"},{"version":"3e06d8650c98a672c6d811bc035a7fa2561bc2c87ad01172e5df460a8629d489","signature":"4b4d1c5dcc9a153360f0bea18e847d0123bab4e18678d00780beeaa4e8ab01bd"},{"version":"feb5cba45f6c40b8b4601f40eb48697fa7e2f7e3db51337f15c308cf2800da36","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c0638b8d32100f3827e3535c4307c24b5ea5e7ae6b33476db318a8d706386626","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"0fb10fe09a6f0c5fb2f5f7bfc0855cbabc27cc4fb9fa3c56e5956f0673746ddb","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"7b0daa318777bc57de0c9198d4ca71d7f1ee1e3f02c5bd860ec5bf390e08fce2","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"4c5ca16923d08d3df7ce8003095ee7cf136956b93a3a87d06e046c967a07d379","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"6ddec7fe4e03cf6c98a431bd4b7998cc9a11ad1f5aace1c73f6a0784c7c9d503","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"048955e8ea4fff7090afeacc7a8d9a0d843199be15fb1ab402679f63d2a18a54","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ca2ccf002342ee1f87be1682f2aab080fab7316eb8f37aaa6a76a58859b3de76","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"e85d9d5252dfb1dde90672424170e3b89cd14b07086f790d3c45aa3f023a93a1","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"789e5210de191f9b2c090a2acc40b4d8a1e86e02626cf05cbc6b60079b132f3c","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"3fbbbf2353edb06efd1d6d25286c1cc267f3346dd7a73424e35606ef0fc04eb9","signature":"d1caf598b76a5d9cb02c68f802fccbe10bafe10d88cb6c0b78350e1b63f44ba9"},{"version":"f8bd8ba1c9d155a5a5543a28f8b483a2a66718ed4320402a5a4c4441628ca0c6","signature":"c8a4562bddad01f6b4ee9cd9b4efcb37093429f49b211314f69218b4e4fd4191"},{"version":"12f01407b6072b7e3a195c5c8e6148a2ac2bb0b355e78c6c5aa6284d99c4fa11","signature":"73dcef7405b59cce04dfcb6f53f903273fcd42fd9a7bd2fe68189dffd5ffedb3"},{"version":"e79eab381e519df4a338ac92944482de36fbd094b1ca674b8934bc55c92b25b2","signature":"78fd9f116c4a198c60620ad7374fbf67fdc41baa66b8da57db3b80cb6b23098a"},{"version":"acb0f18b8895dc2544741426df1c542d8441deea13b0fa5445d83a423dfcc4de","signature":"8483914db284e07599e4fe920f9b5ae7450f8ea5617bae006eb4e201bfacbba5"},{"version":"a50db966163020665ec8a68d0ecd79d8a9fb0d059c0f4d25ba53bdcd7e43cd75","signature":"d406c57bf0c60a88a4cddaf0944ed69a7554658e068fb62559e2d823f9255236"},{"version":"5880d909fcd7aa478c019c0916f68012f10427b2d90d203a9060517bb9ce4de5","signature":"109a47009ff1ea87255fbb9bd75f5f3a918ac7ab44ed123b521028f580aff53b"},{"version":"707a9214ca48e106978cf001b80c3f53e77ce04dd6b447dbc0b9c3b53faea3e0","signature":"8146af3e7bf09f628b043910cfa6b72b86f8109aa7b06167b9eb51a3f0a75da4"},{"version":"d97193507f74ca55d696adf4c7bf4dcaa581cc38da8993320385450a4837b988","signature":"5e25c87cc967b7bcd7949f75916a6757b59aada3685fddd966093696c85163b1"},{"version":"b7426a25a7942fd04027ef39d6e57d3652de5850a59c04b7a3b74ad2f335db99","signature":"ed09ce0bd7cf961caa2bbaa0265743b1a22acb59fe82fc227698550a7f0b1e14"},{"version":"d7e15183b1073666220cad96a18914084528dc05dc1e2af175c863afa3023e07","signature":"7afb481364c9e976ea5c55b9b02006f2496e68cc009eedc57f38264121a77836"},{"version":"b56e4b6d8d241dc9428b20e7be5d13487de4d263c5999f91d547983fffd8bed9","signature":"91ee1b220ead097d3cc5b596db9be622f0dccd9c05e4f4cf069f2e1db077511a"},{"version":"c5391ca708a239529f9f132919def5d73d4cd67786f87536da7e539d247bf149","signature":"44248c8a13f35779d07d3168c64fe9a1040ea2e66bfc4ff92567095c5b243e55"},{"version":"7fd84794a97f879f03f3067cc042ac622063d821e7b60b27100ce300bc65d833","signature":"78361a8f013fc8aea9c04034475febbc49998b63c3fe09f56dacba1e1c73f8fe"},{"version":"eaae5968ffd536215d143ee0c4a295cc4ab730c6306c0ff39da500a259fffe48","signature":"11fa086538a611fe1a99a34d1378e2579a4de6eac405ad7fb9eeaa51836977c0"},{"version":"169d8b256bea5a05efb2049b4bf5b8d916d986a97fe9000ad3af60c1804deb62","signature":"6840721f787baca46b15289facff041cf00967e6d746b6e2fcf657881b6e6c5d"},{"version":"0ad029b491ecca9c3bc7994015f376562f9fe7196e2c7815a7e7914545fcdb65","signature":"87d3a353f4a5033a14c02bebecb39e225f521c82a998c294c33481b9c5198271"},{"version":"505f10cf78d9caaf7df503e3c495055785de4c93e0286843574106d787d9f97a","signature":"4929cd61e267755bf505ff0a66adda55af5d318b84798ab1b46ead808203bc59"},{"version":"cb431697c9e94cf9faf8cb15dc79c36f21d951f2ae68a6cfa106b93edc373044","signature":"d21e563fc29f32dab8756bf5797d4c39b98ff0828fe02f8b766a8cd0f2130729"},{"version":"3c5a7c91728aa49db1d5eadc0e9f0d724dbb50b01ac203b8c577781846962d23","signature":"b524e9c8c9572a85e539e60885e7cd27a4a3734d72040582434a25e486702df4"},{"version":"c5e33bc47d97c9161f3cf286f89238e4097589e4dc86632a8a575135353883d7","signature":"bc3dc9e5cb7a7493571d35b9b2fa5a1f39cc7ad76f998ad62e7a98b56fb8df6c"},{"version":"a422e96804615648c7cfcaf2e23d5353ce5dbd305ef5f5467c7fff7ab39f5bdf","signature":"063c721b1237aa52f454a374210ba793cc38a5267af12e5f937c7f36bb33b6c6"},{"version":"0ef1d6c0063b12f4dea951dc976267bd8e11aca63fddb3aa10213ebd2abedf04","signature":"3e0b6c4d0b2d1c058853b3054d0ca2f00a36d93b462a4cbc97e0e20de4917691"},{"version":"a1d10e7fa181933ae7eeb34361f76d99ad2872cf6da8542528df84e4311da86d","signature":"de0b7ec69d1de3d88340668f43c9b8ef7086f96671d741ffb16d82ef844fc18e"},{"version":"db4c881c4d0036d8676e76f60ff17c6fcf240dbea3e48b5961e17d9a3b73831c","signature":"a2885e55e65c47dde0e39e7dbe3f9d931149d439b3b3c2a4480ae20b609bdc83"},{"version":"938a30c9758bf74e9cc7471ce79996502c99446ad8c1c06d1c86634584ba939f","signature":"3d577b57ecd8ee26a71f8dcaa01d354301d4155aa8fc228210f7980278d5a40e"},{"version":"c82897568bbe3658edfc608ed84b0615593c444b3dfe66fb884fe1f6f9ea0254","signature":"71ed8f0856c314b1c9270b9feb94da47f13e458a6b7041e75ea43a5a48e6d8e7"},{"version":"163c58b665bd8dd47661e39af68de9f625b3fdfe912b4d3dfb9eb55012a6ab92","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"cc1c0d6d5a958523960410c45f1e15874e8d8091120d3d7ef90f6d510b00438f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"47670cf66cb61194eb75ce6154b416f839364bced965df413b466ddfd00d099e","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"e4446e6fb84112ca5eb1da220fa4a2b59fc834a162499e81e1f016a9f3e64707","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"20fdd22451018bcdf123b42bcf8f3607b54ec5bfc1a40ce6f3aa195114fee50d","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"77aa32ef7822978656a1cf7a8955056e16072d0b6b3c71c8fe81998678532695","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c2bd3da8d18b5839c651f5dfffc391a3f583de5e4a3d7f856d908a60f47b04ba","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c840fa95d2134e19a21130e67e75c7d75715d95f35921d62b1d50262d7e34cf0","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"28e48ac60dcc1bacd1d2ff442848e81673dc6e93012853ca87f3ab0784ec1ab6","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"19f9e9dd7641c80df2f21391d85a5aeee1d5d729dcb599f89034977bedc50b3a","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c8bb1a6ad7f07b0c3af284d80c5b76724ec9b6c2dbc1720d1af4018b571cabe7","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"a5585e289b764f82b17802e044380f2f72b584c02f0a9e5e5f9994fa14079179","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"fc40f72f1c03ad660c6ad52cc2ec092594bd05e49bc5c960a4b0d30620dc55c7","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"968339f16a5177a5ee35cf9b77108d92938ec1da02bd41e361585030b4f00da4","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"bdcb2c9e692ee3ee605a7704fdb479fa10ef6d4271ff6b9ff995d355d40e2206","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"044ad589837559611012aad8bd6a946acdc485aef131a351c8a01c1bcfad9db4","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"53a1989193c0f9f558c62b7eee59b3ecf57cc7c3bea2fdd469ed4fa2aafeb0fe","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"5af67615072b85cf169a9b15a5bc2f54f874f32ff594fc80135b0229d46ed148","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c2b3d3b1134cd416e62ad730ba82293706888320b0ab860aa34a61c02aa48789","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"eef952dea22ec228c085f41b939f8824d7a8a9d5d53edf570d0fd162be862e8b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"41c362e66d4ade6b4727a2d3dcf1a3249ab336e6812cd51cad747284736a3610","signature":"d257d8bae8cfbd36ea0ea1c5333150f5b290f7fdc60c41083a81153a4ca4cbbb"},{"version":"c83c8f01896aed99315ae67c6fb0a5c948bada628c8f7b19665a228711c2d340","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"03c10706dc050b16e0ab8f3c5adde2d44fd9c4510394ded88c1254b29614bcf4","signature":"a257a955f81d30464899ba91ac6e7caa9c165d10f49b0e06bc9cae4cdad3bafd"},{"version":"14b18c1e8cf5b7d1f6209fec9b448effce1cb2b878b6f9a818fe26276a315778","signature":"cce85e3b51a75019f9eba99a92879e5f990efeffcaa2706e38b8d56d9efd0a0a"},{"version":"0fc0b0f4d12ca9e700c29966067ae7625216994587ef69f173c56df4e531e166","signature":"a8dd6879adaddc6d84af4fff927c3da912e5c65198c208823a713fb268cfb047"},{"version":"9d2e9036f50ec7b8066dc9536bd50a76f1a2e503c4fa7ee1c92725b694600d94","signature":"4f2f07fd2750e73d86f4763ee55f0ba88d59585ca882aac5cf6b5218af52a735"},{"version":"6f13ff7ba32304eb4b4bd18abf9374b3b25a49146bb8b4b2ad801712dc384708","signature":"c1f55fce6df97a3f32d64e8e2b485c90ede6b9b6feadd640a3c16bb6329c192e"},{"version":"cf6a54f50ebe9b1fa179e3ae972e17bb5132bc1dddc612dfc2d868ca309999d5","signature":"619b2bf107c7c61e145876687ac47175b223d7cbbe8414b8d1ab5186064bd02f"},{"version":"6b3d4163477739b98bbda0e3722c1df15427f4fcdbcc044d4ae093622fc07691","signature":"0e81f3c44d6d754411d9b3fda7802a8c6c9567fcc7298542fafd23d879519d12"},{"version":"c4af4eaa49b5afdd70def3eb9ee71b509fa90dec11ea33591f7a1b1822400fd1","signature":"ba31eeb48994cf91f0acacad869ecb708d6840d7a8df864ecb86522256949502"},"920205f073d9e7a7cec8b42adeda1b66e3287253232703d75676ae0ee280ce5b",{"version":"8e209754fc98efbd0db41c1da78eb4f46d55d6da176ad9c6988b5947c02ea59c","signature":"34bad0db72824bba1a3419664c94ebe765c196975aca12cc24a7bf309f3fd68c"},{"version":"0bd708369bc7263c061b5ad5ae31194cc55010bb069d87ece21a0d54d2ec4e73","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"cc0c38dbb4436cef6d4ad0462c0b9230363a23303589e36042685c1132f33696","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"9a999f9be568ad3a72ecf729bcd348b4bcee26719790f21290a16b5bc7dfe839","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"fb37ccdae5fa6b7325f5aaf5d1b28caaea4c148957839827fc5b1f7ab2b2e2d1","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"177cba3134e2dee9afd65d1d508127f10141c81769cef693f3493e5f691892b3","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"b54e6b18ed48a74d2d6129ca2ddda0aff1c30d2c46e7640113d2fe6669a5974f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ab95e9dce490b100c486fcc8da962a6155125f7f98f2b8fe34e53e68cea378f8","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"6b34a6f3217920c7cab89d81ea67dc64b48ebca1b4fe06e38852af49ea78068b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"8a354ab401139f416005ba61675a503152089ecad7ac237da3d508779c29957b","signature":"b30c66f8aeae088710859fc3c16836dedd29bdc025e7304fc50dce105b9c04e6"},{"version":"76b797eb5bc8fe7158378f9ae1a16f98a76f4963b2a6eb40e1afce5f7574dc6f","signature":"f665a621665bf4b9ac13011827bc5cd5cb272d0adc1cf91afe269a599e6be31d"},{"version":"32b69c9d97c045cde841e4cc73b29d8a79076b995f19dacd96d0525a1c46a35d","signature":"6f3369ea3292063709715ccdc83ccf6bed46b409fbde2ac5c8b23bd5ca192401"},{"version":"fdc0244b111f72144b4b5ffeb4be73d77985a2c9839d87630366739702a7d069","signature":"0d7b280414b0cb316adfab6c3609f4d3b0c34aa5f942a74f5d0b330aee061cbc"},{"version":"2c7d3b8e7fac27fcfcce5e3b5a0043f58baf786e20e951be19087e05956faf52","signature":"6bf95bd5997a54eacb05169d05e4a3ac009a2ee4b1202cf0e609c84e711d28cd"},{"version":"feec6c48848e9e9fd2cc1dce253451511a02574223035461557a4bb97f173c2d","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"213c42f7d5367619fc1f7a022520c0cfaf8828c3dd910d8abb68b229c44f97ed","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"fe4805a16fec6d9ceaa3834ce1ab4d8d3ec80c3c41ad093c2d09e7d7a00fe81b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ebc3418849ce69c3e4935c9c8ae98abd05c1bda372d9ad08cd259635d6bcf475","signature":"4a68e8778087ddeb83520b7ed367b8e7a5413545211f1c12181b036b98b46972"},{"version":"29775ef79bb6d19d569a24c59922476271b093a1afffb1678254d66e938e6980","signature":"1a01f741b2cf1e9d7d9a1bef2e8547b013e1ad3bcc8fbcfe1389c9eece787977"},{"version":"9e44fa125a873ec1319bf8efe11fc6c79ea5d692b7fb5d628f79bbb14dc03e0a","signature":"edc9cbb7eb4f1ec26911e7cdfb0673eb04ab03be7a74654ca4b68935792dfde8"},{"version":"bbffefcf2d2194e3c9cae686f981935765cee13a5f390c97363fed32cad90d63","signature":"c10afa01e312d1ec1d2e455117340bd869610913a3ddee3e1903060237b2d330"},{"version":"57771e45f6bcbfb36dac19742e8984372065cb0ca9d5339ea982668171da36f1","signature":"8f0537d31f337710a710ca9da779d9fbe37da09f82a2bccb3159ce054a303771"},{"version":"754e504a4f7e802cc110ec7cfab158438903677b6d1e5320e3d06b4215f42d7c","signature":"f50252519f170601d78c919fbbcc6aba2864e344ef66c8dbae519080a9ab6763"},{"version":"a3e35d26f2d2ba764a55bf9af3fb0c22806c238a222679a83b40c838c30c7499","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"4d1729c06dd03ddd24e92985fec6aa5863373fdce658884e07eb4827df021f67","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"b80c68e22c6ef3a8c82b3e48dece693fd7b4e628542ac28b02dff88b31385882","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"22f5bdac2994c065f821a3c19074445873b02b4c89c5c4d26f95fb7319bd7298","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"da3a4a4651c78a13301492b76a30f6b89aff6919a14ce20dc48fab5473b99bd0","signature":"b9e301a99266862c3a04eac2c53d225b50d31203c93c570bb44b51e6df966f6f"},{"version":"516af411d9621dcbf6547314236500360c2076b4b2fc61a593b09bebe1ba6e1a","signature":"9e21029095d6b935b82ef9e8dabc88e552da4446f8551bb8e66bb608e221e7ee"},{"version":"9ffd818baa22a5a4a3494bda2daf646849c2635ad622ea25e34f4ee2c9a8f400","signature":"f1223da6f0fc1fca4ad9ae12e3c41227b7da0de5f55b38d9b871f3c651464039"},{"version":"3efe902a8539920b21bd44d2d0bed08ef8a95d3c4601ede6848a192af8563536","signature":"651a00540b7a7805a8de79cc6972dede798970c3b718c8374be90813037437cb"},{"version":"0bbcbcd6dd929d9dad0cf660bb39c2c578888071f5a7d80db51857ebc1c57923","signature":"9205ed03aeab041ae8db74ab3df06c747ba006d4bf2ec67df0fe59daa1a87d56"},{"version":"aeb1cd589aa4629817e8b0b6c87c132d36daab3bcec6cc0ed3d23968fd9126cd","signature":"7199bac5eac9213b52fe3a6d9481a0d20ab76d2bb99cbdafaf6ead4e5914e7a1"},{"version":"001ec942abc451470202c4baf55abb69d0ba41c1e6f4cbcf39aee73608dc16d7","signature":"c685b52193d4c3022b8210703605d2b21a467ae9387aa15a8d9940785400fbde"},{"version":"1ff67eb52f40826c7d5512f924be11f6bec373c92896df0df557a13a8658f693","signature":"9d0fecb8068df90d9ab52aad97173c385ff2a17baf50297fc75cc31b3938c945"},{"version":"7025dad7d78fd9ad96f064ff669d353f930ddddbb39aa3c4984144fc6760118a","signature":"7d3b48b39ec46eacc882956538307aeec6db56edc31f31be7d6289ec2c92a385"},{"version":"8a9404494ea982c2bff41003f8de1daf258f83a54e917a6df73e6a6201862cbd","signature":"c93a0c999b510d141f69facbcc4d763280501bfbf78b8f1cdc4270af272d805d"},{"version":"b1f167490ed130cf9c920ee60fb21e9dd2ea9e601e9567e457f609a61f2f062d","signature":"96ac0d54822a7637a651aad1726587e96e5adeb6fd3e92f04e0c957313aaa83d"},{"version":"786aa97ed22b1c1aadb445ee997a12785c863377f4dd4a45365a1a90e1bdfe98","signature":"3d8b96ad1cab0524e81ed5283ba02e42100191203cd7f5e1280500f36a9abfc4"},{"version":"01f31174c59202f69635b2957a7a556a01c2ea194906befae45997b6d3c470b2","signature":"12f9e010df1bc3628cdb97e06e5b41a3bd149a6b61eb4ed5d9eab248bf5e2b67"},{"version":"6abbb171efa9fad3d88c9320ec5eccb199b726f832482379414fd55bdd485a66","signature":"f9fbed20734c2279dbee3f4186691fe847ff186337649bdccf7de42363d02022"},{"version":"08bcfa6546d768789b5134c6344f18ae851abd4513e3431e91b5e955f07d7eb9","signature":"90e7eec60d281be24fac0f9230a9c60c67de9d04a915ad11aadac11ea2715da3"},{"version":"d9bfe44b7126fd3ce4741db90af68d24cf8a56104826770276ee19f133496d37","signature":"3bc6339203e14955ed7d1f9bed916418c12a6a692d269a609b3a33dc4a863951"},{"version":"ae6be9a07e940a6f4b0743220077f33259542ae908744ab349a1a70d22f723f5","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"70442efc456b60235ae408e157a6f0caa8ceacfac13f5af9d27265a6a3f57dc8","signature":"926011fd4f1072faf06ef6de9b938f68b655974be67f2ea7cd63d5ee58d69338"},{"version":"31409dc7d6946f1566b501934ee84e4d61916cb6893791c2da2731b12ef24b89","signature":"cb9d2bede0762fcbf1f1f6e59445d5671d08ddfd920f8ea01612d81b3a4384e1"},{"version":"36c6b6a3bbee15a10e445a9aad4f1287d7d1039b6b58224a01524fc62446e533","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"11fe25d3baf912c908f4a63d2e05da668fd9a9838f258130cca57cc5be4744d2","signature":"3c7233fe8f8bb2292a9100dc596c64a103235700d7d34096d5db17ec0cb9cb9e"},{"version":"ebaecc11e0bd3f3451f11514cc0ca76bb2c763d10240b59cb187e587b9e01f66","signature":"a406bd45d11ccf4449bed75df91936ec197ad7de0facd342bb0ac55597dd7cb4"},{"version":"035e2335298c2061e077d0ce080b69b4047792fb02338310ac848c334c590b5e","signature":"823c47cdde5eb643974b725bbfada0576890962d21434906d18ce26b06bd9544"},{"version":"635713a99868407271583323a9aaca2958b2abe2ddd43d7f2ea987160f6ff89f","signature":"866bc33412b93d1a44a41d1a8ee37e688082c1979b4dafc2ef88edc53a7a999d"},{"version":"7c3c3e194f59da1a744d6d5c1090d144769d025c068b2f84524dbae0fd481d97","signature":"5fc8fcce3719297a5a3c0d9b41aea6db99a3fc963c76fac983b32894e6694193"},{"version":"fb888ca2d1491a87202204b095f2816e2e8041f8a0dc67718d21e3e963afeaf2","signature":"f6eb9961bbb1fc5507f52b8081d6e82eb3ef5eab264a5d926518296dc4244127"},{"version":"1d34e8a8581252ad585019e14595e44c1100a88d1b586cafedf89153b71177e5","signature":"a0a545639911994ff57683e710206d749c7d92037f30c37ab2cc070178a7fc3d"},{"version":"63b2318993b6e0dcf67bc21cc8aa94e41c7de4936bc0d33feed3828d589d33ac","signature":"1184cd7ebecbdb9ed966cea0f626822a3247878fe0a83dee49e89b0f89a92973"},{"version":"454b346ab7c6e6fea1963daa8abc997bf20a61e172018cc3fb4f3da99adc3ec1","signature":"29c3c744e646ac31f51cb4ae4b0cf912d8d251972c6a958b100df797025a94ac"},{"version":"fc357aeb6dafb0b0088062750d702118459f2385d31434c8ce94ed1c1e7914be","signature":"995cd4a56687721b9ebcde8c6499921201e7bdae56f437f08f6a2ec2b1e1ca0a"},{"version":"6ba0e711d73e317b739a4b0b083a109fc3fd294985c81e7f3c284ce4bc6427d4","signature":"08470625f34c0ff0200976ad34ce7d65a1fc9286f8b8a884e0553e19a4662610"},{"version":"bdbdf92aecef77ec1ce77d842bad71821d8c11bb84335c99cbab6e6519885583","signature":"d507737f7aa3a9dc2f94c67379888cd7e1e6ee3c96ca265ed0dea283869e2642"},{"version":"d0fe1ed7c0dd615759a54d56c376d3e35e52b3bd379af121ae83633550e1b445","signature":"155a0ce1ae5dea70b7c62b88bad1d252f860edbe6973cfb381851ae84fbc57b0"},{"version":"f46250a3d3cd3bd34994208caa7d245088a529540bdf459e7225f4752509085b","signature":"4c117079aad8524348f5b782625f9663c24202732204ab321cc56f0913c99318"},{"version":"2fc8086bb1e429d2786b7d38419c2dd195328c42631f4c03800ba8b7d691fc6a","signature":"55853877ee77b90e1a143d58d14c4f5c2003b54d251cc9ef4c809f8ecbd4aa1d"},{"version":"d68e4544ac349d3775adff756e88da503e34879d7993769da9b7c93f90f3a1ef","signature":"3b65f98cd92e0cddcfa1ed665b6b2d2ab06584d87079d3ca16d473c24009b2bb"},{"version":"c15e4b4deaf1fb4877793b7cf7d89f6254a54419ce5357ef98a2f800c97825c4","signature":"0a6956cb83f672f2aaf173e306a81c48ef904b9444d51c28c5d07a7a90321840"},{"version":"df70517f2532151afcebc39b9984bfa3c5ee4677c6e9938df86d17dcbe6a8222","signature":"c55b5dd40b4e4244911fb70bec24eab327488b4b6414513f29d5c0d4669d8399"},{"version":"b6bcd22d528966ac3b3226ce4368fa2548b9d27086496f200acb6778b4be9e37","signature":"67c1fa6b68da9af0b53802564e5571e32e74faebcad03bee79ddba76534c2c28"},{"version":"c5dd07118defee6b0126f06b654506b726f4c3ee059fd5373f474c2364f0002a","signature":"a7d6ad6e9eb8f49ed5a46f2764a8fba42de8ef651c256c04a16abc78d4b787b5"},{"version":"d99e261147a8ca0295f772e82edaae16711db8d30e2511b98c59131f6583c216","signature":"46c0c755480b2e33e77428563ef84a0fa949e17e287c83baed1c53d6e9fa9014"},{"version":"caa900f1d326dfd6bc47d123e685680bcc21d4462bcda44c92ca7cb4318efcbe","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"80f6f4419b10ac52e19081d625d5c87e296a4911d9079bc92b46eb68f39dcd94","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"963e29c03860a04f42f2ca7723bf2f6c8aabcce3c2aed54a011716e20c1d65df","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"3571219af6edabae2c952146660e1734804bad8169857f4b8ebe6433463ec3a2","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"5f610e2b5a184bf4fa504123d543d6c34a35afa82f6a58cde23d70942c8d77d9","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"b6a64100f55b037a2788401e6a59d3850ce656c85f3e4a0a8eaf66a750c6ed0d","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"f371e54f31a872850cd31df8f6580dd22e8a08a6ae55fbc1647fb650384550f6","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"16ed5d4e6d9bf022f732e27adf9081604d593b3ec37e9c7a2094c67d115d6e51","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ba2e7bb3085f0acf77f6e173b0318d0db592580a32aed9c1d9a4bee49693996c","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"dc529f36460fcb82d608cbf7dfca17bf60caa2efcfa2ffc62dae265cf1eedc81","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"0cded9960cabc4a947c3bf0036b1e4cb71f157413ff8ff3955b38e1f1ea3a310","signature":"4eadc8f12f74708d36f7a73dbd6a4dba984b83f96a8c0875a27b54e88331c516"},{"version":"7dafd83200a4776fbc6fd2bbda38b6bf4743cd754535adc2d0ac4a5cae258aca","signature":"bb8f5c8174b21b9b1a9d318205301ddeec2d0cf85ba3a7cd68ca9bfa0517f36a"},{"version":"b3f296dacd56947df11418f474b12eb09c180449cc833fbbb203c13e657b96bb","signature":"35f2abe6c86b8ee3741319a9d7a8c3eb0230e9b42f7bd7d543db7a94dc4e9051"},{"version":"8ca12e1da31b750904a7e9c542da66d01d735bbe9b798bcfbf9753bc9451aa66","signature":"74a54bff2e7775037930699111384bbb5d74f4de57c1359b5880f0f86182f56e"},{"version":"4e64be35164e01cacc75bdc277a3412e76636435de76c0b193b3f3c5d4290d48","signature":"feb2d5fdc50e327f8560baa4feed95edc4e786e9b164d7718d7857a96f27fd15"},{"version":"90faa6c0944d21ee0222ae9b66b39c9f18e1225f9acaf9c4b83b1d4a43b26769","signature":"ca02a04122eca135259518c85da5210e6d924d9a19cac98e0f1cd55cd75efdaf"},{"version":"2d4000626b78819a6a26c46ab8fd01ea13296c078a8ac19ca144933e47826a28","signature":"45988a2c99eceb92797c0825e6351b563dc059cde42a94107c00c34530b64500"},{"version":"2bdab51bbfcea17d53fdf5cc1ed29d56e98a64a9f54f568dbaf327c25d2677b0","signature":"cd09cb9b335e1a378ede556e1a96dfd9fd412e9caa02bf73cc09d256252beb47"},"1cf312f6363cab7b3a2e6c67480fa5a5924eb6488bb43b766244327a6ab75db3",{"version":"dcbd3305da0fa9f9bfa2b6775179a16b18185d820810dd243be17ca852b7bd99","signature":"7837dd9c018c571283ac6e26b11fd830ca92edacdfde40f0dbf8ad4e9643b736"},{"version":"da3e0ab10454bff69d784689a6017755f62f51f9270bc5ca33a780d8f1effed6","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ab5b2fe21848a9ebf39408f8e5faa4a3fcce9eb6580fe9b2919990f573f70591","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"3370266542d151b96946fe6b140f046a0f1c98a99c2ee2f74b9c7f8e6c7c56a5","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"402e78c9fc8f2d232f0ba377e70c2ebba520dfde76cdf4cf3d71e28515c8f33c","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"9279672d35d72514a5d65cb870ae38fc12b87f6e814f1c8f60769021d49629be","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"77d640a224467919d1eaecefed3e3bddbcdd6ed34ae045f4c6c879b03ea8552c","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"35751d934bda8baf8801ff32ba94d394350eabdfaede494dd1651a99cace6f90","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"6e9a6151390e4f86224464e69c92b3caf0f5af8dfc53cc5c93abbabf638a2592","signature":"570c73d45cc72509d98f043168119c5ad36e6b716e2441189f8f875b78b7d309"},{"version":"83d32bb6c68c36dc2c27d16caf470e429254d3de8c5c8f9ef91134d33299aae5","signature":"59ee2a3667021f2c7ed7061717eb0e9c7f8b0a4abccd93a8aade0900766e5e91"},{"version":"bacdd6d5210d35dc960527ea72f595feb0bf54996c092239a22b1e443f419a00","signature":"8edda68fc04a498391fe3e3d486b469c92b2e4afcbdd0b4a5a8bfe78cff9be0b"},{"version":"d20bc868c24a8011918f48befcdbda419b1a376b4c23fe2acac1add9ff87fd2d","signature":"8490537159f5b3a3fd14f628b32e977a351e70a3bd09b890fae5616aaf894cca"},{"version":"68644ec645837f18a23be76bb3f4a66f5812bb9c347e23f6c25fe93e7ce8d7c9","signature":"cf65707352be96547e90a932227cfc57bb9a3a71bccc6659328bd161ebffc36a"},{"version":"da32021153f02500c6077e4901e48fe1e520ea957827eddfc3947ca678a996bd","signature":"a476746c1a3430e74dc7d6764252eb4efaab3f931bb8ed285d82185b2efb30ba"},{"version":"ae3c82b6b88fe1315f8e92eb498df792923d5da97e77376a8e6434ac660bbc62","signature":"a5b40c328c53179858f4850879d0e77ea5f554c6076eb084c7a077ba81adfbf3"},{"version":"5d1a09f5ab37a76ea0dbcc20cd08dd4dc224e263389aeac1c61ff592cc825690","signature":"8e81241cc6e2de102991340c8878879924b204883de36540bb6d9c3931611147"},{"version":"d89ff4c66bb8ce9ecce1e47d62c2a11000e5cb57d27604af1ee22374cc7d6a32","signature":"eb07f404debd5b6bdaa86469be47c6b2a1e1ebe7c4d263730ba3fb4b32cf85df"},{"version":"a91ecb0e8b32764227ba6fb973966765456e75b4cc5c9f96e943a4c9fbed9da8","signature":"2a346de3340c2b612e54eaf8f283d10e06620b02d5ad511a26faa5178f473b06"},{"version":"6a52477ffa08adc8d4bd84879ac20a5436f46333996cde7ca4a2e53e4e2f1776","signature":"b07b68f5938a55bf423545b75b3a448653410a1b1a09533ed9b00bfdd4c0ed64"},{"version":"fdfee9e401a2707036f47501a7759d3e3d9ef181ee6efda7a9cc9539c17e8638","signature":"8ff5a0f7789ee8905d1a2adf9d42d40fe416c23bbc81957875906d660485a78a"},{"version":"c2932a793359f3b09586284f89843b49ba29859791693df7e3713f5c169ada20","signature":"a13db128a389010a8c44cc19ca53aee045a3f3309a1cf4468ab110962054254a"},{"version":"c11954f6c73d0bfdcafe0036d47648d71e8ca4f1a70b1ae88c815a703fa9ab80","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"fc9adafb376ae31c4ea9501ef266f0faaf29de7d76aefde50ec9c6ceb67655fe","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"af03f35fd7d1a7a1b59e8fefab3d87aa8fc45501cde4d5f42657a0af2dbd3b85","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"765ccc4e3f7042c4bf9a0288838c93f3841d85e2c3fd10e15a17ef5da7e348a3","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"bc705423f5e581231d5ab8472659fb37060aa3ade1a052f301ccfaa5eb836748","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"23f751ecd2c2b9ce4449c843400093a3359bd77b541c50c815b3f3bb234ddbcc","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c1f283a5f8e29c8def3e16de0233029b469cb0c493d586c737e4d9c373e7cffa","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"301400d715a0763a26cde374da3440a1d4269254f6438f90f63b92e2ecb904f0","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"566e62da419b55e2c0504baa8b1e36b7af570e68ff1efecd7db3fdbd67d75984","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"f00ab38948981d4a7ee14b6d84a96edc3d50d3ac4412e4fa879210a4f34d251b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"7fdf1eb6c97f1f98cc7cbbc310c8ed4ac840346236053e0453ba33a58b141735","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ff310bdb1d2c5121653e826dd2e72cd137c909bb92fbbcaa12d612e6008eca9d","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ca5e466b1cd54a780167ecb1b23e6be6ebb99ccd3e500bdb6909343f4eb08e70","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"86bebba5823cd4c0c8c264ab1e5ca89532125029e01b3701365d7c8b57ff7b03","signature":"80e816ce6ab347f332104a3b4295fcd234484a8c0f78af931f6f679bc819854c"},{"version":"15c6a3bcc2ccaba6a79ea23cc968005bd86ae7c98e1851abbddacda91561027f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ba697cec2494efd4491a9b92cf45a2b453b381938429db999e6b0ad8eb91b607","signature":"462de0ebec39f4608d311ce5efe2f7996417ee2ba050330f9589541e27badc9a"},{"version":"3b9f374fb01fb21e7d3dc1ac1bda5a6ca485e8a42d80c5857c0a907fb1d56d9e","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"4056fa415788fb428681ff6d118600c813bae18a8939c0997e3a3a0eebbd462b","signature":"27c8473ae6d0631063de4e25ab27c0203e687c741721337d833ee7a8d114d9ec"},{"version":"701d18960c7fdb3d53f81c7081a871759da5846297845a6df470e448c1ee46ff","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"178b68ad3da8447deb3fa36b903515c68a878693390dce2c3c51887138a4d358","signature":"d80742a6a41d9f569db06f2a6f1ce341e38a8023e1f172dfc596ebf59b320d89"},{"version":"2fe04834987c803287fedee95429f29ed93194477634301a80acea18732b0584","signature":"c8cea0f80c3f03c528c1ee5bcd4584ac807b414b573259bc90cd3787ca4645b5"},{"version":"64e96839e33ffc472581904d3d5f5101ea95a39fdac17d42bf3b8080ed452416","signature":"4ad6c2671041ef9cb7425418a493fca3c8b38243087e4533aeae67d0a9da5616"},{"version":"c632abd896e5fc858119334bc27fe15d828dd2ecb2efa72b19ade831564e4a56","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ad56f09ec02b513928021933ba8ccb5322184a5f145211adbb54bec8ab7c939e","signature":"02d62b21f2b1b3ae90d6f4c2a2177c849c94a135893850b697a16146152533b6"},{"version":"4d9ac1ae59eaa55088de16aa37191db82e512889ea2e3475c923acb0fb5dd1ec","signature":"e6ec51d846f163b420d420782dd42e40aee266aeff314d141b11a0307a86fe09"},{"version":"2b207ad5750863999cb3b248b98e29d8cf15b832e77bee46c23dd5c712094bcc","signature":"8494e8d1afa0d76f70eea09873120b790df6fe7b084458941c2ce07b55155b33"},{"version":"8a5547b3ef575d99d9981c3f2cec446e2b348ed27d728e3758ce04518afe2236","signature":"418948af8b278bd71d186eb1cd3e77e0692f5d950fb4f486a805fcbfe934e4f6"},{"version":"04aa306d9eee3d2db5ee5663ba1503459ebf0895272569c8b85b9ac10947c453","signature":"cc3d19271e62bf36470c804f2a3933c7c01f9b8829ddc817019aac91c9c48f10"},{"version":"4219b873be82b7bea21e2c107b5a377780307fb4ff00dc949d086f13a2f0866b","signature":"601cada99cb9e63907c25fd87b7b09b2b53adc289c10c801b093431bee2826f6"},{"version":"a2709ecb4b779ee385bdfbe5ca4d5d7d6a77527d0d7cab0d286f18d935e8b4f8","signature":"79ebf04474cb0d7a058c41fb366280437bd079dd47f2138ec94f3918daa05ae3"},{"version":"3b40021cf5c4b492aa5cd8fa0871ab438f0da413ca344de421849513e4332ba7","signature":"ba994537d2ab9e6ef4ac8ffc86dc36ba2b9fdd034a5725d1986d97759876b755"},{"version":"9a6a75a9d4cbcfe725e96855f3af3803559790aa6b7e48a6314be4497e3aeb8c","signature":"b05b871bd13173d03b8a6ccfd9d1d187d6f612bf672f565eff21e0da7055aa3d"},{"version":"579925bdfaa8ffdf328f0aaf7a2b98a43acd6c7e56f4902c31f81cb93597fb98","signature":"4478ca9bdbf267e8ba293c55d26d03b720b9006964a13d4ee05afbed4509335e"},{"version":"f749d4843e5fa4533b0e8bae2784314231b4404e332e8d56abc2692272965212","signature":"46c0c755480b2e33e77428563ef84a0fa949e17e287c83baed1c53d6e9fa9014"},{"version":"71c8ad895db3c65dfbefa63d75e779b2ce821e8badb100fdcdc6bc241f2f4544","signature":"01fedc4512be58611b781ddf06d6575cce9825bb18f1492ddc0b7174273b8f31"},{"version":"25ff64eed6d319715fece8d041173a27719a7616837f57626e812d1ec3c6faa1","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"4e66ff6829096c09cab4b63dd3b1963525319b75bc885f40a82980d024253c88","signature":"9ba498bea3aed8b2794b31437cf2cc47c2e1e500cd72521b38dd4e8a772d2459"},{"version":"90b2c1b62ad1584dc7a33d91850fc92996bcaec77e8dd5f582c4906f6039a7cf","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"2006492de4323a0166b032c02a1f8f5f6433b5e9756bfde1d98f7902aad7643a","signature":"45b373ad2e114de335dd3eaf62f9658266d71c2f34537489f88f3b4815fa72f8"},{"version":"38dfac0e60c6379a3276ffe33739a19e2c81f3359a73f80370b7dbd615239da2","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"7ecfb0fe515e7462466e1fffddf551ab3cbbb0120b9c60d8b0882da1184d719b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"2d6e05af866b9a2fba0ca03edd8461339787f298085067eac7179ff66826fbf6","signature":"845a8c55efa3e6c366c3d4fe6aba5af60a822523d537e8a3930466b565b738a4"},{"version":"c7a40c6af045ffba5250fd4b2805c5e57e5f7ce518690f180c83b65018840f3a","signature":"cf231aee194a0a458e33d6b2a8017c04c869079c965b00b9d294016e5f331617"},{"version":"fa4fd1a6c106daad4d2048e50518a1707039d574d96f2282addc0157b2143b29","signature":"b59523722261669df66b7a54b3d8686823768c90c5a8a04fd1a7c0bc07064fb0"},{"version":"22c9076e33fb7efff1af1d8c1a9c3e38eb017a1a07e62d78b8b64ab33664f2d3","signature":"53e646710346887942688dfceeb46259c4d04547c3f4909366bf5a9e3ac41392"},{"version":"78baac76996d1d214302749ad18c6424d1952fc441004bc8b1ff78e16ae94f2a","signature":"e0fa0f834bef15145ff38c4f94b555e406815bff1d72c3cc4b911bed38024c17"},{"version":"a41f813b81e3ee6f2fe6051c05f77671ef035853004832795377479c61cbcb81","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"e374ce00606b66ae99a8dd321694504f11749fa9f407bcc445dd4eb6c6b3b5f4","signature":"6a2a0e9055a691ef8a292a143dd336005e96f4cfed93373adb6d1fb2f7d67cee"},{"version":"bc8339d6590cff26e515017178e6a430e53c0fe8f4f858355180bc22278a1bcb","signature":"0c25e09a2b6916bfd4fb6138feb16d394bfedda3d5fce6464478918e2f3a32ef"},{"version":"50a97612fd2557f947fff7bc53118552d9eeae0f349814c410151cc6dc305f81","signature":"b3deb4cfcdd96ff391f83c5cbe1f6880f7c11facf2ecf8e8c60983ba70664cbb"},{"version":"93b01da13427e2d00a8d73767869b61102d6ced5b8e6ef297006047e7a36b63a","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"4ed34dcbd916c8746407bbe31966464ba2a40992a7d3eafc7b89fe9487322e0f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"980ff563c04a7ee054838de6d5581a1c74f879aa573e49083b767661eb497b06","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"073d7d72dada0f47cf563f302854c2f4a56a0fbdb4ca0bb02878abb996b14c71","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"81f5e70b2efef928bafed1f1ed517b5f3d7dbe1bbae734620b1680b8cdd0bc66","signature":"31055f7d0532f460a1f2ec3229a6c990bfec524fb95332e3108bb50913d60c09"},{"version":"2f9876fe775220881f9a1dc662c4d45a1fc6c69dcbdf3394d4dfa7d38e7abf08","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"957c4489f92b096c32fbd8a1ff11729f1dbe37174d0e02792a253a195a2a8ba8","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"86c4fb8a79f66576d0dbe6189315842ca38029afe2c6ebe5b69d720ae7204d6d","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"23a5597b552c4fa9218e4ff75c6fde15c735a495a7eba796b21a28102ab16307","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"23fa3382c09d278365b7a211300808076300a0d16e6b7a7aceb22bbd6a5e2850","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"32890338fb3db8ba265d19c7192bfa9a11bc5ee4c15154a4db81a4ddf1c8b38a","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ebefa20d8e7844bf717e29dea823d72e0e3851abec67bd7442f18d5e1c929979","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"4cfb9e24d12ee634464b2e685f0e830f3871b28e0173cc89558416f194d49f73","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ef7f54e0c441529398e2666a264256395d244f143f2f97ce5737b8ba12f9dfb3","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"9a2f242d01ce2d89d7afdfd1fd83653b8d751731fe8484472e55caff6fca829c","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"dec2391eb73f6d626e7679f9c1a15a5a3939f799b408ee2ace519ebb16802d9a","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"6c8520dc79618d2ef97bd41bd2d9f9615e8d7c31289ad6ff40202de2520d8a0d","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"d7c9c2e7dc4c35e0a79a12add067b79cb96493da0593a7e063db435257c7ece0","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"125a82f0749289343dae5c1ebf6a992bd166e0eaf1c885f53cb8224734877a97","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ed8ce303eb9c07bea6cfa724060c049d83421b0a03c671040208438adcc1ddd0","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"bc2358aa66dfb3288e71f8568e09cbf493eb412a7ec67ffa33cdc24b0eac922a","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"71c4bc806bfef481e0a6ad07ad37d0be53ac5d8b0d19fb843e6a9549080dcefb","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"3e133c38d7312361e47e684f52022933865ca28b6d5d1bac3fa6e306c64e54e6","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"bf92a5c54601a670a6c8b9c02336b7a63a05b0cb9a05cf290d1cfaa95f28f284","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"e6160352cc574ab341489fcec7150515a9565817b60ab0a003d6c1444fca17b9","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"15601602390502326a32314bdea6c1331b340ccc19d41e82a71e69e7521f9b2d","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"feabcc3b9de397321d2fbbecfe8069975c10ca8f7d210bdb8fb1fb2ca06a2996","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"6b55ad93c7c4c1b77f78a46e1d78564d3dae464706a767f3d25ffa5e3dcec0cd","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ee249a2e5c93e9110ec235c1e89cfde32b81e509c667abb08fe9c1f2e324a810","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"8f33490c1ff132d5483cf4e1eb80e6e6495eeee76803ad9e0bf039c16f6214f0","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"9530414f935f2d4311ff2b25d6d8fe9b119e40eb052183336306fc8be3c84e88","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"1ec05ea95ea33b0711f491a431916c731d2791aa389add26b4b0ae1fae5de7b2","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"6ad131fba9f64b1c6efecc01403b93c63b294fca637e29d8d515eef286d78348","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"f69bf166c44feb49a246356afb2fe5b9ef6eef32567ba98fdef5572be707ed11","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"a376d7cc82fea71186921ef0f2779295f1ae28d8685f2dcf5aecebd6ed897e7a","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"0c9b5c4082f748ded869361cbb3f97d405998ff5512bff4ec98ea95213085ae9","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"b3f09f17c91d57b6a841936dd215929d1ddb25b6cc36e2d5af8c2ad22efaea57","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c61a278f15af8373e1c5dc59fcef735e0a67d0ec68e0bb39993cf421922d79f7","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"4ffba69cef9d354ab21efcc26daafa01e3426d6ce70629064bc121269544e2f0","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"7b62e0df27e53f8b9b32da0dcd5b818882e5952125b5d0e4fcf618cf2e3231d7","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"3ccafcfd1f83fa4242ada464cd0cce589e03570b8d32806ea0ee8f66bbc75ee4","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"83780a3b4577d40f2094e631b3929043444b0bb16097fcb8c7eca08dcb3c1427","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c0acf3d7f2a5d62332da4fc79bcf475ec142934b00b1b0c8bfd3893f64bd1c24","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"70adbc536de0f2152a13491e0c1e76777e59ea9abd4217cb54cc7084f8574cb9","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"d767afd9e2f82e7e899edc3775e1d86e5acb4c7e6268acfa95c551fc7c02d676","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"34a2803e9127b665802f3808b668a5474c0e95e2efa58720312bed19f4461187","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"f1669908a2919eaaca00a2d247943b171e70beedf9ebcc743ccf6572392a26c3","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c582809c6b259123d3e999f8fc54040732e9047ad51e968d35de9c9e7b23475f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c6c4b346b7396de0a88562c85f142a3e6c71f0f0c3a51d8956d9d3d656bece75","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"17428ad5e6272b4958e99bad33e44b2c65c554fc5a4511c5ca18f6ee88277296","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"443177f481983e2dc6ed086301cafca403fec7d0b5f97d65658b79b7b37e11a0","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"87525aac3b68b128ede1c21fe4f43b896ffb651c5507ec5bf554021789f0ec68","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"2b52485c59bb8f5f8ecebc36f9eebd5bb9e839006267e67f14f40bf57c21e545","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"6230518eb3bb41f00853f984b9208154c9180a11639ac532d115aa34daf08a4c","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"63e54be11fb7b740bfdeadd63e8f451830470fb4add677af84ca53813253f593","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"41222d3dac2c14b6a1f71e0b5105f2e3f860186aa3db1aff6ec4d95f833bf6ba","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"59d51e5e8361f7051ead0c29c8a03483e6929dbb6cefc3b77c2c497f2d895762","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"34bd75b6379933f0a0371170d95905d43f72c8a3a2ee431fba5129470947bc84","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"4ac0ebe63335c8cf5fd698cefa7904ccccca2f9e5d27dc9e0e18ae1cbb5ba066","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"44da1db5f81f80f935eb95e20e3c925d71d68ab43379c478ef6aea748a3a0b92","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"bd6074dbcef6177b94d63a539d60447a71cc249f93982528095f888e24d1fd9f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"405ab3515b5d2f07531943438c5ecf082bd61434adbf4860e3f83cea145175dd","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"7356415ae2693e3f94e126d3fb31d42990d0efd882d063661d8a588124fecb67","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"d0dd8957db84d11780ab6f4fa208bc3827c49b5986f0b5efd5bb98171bb5a944","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"25028aa767cb234fb49871cb5dd6784ad018d94609a519cdc5334f590085d21a","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"28f03986bd300c037d0dfaa877d4e1ec84e84f56f87e6a28354988c4dd313325","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"94af03723f5fc0766c58bed116f2d53102c1f48eaebed8a5f0d8af8d6f38682b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"6dd4c595d7c2e50ef87da5a03626aa375407f05af9a1edfee1556ff27eb68ccf","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"871e55ec9de2b9c46582e36d93f3ae0b8f9414bce0438125de318a235d0293e1","signature":"407c70ddc24d5c90bc55d198041d27c6ce2cb0f42fe30a091ef7533f5ac3686f"},{"version":"ad3602cf898d906862e748a847deed9392213387659382a47bda93090c24d2e7","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"47beeb485aff1ad4e1fbd8ac6e8d36a24e150de10a30b6899840faa301655414","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"487344aba34994c6bea6db3099ad923d847a27e7c900106a17d5273f8cccaa06","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"a8a2e0a62736c86aafb6bdfb9d640a79dcab172ad24a4ea1c0032e28a44359fe","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"0568baac3cdb203dd85282b137b649bbf8171ae2f1a61264cfdfdc1dd5f6c1ab","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"2d05701eea88d40fa2962c3e988e6e8c751892445eeceaebb8f76bf10d8fb47e","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"fadf95731f4678454817d68abb0951550e2873b96d0e549fc0e46e8b9ca303a6","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"cbe51fafda1456e3f033e37684ff3dec49b3c11097453e460cf494d612abbf36","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"a5f1a3661ab26f668a8195833f02b4085991113b44a0bc7f790e9c9af257f07a","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"8fbf898b003bf3d70416df534552735d946ee7c578766469039551b5b5989a16","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"d43aea7abe28c92b8494f0fdd74762bc1d3ec18b972711d2a883ede1ca8ae628","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"598384c7786700c7d6208cac6007b37f123131de52f69441e496d3086f01599d","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"8237ed9ac77a0e6c957c04ae1939d077b1eb214150e0f2ee2330dcc698ebdb6e","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"9db5db65827dce6c3005c0ab5feb8dbc60776a2767d1f3779e4e56b6ac0eee26","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"750e7f25638270d4fba9ee9fa59e79d2d97cc88e655bc8bf27573dce9ecf52d1","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"745001d456418763f9801cd2f8e00a519d597d29efac153f41db8ca2b4cb5cbe","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"32552e3b687bed279decc2ff81ba12b6d194998a102b5592537ef0a7bc246ed0","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"17000b2a7cbc8febc1c38e79ca4aff5a824bca523973aa7b5c4be0313c10278c","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ae3187226d80dbd2906f54a87fe586f0b33961a92b99f74baddf23943ddf197b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"6290d7ae201e2cb37a3462e8f0474823749c74478df2c024483ba0f66b9201b7","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c3ffb3ab371ef4a1c49f3d70e6cf58152abbcf97f79b87b81fcecf0e349c9e47","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"43c903a3a3e6bd110c6e1e0edf3f119bc3863e25f534de171957fceb9373b791","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"6060795a11dbdc1b053619d909275140681f310638413d7f75dae71c0698a0fc","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"9b536f09a14585f7a60c6198eb73475cfda55bdb6eb7982562b14d9745ab3f58","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"7f21b2e5f827fd2bfa35959f943d5f7c38bd76195247f63a7e00c35c869583c4","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c93a6690c5ddf530c35ab275c70a4a15ac6ca4a74275d3a0205d1acdc8f99d2f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"5a1d4f7b55a0f4585ce971998ad5602b25f56fa82c105750c8f770fd89f61fdb","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"f9f0996b794816a3dbaee1dc3e8d20e19845f48e94a28b86ba71cd7dfd7bd4c2","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"71cf715fe7ac9cbda3398c62715e9e41e205bb9f66c14db522c05d33d9bed871","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c170d6a07e32644b63485cb4fec95a7b4210c95b0106bf604f77f60be4590609","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"7e8ad08f464b4d38665019d1a2e7abcf8431a2fafd4af65bcd93e71e9defe276","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"284afc03d292b1476a7abafc7a199b1374eece1304d742dfa2fffe29d1ef0c25","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"724ba566f050f9a5c9d59f094d43c5986a190bc913ea545fadd79e99201c1cb7","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"63c289c6931d3546d36c0cb59ea38f2d22ce5df282547200bf86dadb4cf442aa","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"e9a831e721e46b46f371bea50434b366775486045b009ed500a273a0c87cbc6f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"220c41cb6d922f9df023fc9633b25d3f277be8ca0b6959d35510aa0ce0d7f435","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"fcf4e15889b48532a4fab0550d27792e595ac7e53b656745561bbf0499175c37","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"9f93119e73d9aae89eb4897d9fcacebfc8131e4fd6add6bd0af2f085efbc1b5d","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"bed5a24b28678ac3060e6247e7f1028d52c3cd0a5da6f8de620813357bef52ac","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"8e8323f9bf61781a5c665b85254c338ac0bc879cf252c408a9155fcde6d3926d","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"58da354bb341bfae058822830e25841c7d4e322f2c01b523533d976788288a79","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"7cd11c824b38c56c3331454c55bce8d8c965e483bef9c7889d44f06fd0a3778b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"9657559845b4561279a2fbfcbfd17fb71629ef81d05c3faf1856ddd14977c8bc","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"de10d6cc7a07ce5c5d961316be25ee61e38b528aefc5b78bf4890f24c0749f6b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"569beb54f189db6412e1bd14225b3c003cb7ea7a8b8ac9d2bb4a98d443a1202a","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"2bcf3b15c705b78d2624ca829055672f638ce38a4ec0bb25d7f776265ac833c6","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"d7a0f90adedfb247320507bc1f490cbff7e5c0236bf52363e4dcfae1219bb9d4","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"b2a4650779610aa8626f855bdead2a9ee445074ac77f0df56d4c3d74d471ac27","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"1a138b16a062718039f7b4a0189c173d4612c918f1391c15a13ff9d74d76c0cb","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"2177c2f515fe8ca0aff425dee0fa1300d9f8012e341a74dd4923378a60175136","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"d6e42e08867a127f7976389a59ccddd411a8a00653ebbc5d4f4d7a7cbf36dc36","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"570d900e54c02bb666819963695f97ab355d3a10137e4c90d48647fbef5a8bf1","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c51737d123042bf7b78e65abf4f684cf71693261300d9689a5e35906b94f9120","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"b1256fc37ea74ec0f1b54eb895fbd37f6ebbd9409cd90e111b64d75333897540","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"eb45916ddfa4b3ca5ef6dafdfc7ed7923ce2da5b6716632275ad31ebc4e628b7","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"6c3b470578a5bd66ef16829c185d96ccefc3d2a3377d9976410f500610ab9628","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"f13b437a12555b0ec040c3d4f6d3aed3eda3ac447ef37cdfb0e458b697a97b8f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"972a8cd8b3335703b18119089e6d0ea65460a6b0502350734fdb77941bb0762d","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"f4d30cf04d6a6f62d89eb6f4c258ab39599d83cfcaaa30961297df2c4b20ec5f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"27a14d107fa2f36104dddfe0d0f3ad259d6a5a8cf3ff91cce99b5e493f9395c6","signature":"c754e6829c741e6b805b1868f57d8dccbecec8f04c2bea49c8fd3906a9b4bb9c"},{"version":"931a84417d61b614170fb2398ce6996a3413ce2e44b8e8778f68944f2e90cd87","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"adb0c4e652e7e2fe0de47ad7ff507a8d633122926d15e2196cc45ee94ea1c574","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"b03d1c836d3624a6ab8fd8395bcd1df2106a4c7da12ad82bbc7fe448968e7f41","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"20d1bd40bc36713f75dde61ff02bdda74cee057be3c13af6ee23fecdae565d53","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"02cc4901ed1607eec674547e981beef06f1af8120dae3797ba9f19220246bc63","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"5f26bbb408f078078d1bbca7f13884b9b9849023484395cd135394d4fa8e62e6","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"26085d6a7b985e91fad21164ed5cba66427dbeded7e0a672532ecff63d2e7c4c","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"87dbf0346d5746894eca4b429e98201f34a03e11331cf456d13e71c81212e426","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"dbee469d488b262f97f892153e62cd20ee4724dd8b7d253ba771770ac8114c67","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"a3b5b2202cdedc66781da6676815f67ed036e5ae1ba2218dd9935a70e5b1db41","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"627f1ed82ab6a133fab304b936ad760a3e3099352c8aa96e0560e3417f063909","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"3a6dffbdf23ab002e31cedb2a1ab916c66a51a78a87771cec3ac596f12d82fa7","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"95658c91b67a72ec6af1ede02ccb5802d685bf848391710bb006f1ff1de9cc67","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"66db29e3c77173b1a53f6d0f07474d50b9b21bd20e5427bf4a70015fdd2df3ac","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"baa9f93cd885deed2211a1f17e2b64074d45217f6f95784d9d7db3b9adf39f7b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"cdd21ddbcdf8e5073e31fe7f730fe3c4023c66309625b87b5b9785fe140190db","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"cac72a71dd33cd4dcf93a4c06a34590d661d2ce406b9734cca33f567ddcc7208","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"508859ba82d5f926349e4a9d51add2f33fec2eb154fed40a6a80f12df4d99bec","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"9fa26168f88bfa67f9b9f82b7cdc70c643822adc48535a76c320bc7d262ad78c","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"9f11d83ac8f4908d460984e703c13f43b69aca1572d2949292bc9b95ecb7a2b0","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"f98e81010dd1f0a168ccf0c28c53950048dab88a9aed8cd5cb1cc7790f883ac0","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"5458b79d513a3c28249bd399e109764da57de09097034437d65d13753035ec7b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"abd6d932a4f5ffeb10ea89ddc43d53467aabd67f1424f03634d2bdb9e91bb39f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"e7484d772180a4fe32c9d12b3701087ec6479a1fb4027d02443b362d6748f265","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"d22df3d0d4a171faea1356d2ed06746654b7b54a6f134ad5ea64f2bbffbe282c","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"3b9a5b677b8ac9cfeaba131842398608331bd99d1b9a939cbcffa96c77b05f70","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"6256390bc79dff5190177864fca522b99f1ff8c690ab411abb268d2660660479","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c871c193395edb4f0bc64f8dedd55c8d15a51a9519046dec95c4904242d7b2c6","signature":"3b5031a79ad3b873f4979dd714732927534e3a6d3ae7a9ec689c5725ca791ea6"},{"version":"3cd49322854ce1d737e709347cfd3aea195ff6e1b262d5958bb256c8beecfa0b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"41950adfe5fb33897a55572728896c2f93444277a234d432edadac80a0fa4e84","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"2c144fb7b835575d4eb400187da6e88cb37e0e58c7f2d430bfaa511f7f471fda","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ec563dab247f022b8527fe82436349f3792b975c4e939886ce128d095583abf0","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"f815436168a53475078bbd0aa903c756c66bca0ec8c468ff534ca4312eca4bb8","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"fa2aa9a0b964ca9bd71c8f1b2554010f338e89979fc0581e1f273a56897086f8","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"01655680390019da612e557fa6c87313dd411791e200ec4a960546fa1c73860b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"79bdfee706e5a2f5afc91eff7c3a186da1c451fc3827038d6bcead0160ead42e","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"4f719002191cbec9176949717a9a57b621e3a1d307a74ede4cc94dcb78c249c8","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"44370f3b07935d8a7985c152d1c3d25a731c121e5402dc300cd6562fd7aeacd8","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"981018d0a41acbe443619020f6900e7718ac3fec30c4b89c3fba14825cf4f4dd","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"9e68ae5f6432e9c50c43e9d2835536cfa152255e680aceddeb3ba2c13b5a24b1","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"7fb4e3677e240e9cbc6268542e651d8d7142cafc9b716002ecb94db2923231f8","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"4fab0835f3f0569611b4185f74019264c8ac4338acdae9786c36fc5e73165f72","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"095cc9d0709e52c5869e31a60f719773a43b60940f726480b689e301eb661d9c","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c6e4a5152f75e9d77ddeec6158887b08565816164545f301243fb653d7c57c47","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"b850436d0a9d744cd3fb92eb3be65206791e3b4c21cd66fa1af395074ccf9520","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"5ae00f9eb7202bad96cf17277b37f8eb7ea8dea3e1d29766ca904c2b81f54043","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"33195f2e0363a39a049cb3839f69891f3e92cdef82661f683823b7d4f2f3d3cc","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"1a91b7d838f633711b64538b4a4fdfa77eb8ffc9e1a5cad23d66a43cc9d1bbf5","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"e30d7ffd5f108b4f12429dca91377297ac7b070fa87b5680201b4c3da07ff6db","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"6eaea317fe5b6bbceeddd6440306eb6dfe56c86796b5e90b0c86f03d98fff955","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"539ea0ca2bc54254c4751432472c80d8a6336e592b9701695ac473aa6c9b4001","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"0e7a4c03bedb6d5fe845344a08f7a3fbedc0831109d5b36facced86d3fd95d90","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ce30fa93f285427c6251e073491cecdaf1e80751e13ebb7da419092fce4393ae","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"1eed9281109c026b9f052241336e80589c39df225980919ec591a01ae388f11b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c45bd057a7310603766ccd2d367916500bdc549f46285ba074bdaacc5b6d05e6","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"a0f194912ffe562a67d5570ee74538fc74e5b9ac3eda0c8188b314e72bc0b1a4","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"9c63668af53291cbd777acdc086a76266b1f9c51e354ea2787619ffc3c10cd24","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"eafd0838df9188d3b117c9fe53e0c77b707f5a985d3b8af99f664de7a4bbed33","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"83e6f2be1beac83f30dd5f1e56d42e907c7ce21c05ac72970b6ebd370e5432d7","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"4f59b8b9f9609eced7551d65f5a9d36c47c3e8e8f946304c4a9202d8748c87e4","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ccc6e094800a0ec7e18a71109ed4efc28f2070b608838fb625afe4ccf0dc9b87","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"313a574dfe32f592b23877fc0677f33c8656ea9970e4af30ef78b96e17e0a032","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"3fcdf7901f8d9f9e77895e5b0743e77242c2710c17d8ac73beba8a79e433b57c","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"5a991ecc505e086074ced217226118fbee9bd97d37d94e9a73cbe73cefc82b23","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"3c91bf1628b9af6723816e7f06ec22cbf5627ea3c793e802eee02aea37406231","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ffdd7e9f674d0ec87a1da0853cde6df604b57b86982b95351262e9b2aa5cc88a","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"09fd6ecf716a64bbd71674daee9e81ed726a6e716a66786508e12f95d4d47623","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ca5a2320c781052b195b38bd95a7424e01468dc5e78ef946d8eae4d218437eb8","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"0dbc717d091c928ea25aac5b7118713c489b0b07f74b6ae3a57803d4d704c841","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"7fa3cf6e959f107cb2e099dbdd80e4d78f6aab3a0c012a77a7b0d1288917c2b6","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"d702abe575c08f7a4866f0ba029456e1f83b1c581e44e2bd6a94630ea8a65771","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"2f0f520b1cab36fdc9f80c54b74f17e7189921be14e5e6384c9e76dd694c5df1","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"5f75a5464eb3481ed47aa72c7386a0bfa9e306ff570303a1ca2067a137e3cd15","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"9210170f2fa566053f02e2c5c3a77faed4e7e51d8366ec02adcce7953297fa56","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"b01dbe7929b0a92420ded501af329eacee87e3465038b6b1a0950bc7c8f90421","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"a09f8f187f3b0a161b4ac047191bfb07e8ef61816872267b882b311ebea87b2d","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"803ce94cdd49ca8ed653e63004ed3fcb16ef302b983ede0d5291257babef6bcd","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ebd54d09bcb969873eff5f50835348d41ed084785a1a53110b155cfe0875b7f1","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"b1d57277c40e6512296d6635e280c6228aeb08d789aff2eb4ef865eecf86cc78","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"d71d12f9748990e5a21ef6fae3483650f1da187533e520785ba561f8e8f177af","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"a3c1c6e2d0c647263a8aee2d16655f525c930d6b9784eb6080c93ccac28a7c9b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"a93fe9b1bfbc124b8f4777276537084f37469f91fb5ea6ba8637f62222f9d378","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"89e0c0b9430b0635a17c439eb81fe536ac9ad69c9229a832c1a661dab780a362","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"81206a45e70c1954a56f3f56081b7161b80abd9048c0a6806deeb279b05b248d","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"b57719fe1738f95cf28675ad0e55eb81a991bf372a7a5dda6c45b162bd094d96","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"fee02d6d186cd9b1dc4824242b05768bb2edc61614f01ad6207145744366a731","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"a83e4dd75c54300e6314ea2c0c5813b418d1a2244391acb001f263c9b1b37521","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"27c25a73ab8e8e6ea25f0679d1ef24c446a929a7b9da8fc842af72349beb9ef1","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"f0eef830593e6ca3e34d7c4af265fcbcd5d7ec2a6c980a442a8a395c98b7d872","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"752bc0bd543fc478323820a8595d137ea1fb8fd0d8ceb0ea05c3ded4bf1d3729","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"4410ddaa3d6e3c1441fc5f669ea5c3e3390fd75f6127f06b1240625558160a9e","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"36919106e6e5c86f0628d2542222b4f6a09cf7955bd96c53a9f17a09b62f3903","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"f6be390877d224b02106db41d582eca38b6d52215c0843d3e6d78d210c956f95","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"477bc6781d39427cdfb58b00ac6744fd72a76ddb9add5ee2b6fd7c0123e8c133","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"d77a4e85ac4e7465ee559c7aa33e9b67794fb42eb006094e41de859e0f574567","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"efaba8801c46c71114040269fdbc963f3496d01a5b185ef05612d3d71f6c1fbe","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"87641f38b986a710ffa276c859e7f6acc009e8cfc4010d33fc0c9b6ac57cd018","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"fb3ed0e0faf30cd74bdaed8c1b2f9f5c881148caf5a801c9c2130c4c7a1549c7","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c293a5c9fca11fdc9f025e3a12b767b2eb7af7e2ee0c0bf815015a355d2d36d4","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c120a6708c0c275899bcc98083090a85487ec866f85b6be29a50714dacdf73bc","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"4733417da9fe7eeed82209b53ddbf53bb76c0a7706f747945278a2c037ba2bcc","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"b78fa0476aae9c90f1ba345f48912c46ff37b4c95cd6242b75cb57efd8f2bc4b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c9959681b8cffae14e821fbfdf3daac7759ccd92bd04413f45100301d8d08d20","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"57ebd17c1bf0e09d222252bb67deb0cef31476b2476c680ea5ceeca29cfa3efe","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"2813a4305e2d3d23e4997d9a2f482fde783962eec4c66dcd112a3348a1b1f6a8","signature":"b84cea73e43cd5d152e01d2870e7736075b6c5ffd9355dfe2660b98078c17e9d"},{"version":"119ae1f4c43b80a86564573e397d49f6e19dcc54b96b3a513066a2e108e89c6a","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"48392b4f5473115f4cbd2da11efb0fda7bb0610c15185a5838260c9c2b2e5745","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"931e404359129b88ae22b707a39298f2d8351f150a5ad6feabb975603272beeb","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"b522f77d275268e582dd53f3dc4f93082eb2f79a0022d066bcadb94a59b6c88b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"a9c542d03e88c557c60e7dda6aaa2d71a05687764720b66dadf6cfe080888982","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c77cad2e3e80373964256a967f064b23ff95f5fc46788636eac8b765b2fea524","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"fa264b7613bfa8f9e9f8b06198322e50d8e14692e44618cdb6feb7579e016919","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"02d2e27ee8ad6bff557165700f7a20e6dbb7816cfc60bca8c2613cfbd211bbe9","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"69b3922251aa575049849afbf72d429c17965f5827fcfc0b6636263d0a261779","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"a23b58c3087d419c5d21fba70096b8a9eb42977ad61f22f6f7fba5e09e0e6ae3","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"055e5ac1ac33ae174595f55c76aa1e371ca8819456cc5b97a69872037139ac72","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"45f9d9bf9998e2ec7147ad27c7edc2e5ed387302c4018c9f4f7ff088eb22af8a","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"90e9e2b93e5bae19a5e66972efb5e6ec11dc1b50b9e8259f882055ccdb3d4aac","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"f397adc5718aa5b8ea60ec16afed311eafe510111cdc0de0378994c629ff4eff","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"7a83e8d50eecbdb731f8da23ee08494be2d247cb9e8e5c3857da7cd9e07fdc50","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"671265f64fc5c31cd317267ead0afc5c6c4634fb51204bfb54e3bac5d19d4db7","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"f1f4a3bf8d46ac603eaefa297ebfafb18a111a4854577d169bc3c0358bb373aa","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"89a4895e643533b7b76f782b52aa9b695d0961f2695ca7720dc50b48e9e55215","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"dd12c9b4822755161ebb4ba65818948561a5982f5f493eca9f6f0db242a468b3","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"114445bc0794c2c9a3f03a42134748f545ea788a004e4667d7b9eff39211a61f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"8efdfaa6427be4a0852ac62cc450946e95bd551cb7c5b55dcc99675352e15362","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"09b4d72988c4682aa5713bc6a6df7892a7b8e2f10e1af3dc02985c6d4aef84ad","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"baefb08b615c9fc53a31c27981bf8899af8e01a0c9e2ab60c23cf0d324d77274","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"465069c75ef1e4b084bce885c0a2ee70520c5ebb8f201fe6f85090a28fb34703","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"1e1d5c76c59c49b2b6f32b7065d0a95bfd229908da2db72526ebdb9312ed2cdd","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"99eedc96ba7fa339e3ac82727c73628382af56287cc1219589004ea36e1b0c64","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"40510866633ba6c635e0495e40994f4e3f30d9378f23cc26887b3ff5e56391a3","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"291678a2a42b52881173274b55c7583807a9e94fe535b9bc84458d1fea33146e","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"288e930c1a2661f6345d07635585f1fe13c2deda86e2ccfc349413716c420555","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"b8e67d1c4879855a82071fc676a117355eec33a97bac9b727c13b728ebca825c","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"beabd1db71dc8e0911944d9400ced2cd02de425ffeb61c6ca0d2124cbe64d785","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"945b34137fa3efb0ae22928275c1c42a722dbb81a26c57fb02f64f71e5daa3ce","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"294041d51d1910e6986cfe979cd3732a5f7eae7f329589ca4f2799248e5a7265","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"8f270a39bc647847500a6173ebd429406421cd10b2410d8cc0aed908f2bc47a0","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"8718ff0ade9fab90f46bcf4f55402132998e3c7b2b3f92154d7b85ccd91ac76d","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"322dc7275e83a2b413717c27f9dbb39f36372a09d4b694d8e0d18034765f8ed6","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"3828c70cef320027121c2ae0386e44385b937709ad0a1cfa4744a0a270b5b270","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"a7c931d7405b9910835cda95a3cd42684ebf92eb7bcc0d3649f90aa32a2d166b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"78228dfdc1a7024c9e4eabee22c057409886b9014ebd22319ee8a0a9ed31e799","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"18beabc03110b8f4e1d1eb5a556e6de09834d365995b2f10b17d26a574dba141","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"70e8e8b44c2fca9791db4f3c06c3cb310556b19335d656bfe3cfe6aee8d65622","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"995394b9345e8eae0c2413b22ea07faa239769d45a58bb219b9222d86bf2d9b7","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"04b5ec07def664c916b3a73a5b4b31f3930a626739ddb528569bdd33f0300456","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"aa82aeaf9be0588a652ec636bca8e6d7be86a81f85bb22e857b02a469e8ab2b8","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"e4c50fe5f17db1977becce308656eff49a36eb1010b46ca295c27a77ee66a10d","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"f4b54f4c0273db6878a1823ac888998ad7a0dd816f1c45a2fa24e0417702fc7c","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"152d40d63a22525f1465c7ed134e36fb97fb9db2c706f3d553f126d7e26d0ec4","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"41b4c577be164a41be457fa1eff74c8923c8f08e8ba7e5e57d894424f48de2a9","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"15c805dfe9b0eedb507e5a9d32ae6e321327d77673ba6181de4710f2c2634cc2","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"5cc1c46b57a52eba565ad27fa54cf2e09d763de1f3412354357e6085e0d89ec4","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"b679abde8e957cce28fd0a30fda80cd7b9042fe9a9bb5a9369af5046d043fb2f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"47c0e01bceee2d7e95b691b2417954d55251167544413855e8440495dd67a5a8","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c2b1d972a2b83eb6f85a7d894c57331aa5be4e9b93d1b9b16d697112b52069bc","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"bf929bfe00c111cfc4601d7ca3bd81df46040cc86055e14a14c1f35053d3882b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"3e804602b8814015b1a9acf40195f6028daaf6b2984fbc4996a76451d0f8aa5b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"670eb13bccc2eb7b1754301c59f8fb33f5e30de44f17835fc8e1c741aa3f68ba","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"35bd7fa89a59ca3b136c221ef604ba3a8e30cc88bb03cbc4d26fee0659d02ce7","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"d596725c15eee936539fe4bcb0ec9f08b2d8392f0e9bce03effb76ed734910ed","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"b08b6177c9234876e6836895b0bbf4465e14c9b64bbb7467da5b89b9b5b11d89","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"18ce2ba17324b20ea784c2e1d464c96c19be7bd21b1735b5487e21c808f46500","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"a85610ba8978234a59d37629fafe05c27fb2154cb62b6b775eb8119802e0a38e","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"adfa78b8af8a8be5116202f634a2f113d7801ed20c47767339f1505f952ebcc1","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"f328b3203d26b5f709e5a082bc956c2e95fbd9fbdca6abee0802b59b633e0dc0","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"34fc137aa6085dd4f915e8b4a8c0d48d6b07d4fda84716ba91619d5ba39566bb","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"d54083855fcc2ed66dedb389bf2efc33b892dcf572829e43758309fe7bcaabb3","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"f44df634432426f2b1249398b735f171a84c3902b4e0452ea2f7cc3d02568bd1","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"7952ed742b48930403868cdd2e09a9b5aa543c9adbed9f012618d6b58c289dff","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ba0d14c18aebe4a5cba52b4a7b902247dd5a91106737e06d6e2112b1b4cbcacf","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"3b8983ef3b44f8779b91c7604f70379f8c40f88da3d6863e4bb7a5d7f95b2c98","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"a7b89eb149bb46fafba5e3eb85d5a9fa76013cfe937ed5c0b8898636a4eee533","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"23ccd9a0a59c200893dfa0ac3c539ac8f4416d0f43bce55501603f949ad1939c","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ecaaff298281e8bd8bc234e03d4bc1ba565a804edb846005ea6566cbcc47fc73","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ceded34bed1c475b90671a320a8fd84a6a4a4d7c56c3f3f88d9a6804e933eba4","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"6679ae1bd78dea53dc058ae235a3708f27ac7f87da929ddd38f7d4c222c18f9b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"9a40eaa7da4b2085746448671fad7ca6da6a84c58cb1d0e2ebfba17888d040a2","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"df815a5a142bc0b6b160b0735938321d8454a4a5fec0923bb6d7dea3f6c068ed","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"49d82eb2dfa6a10a2a6b59d85b09baec0b700ed3c9f43fcdc0b1ec58ab35a8fd","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"9815b675507e394e469b6bc395afbe8c63d6736cc7290a73f56cfaaca549b027","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"b0248daeeaac242de0ea72ac0f093a31b55e70b43020d40380dbf609803a45e7","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"5a31a79a9691f6153276381e906dd27e985f53c6920adab35199527cbfaeace8","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"3414d416e51f2846b21f4aa1492fd44bf9ffeaece26743ae1527154e3da6f7fe","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"6309b32da582c7b3e5afdf30678bd7d456cd9a1118ea1c660dd73ee32770d683","signature":"4c372df16f354b44e6e653a4442eb9f26b95f2d43efcbaa75b59506276b92df7"},{"version":"26f213bee14ac8092e7a36473db58d1955fa4867bf5b091950ad8dfd31956809","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"4b332cfe58c80b9e5abef88dfe157a88f9170f64035fd2a83dc395b334c440fc","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"262dc2495f719b674acd7919e678de874580311f4a0cb71f04c69995bf61650e","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c1161b186fb7ef72c0dbd14af1652937e6cb3453231dd6f56d396f43d46d638f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"89ac6a7385062683575fc5ad85a18f77e6c9617a3786f49aba644d55ae277f4e","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"3e33a62342fe8bc07fd5ffb6e870ed8f0d906f8021115bea5b4ef5cbd3632d04","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"dbbe19275d7ea098ce95e9ea65e45380eb8f80179cb14d0f2fb1196ffd9b98dd","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"b247732a1ae37a5e0307d4333ef15e3d5393951e3236be0287adeaa48d553b35","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},"d1986184a09a52db8228cb2bb2a61a8c05c9354e5b93cec8e2628d8579c892d7",{"version":"adf3ce64a58ecd81745769e79d346a3e6a827bb14dc6f81689449bfe4a97eb58","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"b1538a92b9bae8d230267210c5db38c2eb6bdb352128a3ce3aa8c6acf9fc9622","impliedFormat":1},{"version":"6fc1a4f64372593767a9b7b774e9b3b92bf04e8785c3f9ea98973aa9f4bbe490","impliedFormat":1},{"version":"ff09b6fbdcf74d8af4e131b8866925c5e18d225540b9b19ce9485ca93e574d84","impliedFormat":1},{"version":"d5895252efa27a50f134a9b580aa61f7def5ab73d0a8071f9b5bf9a317c01c2d","impliedFormat":1},{"version":"1f366bde16e0513fa7b64f87f86689c4d36efd85afce7eb24753e9c99b91c319","impliedFormat":1},{"version":"fb893a0dfc3c9fb0f9ca93d0648694dd95f33cbad2c0f2c629f842981dfd4e2e","impliedFormat":1},{"version":"89e326922cadcc2331d7e851011cf9f0456a681aaf3c95b48b81f8d80e8cdfba","impliedFormat":1},{"version":"5d08a179b846f5ee674624b349ebebe2121c455e3a265dc93da4e8d9e89722b4","impliedFormat":1},{"version":"96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","impliedFormat":1},{"version":"7fa8d75d229eeaee235a801758d9c694e94405013fe77d5d1dd8e3201fc414f1","impliedFormat":1}],"root":[531,532,613,614,[616,620],[622,625],[1019,1023],[1025,1035],[1070,1087],[1092,1111],[1148,1189],[1266,1289],[1293,1320],[1323,1332],[1352,1393],[1415,1530],[1608,1610],[1616,1651],[1883,1908],[1910,1968],[1970,2003],[2007,2015],[2031,2068],[2213,2241],[2243,2254],[2257,2293],[2295,2315],[2574,2589],[2591,2601],2606,2608,2610,2611,2615,2617,2619,2621,2623,2625,2627,2628,[2633,2654],[2742,2882],[2960,3318],[3336,3338],[3406,4060]],"options":{"allowJs":true,"esModuleInterop":true,"jsx":4,"module":99,"skipLibCheck":true,"strict":true,"target":4},"referencedMap":[[4059,1],[531,2],[4060,3],[532,4],[3404,5],[3352,6],[3350,7],[3353,8],[3357,9],[3346,10],[3356,11],[3369,12],[3405,13],[3339,2],[3368,14],[3367,2],[3344,2],[3351,15],[3347,16],[3345,17],[3355,18],[3343,19],[3354,20],[3348,21],[3377,22],[3378,23],[3374,24],[3373,25],[3394,26],[3397,27],[3396,28],[3398,26],[3395,29],[3393,30],[3363,31],[3379,32],[3362,33],[3400,34],[3358,35],[3359,36],[3392,37],[3380,38],[3364,35],[3366,39],[3365,40],[3376,41],[3381,42],[3399,43],[3360,35],[3382,44],[3385,45],[3384,46],[3383,47],[3388,48],[3387,49],[3386,36],[3361,35],[3389,35],[3391,50],[3390,51],[3401,52],[3403,53],[3372,54],[3370,55],[3371,56],[3375,57],[3402,35],[3349,2],[636,58],[640,59],[639,60],[635,61],[638,62],[631,63],[637,58],[692,64],[704,65],[703,66],[693,67],[701,68],[737,69],[736,70],[716,71],[728,72],[707,73],[714,71],[708,74],[740,75],[739,76],[742,77],[741,78],[738,72],[743,72],[744,79],[749,80],[750,81],[748,82],[747,83],[746,84],[745,80],[754,85],[753,86],[752,87],[633,88],[634,89],[751,90],[725,91],[722,92],[764,72],[763,72],[762,72],[718,92],[730,74],[731,72],[727,72],[726,72],[717,72],[767,93],[766,94],[758,71],[715,71],[761,92],[760,72],[756,95],[719,72],[724,96],[721,97],[723,91],[706,98],[755,73],[734,99],[735,2],[729,72],[720,72],[759,71],[757,74],[798,100],[797,101],[795,102],[773,103],[796,72],[799,104],[801,105],[800,106],[694,92],[695,72],[696,72],[803,107],[802,108],[697,109],[698,97],[691,110],[690,111],[689,112],[699,72],[700,113],[702,92],[805,114],[807,115],[806,116],[808,92],[809,72],[810,72],[811,72],[813,72],[812,72],[826,117],[825,118],[817,119],[818,97],[819,104],[815,120],[816,121],[820,122],[821,72],[822,113],[823,92],[824,104],[830,80],[829,95],[828,123],[834,124],[833,125],[832,95],[827,95],[712,126],[831,127],[838,128],[837,129],[836,72],[835,72],[680,130],[659,131],[662,132],[658,133],[678,134],[657,135],[673,136],[681,137],[663,135],[664,138],[682,135],[676,139],[665,135],[669,140],[670,135],[671,141],[668,142],[674,143],[683,144],[675,145],[684,146],[677,147],[679,148],[672,135],[667,149],[710,150],[711,151],[1014,152],[840,153],[839,154],[628,155],[804,74],[733,2],[709,156],[660,2],[957,72],[626,2],[627,157],[705,74],[666,2],[630,158],[661,159],[632,74],[768,91],[769,92],[777,92],[776,160],[779,72],[778,72],[794,161],[793,162],[780,72],[781,72],[782,96],[783,97],[784,91],[785,160],[787,92],[786,72],[775,163],[771,164],[774,165],[770,166],[789,167],[788,168],[792,72],[790,169],[791,72],[842,170],[841,160],[772,171],[844,172],[843,72],[851,173],[850,174],[847,175],[849,175],[845,72],[846,175],[848,175],[862,91],[860,92],[855,92],[864,72],[866,176],[865,177],[854,72],[863,72],[853,72],[861,178],[857,97],[858,91],[852,63],[856,72],[859,72],[871,179],[869,179],[870,179],[876,180],[875,181],[872,179],[868,182],[874,179],[873,179],[867,2],[881,183],[880,184],[879,185],[878,186],[877,2],[890,91],[891,92],[894,72],[893,72],[897,187],[896,188],[889,96],[887,97],[888,91],[885,189],[884,190],[883,191],[892,72],[886,192],[895,72],[906,91],[907,92],[910,193],[909,194],[905,178],[902,195],[904,91],[900,196],[899,197],[898,198],[903,199],[908,72],[917,200],[916,201],[913,202],[915,202],[911,72],[912,202],[914,202],[923,203],[922,80],[921,204],[920,205],[919,206],[918,95],[927,207],[929,72],[931,208],[930,209],[924,72],[926,207],[928,72],[925,207],[945,91],[938,92],[949,72],[948,72],[936,72],[951,210],[950,211],[943,92],[944,72],[942,72],[933,95],[941,72],[940,96],[937,97],[939,91],[932,98],[946,72],[947,72],[934,71],[935,72],[765,212],[732,72],[955,213],[961,214],[960,215],[959,213],[953,213],[952,80],[958,216],[956,213],[954,213],[965,217],[964,218],[962,219],[963,220],[972,221],[971,222],[968,223],[970,224],[969,225],[967,226],[966,224],[983,72],[985,91],[982,72],[979,72],[975,227],[980,72],[987,228],[986,229],[984,195],[973,230],[976,231],[978,232],[981,72],[974,233],[977,72],[991,234],[990,63],[989,235],[988,63],[995,236],[994,236],[999,237],[998,238],[997,236],[996,236],[993,72],[992,239],[1007,91],[1011,240],[1010,241],[1006,178],[1004,195],[1005,91],[1008,74],[1002,242],[1001,243],[1000,244],[1003,245],[1009,72],[629,246],[1013,247],[1012,159],[901,97],[688,248],[656,249],[687,250],[685,2],[686,251],[713,252],[814,74],[644,74],[642,253],[643,254],[649,255],[647,256],[645,2],[648,257],[646,258],[650,74],[882,2],[2603,259],[652,260],[654,261],[655,262],[651,2],[653,2],[1652,74],[1653,74],[1654,74],[1655,74],[1656,74],[1657,74],[1658,74],[1659,74],[1660,74],[1661,74],[1662,74],[1663,74],[1664,74],[1665,74],[1666,74],[1672,74],[1667,74],[1668,74],[1669,74],[1670,74],[1671,74],[1673,74],[1674,74],[1675,74],[1676,74],[1677,74],[1678,74],[1680,74],[1681,74],[1679,74],[1682,74],[1683,74],[1684,74],[1685,74],[1686,74],[1687,74],[1688,74],[1689,74],[1690,74],[1691,74],[1692,74],[1693,74],[1694,74],[1695,74],[1696,74],[1697,74],[1698,74],[1699,74],[1700,74],[1701,74],[1702,74],[1703,74],[1704,74],[1705,74],[1706,74],[1708,74],[1707,74],[1709,74],[1710,74],[1712,74],[1711,74],[1713,74],[1714,74],[1715,74],[1716,74],[1717,74],[1719,74],[1718,74],[1720,74],[1721,74],[1722,74],[1723,74],[1724,74],[1725,74],[1726,74],[1727,74],[1728,74],[1729,74],[1730,74],[1731,74],[1732,74],[1733,74],[1738,74],[1734,74],[1735,74],[1736,74],[1737,74],[1739,74],[1740,74],[1741,74],[1742,74],[1743,74],[1744,74],[1745,74],[1746,74],[1747,74],[1748,74],[1750,74],[1749,74],[1751,74],[1752,74],[1753,74],[1754,74],[1755,74],[1756,74],[1757,74],[1758,74],[1761,74],[1759,74],[1760,74],[1762,74],[1763,74],[1764,74],[1765,74],[1766,74],[1767,74],[1768,74],[1769,74],[1771,74],[1770,74],[1882,263],[1772,74],[1773,74],[1774,74],[1775,74],[1776,74],[1777,74],[1778,74],[1779,74],[1780,74],[1781,74],[1782,74],[1784,74],[1783,74],[1785,74],[1786,74],[1787,74],[1788,74],[1789,74],[1790,74],[1791,74],[1792,74],[1794,74],[1793,74],[1795,74],[1796,74],[1797,74],[1798,74],[1799,74],[1800,74],[1801,74],[1802,74],[1803,74],[1807,74],[1804,74],[1805,74],[1806,74],[1808,74],[1809,74],[1810,74],[1812,74],[1811,74],[1813,74],[1814,74],[1815,74],[1816,74],[1817,74],[1818,74],[1819,74],[1820,74],[1821,74],[1822,74],[1823,74],[1824,74],[1825,74],[1826,74],[1827,74],[1828,74],[1829,74],[1830,74],[1831,74],[1832,74],[1833,74],[1834,74],[1835,74],[1836,74],[1837,74],[1838,74],[1839,74],[1840,74],[1841,74],[1842,74],[1843,74],[1844,74],[1845,74],[1846,74],[1847,74],[1848,74],[1849,74],[1850,74],[1851,74],[1852,74],[1853,74],[1854,74],[1855,74],[1856,74],[1857,74],[1858,74],[1859,74],[1860,74],[1861,74],[1862,74],[1863,74],[1864,74],[1865,74],[1867,74],[1866,74],[1868,74],[1869,74],[1870,74],[1871,74],[1872,74],[1873,74],[1874,74],[1875,74],[1876,74],[1877,74],[1878,74],[1879,74],[1880,74],[1881,74],[2030,264],[2029,265],[405,2],[374,2],[2083,266],[2082,267],[1614,2],[1409,268],[1408,2],[1088,2],[1089,269],[1414,270],[1411,271],[1412,272],[1413,272],[1410,273],[1090,274],[1091,275],[1405,276],[1394,74],[1407,277],[1404,276],[1401,278],[1402,278],[1403,2],[1406,2],[1147,279],[1395,2],[1397,280],[1400,281],[1399,2],[1398,280],[1396,282],[1126,283],[1136,284],[1133,284],[1134,285],[1118,285],[1132,285],[1113,284],[1119,286],[1122,287],[1127,288],[1115,286],[1116,285],[1129,289],[1114,286],[1120,286],[1123,286],[1128,286],[1130,285],[1117,285],[1131,285],[1125,290],[1121,291],[1146,292],[1124,293],[1135,294],[1112,285],[1137,285],[1138,285],[1139,285],[1140,285],[1141,285],[1142,285],[1143,285],[1144,285],[1145,285],[1347,2],[1344,2],[1343,2],[1338,295],[1349,296],[1334,297],[1345,298],[1337,299],[1336,300],[1346,2],[1341,301],[1348,2],[1342,302],[1335,2],[2614,303],[2613,304],[2612,297],[1351,305],[1593,306],[1594,306],[1596,307],[1595,306],[1588,306],[1589,306],[1591,308],[1590,306],[1568,2],[1567,2],[1570,309],[1569,2],[1566,2],[1533,310],[1531,311],[1534,2],[1581,312],[1535,306],[1571,313],[1580,314],[1572,2],[1575,315],[1573,2],[1576,2],[1578,2],[1574,315],[1577,2],[1579,2],[1532,316],[1607,317],[1592,306],[1587,318],[1597,319],[1603,320],[1604,321],[1606,322],[1605,323],[1585,318],[1586,324],[1582,325],[1584,326],[1583,327],[1598,306],[1602,328],[1599,306],[1600,329],[1601,306],[1536,2],[1537,2],[1540,2],[1538,2],[1539,2],[1542,2],[1543,330],[1544,2],[1545,2],[1541,2],[1546,2],[1547,2],[1548,2],[1549,2],[1550,331],[1551,2],[1565,332],[1552,2],[1553,2],[1554,2],[1555,2],[1556,2],[1557,2],[1558,2],[1561,2],[1559,2],[1560,2],[1562,306],[1563,306],[1564,333],[1333,2],[602,334],[4061,2],[4062,2],[4063,2],[4064,335],[2092,2],[2070,336],[2093,337],[2069,2],[4065,2],[4067,338],[600,2],[4068,339],[546,2],[2656,340],[2602,2],[4069,2],[2666,340],[4066,2],[3341,2],[3342,341],[140,342],[141,342],[142,343],[97,344],[143,345],[144,346],[145,347],[92,2],[95,348],[93,2],[94,2],[146,349],[147,350],[148,351],[149,352],[150,353],[151,354],[152,354],[153,355],[154,356],[155,357],[156,358],[98,2],[96,2],[157,359],[158,360],[159,361],[191,362],[160,363],[161,364],[162,365],[163,366],[164,367],[165,368],[166,369],[167,370],[168,371],[169,372],[170,372],[171,373],[172,2],[173,374],[175,375],[174,376],[176,17],[177,377],[178,378],[179,379],[180,380],[181,381],[182,382],[183,383],[184,384],[185,385],[186,386],[187,387],[188,388],[99,2],[100,2],[101,2],[139,389],[189,390],[190,391],[1969,392],[1909,74],[195,393],[460,74],[196,394],[194,395],[462,396],[461,397],[1350,74],[1321,398],[192,399],[458,2],[193,400],[83,2],[85,401],[457,74],[226,74],[2655,2],[4070,2],[542,402],[589,403],[587,2],[588,2],[534,2],[584,404],[581,405],[582,406],[603,407],[594,2],[597,408],[596,409],[608,409],[595,410],[533,2],[541,411],[583,411],[536,412],[539,413],[590,412],[540,414],[535,2],[601,2],[1018,415],[1017,416],[1015,2],[84,2],[2404,417],[2383,418],[2480,2],[2384,419],[2320,417],[2321,417],[2322,417],[2323,417],[2324,417],[2325,417],[2326,417],[2327,417],[2328,417],[2329,417],[2330,417],[2331,417],[2332,417],[2333,417],[2334,417],[2335,417],[2336,417],[2337,417],[2316,2],[2338,417],[2339,417],[2340,2],[2341,417],[2342,417],[2344,417],[2343,417],[2345,417],[2346,417],[2347,417],[2348,417],[2349,417],[2350,417],[2351,417],[2352,417],[2353,417],[2354,417],[2355,417],[2356,417],[2357,417],[2358,417],[2359,417],[2360,417],[2361,417],[2362,417],[2363,417],[2365,417],[2366,417],[2367,417],[2364,417],[2368,417],[2369,417],[2370,417],[2371,417],[2372,417],[2373,417],[2374,417],[2375,417],[2376,417],[2377,417],[2378,417],[2379,417],[2380,417],[2381,417],[2382,417],[2385,420],[2386,417],[2387,417],[2388,421],[2389,422],[2390,417],[2391,417],[2392,417],[2393,417],[2396,417],[2394,417],[2395,417],[2318,2],[2397,417],[2398,417],[2399,417],[2400,417],[2401,417],[2402,417],[2403,417],[2405,423],[2406,417],[2407,417],[2408,417],[2410,417],[2409,417],[2411,417],[2412,417],[2413,417],[2414,417],[2415,417],[2416,417],[2417,417],[2418,417],[2419,417],[2420,417],[2422,417],[2421,417],[2423,417],[2424,2],[2425,2],[2426,2],[2573,424],[2427,417],[2428,417],[2429,417],[2430,417],[2431,417],[2432,417],[2433,2],[2434,417],[2435,2],[2436,417],[2437,417],[2438,417],[2439,417],[2440,417],[2441,417],[2442,417],[2443,417],[2444,417],[2445,417],[2446,417],[2447,417],[2448,417],[2449,417],[2450,417],[2451,417],[2452,417],[2453,417],[2454,417],[2455,417],[2456,417],[2457,417],[2458,417],[2459,417],[2460,417],[2461,417],[2462,417],[2463,417],[2464,417],[2465,417],[2466,417],[2467,417],[2468,2],[2469,417],[2470,417],[2471,417],[2472,417],[2473,417],[2474,417],[2475,417],[2476,417],[2477,417],[2478,417],[2479,417],[2481,425],[2317,417],[2482,417],[2483,417],[2484,2],[2485,2],[2486,2],[2487,417],[2488,2],[2489,2],[2490,2],[2491,2],[2492,2],[2493,417],[2494,417],[2495,417],[2496,417],[2497,417],[2498,417],[2499,417],[2500,417],[2505,426],[2503,427],[2504,428],[2502,429],[2501,417],[2506,417],[2507,417],[2508,417],[2509,417],[2510,417],[2511,417],[2512,417],[2513,417],[2514,417],[2515,417],[2516,2],[2517,2],[2518,417],[2519,417],[2520,2],[2521,2],[2522,2],[2523,417],[2524,417],[2525,417],[2526,417],[2527,423],[2528,417],[2529,417],[2530,417],[2531,417],[2532,417],[2533,417],[2534,417],[2535,417],[2536,417],[2537,417],[2538,417],[2539,417],[2540,417],[2541,417],[2542,417],[2543,417],[2544,417],[2545,417],[2546,417],[2547,417],[2548,417],[2549,417],[2550,417],[2551,417],[2552,417],[2553,417],[2554,417],[2555,417],[2556,417],[2557,417],[2558,417],[2559,417],[2560,417],[2561,417],[2562,417],[2563,417],[2564,417],[2565,417],[2566,417],[2567,417],[2568,417],[2319,430],[2569,2],[2570,2],[2571,2],[2572,2],[2006,431],[2005,432],[2004,2],[2590,433],[2205,2],[551,2],[2605,434],[2604,435],[1196,436],[1198,437],[1197,438],[1195,439],[1194,2],[3340,440],[2080,2],[621,2],[574,2],[576,441],[575,2],[1024,74],[2735,2],[2709,442],[2708,443],[2707,444],[2734,445],[2733,446],[2737,447],[2736,448],[2739,449],[2738,450],[2694,451],[2668,452],[2669,453],[2670,453],[2671,453],[2672,453],[2673,453],[2674,453],[2675,453],[2676,453],[2677,453],[2678,453],[2692,454],[2679,453],[2680,453],[2681,453],[2682,453],[2683,453],[2684,453],[2685,453],[2686,453],[2688,453],[2689,453],[2687,453],[2690,453],[2691,453],[2693,453],[2667,455],[2732,456],[2712,457],[2713,457],[2714,457],[2715,457],[2716,457],[2717,457],[2718,458],[2720,457],[2719,457],[2731,459],[2721,457],[2723,457],[2722,457],[2725,457],[2724,457],[2726,457],[2727,457],[2728,457],[2729,457],[2730,457],[2711,457],[2710,460],[2702,461],[2700,462],[2701,462],[2705,463],[2703,462],[2704,462],[2706,462],[2699,2],[2242,2],[1322,74],[483,464],[488,1],[495,465],[478,466],[230,2],[238,467],[378,468],[381,469],[353,2],[366,470],[373,471],[255,2],[355,2],[236,2],[352,472],[398,473],[237,2],[228,474],[380,475],[382,476],[383,477],[455,478],[347,479],[300,480],[360,481],[361,482],[359,483],[358,2],[354,484],[379,485],[239,486],[425,2],[426,487],[266,488],[240,489],[267,488],[303,488],[206,488],[376,490],[375,2],[365,491],[473,2],[215,2],[494,492],[433,493],[434,494],[430,495],[512,2],[330,2],[435,104],[431,496],[517,497],[516,498],[511,2],[281,2],[333,499],[332,2],[510,500],[432,74],[286,501],[293,502],[295,503],[285,2],[290,504],[292,505],[294,506],[289,507],[287,2],[291,508],[513,2],[509,2],[515,509],[514,2],[284,510],[504,511],[507,512],[274,513],[273,514],[272,515],[520,74],[271,516],[260,2],[522,2],[2630,517],[2629,2],[523,74],[524,518],[198,2],[362,519],[363,520],[364,521],[202,2],[367,2],[222,522],[197,2],[447,74],[204,523],[446,524],[445,525],[436,2],[437,2],[444,2],[439,2],[442,526],[438,2],[440,527],[443,528],[441,527],[235,2],[232,2],[233,488],[387,2],[392,529],[393,530],[391,531],[389,532],[390,533],[385,2],[453,104],[227,104],[482,534],[489,535],[493,536],[321,537],[320,2],[315,2],[469,538],[477,539],[348,540],[349,541],[428,542],[337,2],[451,543],[325,74],[342,544],[454,545],[338,2],[341,546],[339,2],[452,547],[449,548],[448,2],[450,2],[345,2],[424,549],[210,550],[323,551],[327,552],[343,553],[346,554],[335,555],[328,556],[476,557],[401,558],[319,559],[207,560],[475,561],[203,562],[394,563],[386,2],[395,564],[413,565],[384,2],[412,566],[91,2],[407,567],[231,2],[427,568],[402,2],[216,2],[218,2],[357,2],[411,569],[234,2],[258,570],[344,571],[264,572],[324,2],[410,2],[388,2],[415,573],[416,574],[356,2],[418,575],[420,576],[419,577],[368,2],[409,560],[422,578],[318,579],[408,580],[414,581],[243,2],[247,2],[246,2],[245,2],[250,2],[244,2],[253,2],[252,2],[249,2],[248,2],[251,2],[254,582],[242,2],[310,583],[309,2],[314,584],[311,585],[313,586],[316,584],[312,585],[223,587],[302,588],[472,589],[470,2],[499,590],[501,591],[465,592],[500,593],[211,594],[208,594],[241,2],[225,595],[224,596],[220,597],[221,598],[229,599],[257,599],[268,599],[304,600],[269,600],[213,601],[212,2],[308,602],[307,603],[306,604],[305,605],[214,606],[456,607],[256,608],[464,609],[429,610],[459,611],[463,612],[351,613],[350,614],[331,615],[317,616],[299,617],[301,618],[298,619],[421,620],[322,2],[487,2],[219,621],[423,622],[471,623],[329,2],[259,624],[336,625],[334,626],[261,627],[396,628],[466,2],[262,629],[397,629],[485,2],[484,2],[486,2],[468,2],[467,2],[399,630],[326,2],[296,631],[217,632],[275,2],[201,633],[263,2],[491,74],[200,2],[503,634],[283,74],[497,104],[282,635],[480,636],[280,634],[205,2],[505,637],[278,74],[279,74],[270,2],[199,2],[277,638],[276,639],[265,640],[340,371],[400,371],[417,2],[404,641],[403,2],[288,510],[209,2],[297,74],[474,522],[481,642],[86,74],[89,643],[90,644],[87,74],[88,2],[377,645],[372,646],[371,2],[370,647],[369,2],[479,648],[490,649],[492,650],[496,651],[2631,652],[498,653],[502,654],[530,655],[506,655],[529,656],[508,657],[518,658],[519,659],[521,660],[525,661],[528,522],[527,2],[526,662],[2632,663],[1613,663],[1612,664],[1611,74],[1615,665],[2884,2],[2890,666],[2883,2],[2887,2],[2889,667],[2886,668],[2959,669],[2953,669],[2914,670],[2910,671],[2925,672],[2915,673],[2922,674],[2909,675],[2923,2],[2921,676],[2918,677],[2919,678],[2916,679],[2924,680],[2891,668],[2954,681],[2905,682],[2902,683],[2903,684],[2904,685],[2893,686],[2912,687],[2931,688],[2927,689],[2926,690],[2930,691],[2928,692],[2929,692],[2906,693],[2908,694],[2907,695],[2911,696],[2955,697],[2913,698],[2895,699],[2956,700],[2894,701],[2957,702],[2896,703],[2934,704],[2932,683],[2933,705],[2897,692],[2938,706],[2936,707],[2937,708],[2898,709],[2941,710],[2940,711],[2943,712],[2942,713],[2946,714],[2944,713],[2945,715],[2939,716],[2935,717],[2947,716],[2899,692],[2958,718],[2900,713],[2901,692],[2917,719],[2920,720],[2892,2],[2948,692],[2949,721],[2951,722],[2950,723],[2952,724],[2885,725],[2888,726],[1291,727],[1292,728],[1290,2],[569,729],[567,730],[568,731],[556,732],[557,730],[564,733],[555,734],[560,735],[570,2],[561,736],[566,737],[572,738],[571,739],[554,740],[562,741],[563,742],[558,743],[565,729],[559,744],[1340,745],[1339,2],[1036,2],[1052,746],[1053,746],[1054,746],[1055,746],[1069,747],[1056,748],[1057,748],[1058,749],[1049,750],[1047,751],[1038,2],[1042,752],[1046,753],[1044,754],[1051,755],[1039,756],[1040,757],[1041,758],[1043,759],[1045,760],[1048,761],[1050,762],[1059,748],[1060,748],[1061,748],[1062,746],[1063,748],[1064,748],[1037,748],[1065,2],[1067,763],[1066,748],[1068,746],[2255,764],[2256,765],[2698,766],[2697,767],[2109,768],[2202,769],[2200,770],[2107,2],[2108,771],[2201,2],[2203,772],[2111,773],[2110,774],[2114,775],[2181,776],[2176,777],[2077,778],[2147,779],[2140,780],[2197,781],[2075,782],[2146,783],[2135,784],[2134,774],[2180,785],[2177,786],[2128,787],[2139,788],[2182,789],[2183,789],[2184,790],[2192,791],[2186,791],[2194,791],[2198,791],[2185,791],[2187,792],[2190,792],[2193,792],[2189,793],[2191,791],[2195,794],[2188,795],[2086,796],[2161,74],[2158,797],[2162,74],[2097,791],[2087,791],[2153,798],[2076,799],[2096,800],[2100,801],[2160,791],[2073,74],[2159,802],[2157,74],[2156,791],[2088,74],[2207,803],[2171,795],[2151,804],[2212,805],[2169,2],[2167,2],[2172,806],[2170,807],[2166,808],[2168,809],[2173,810],[2175,811],[2165,74],[2095,812],[2072,791],[2164,791],[2113,813],[2163,74],[2136,812],[2196,791],[2130,814],[2084,815],[2089,816],[2141,817],[2143,814],[2122,818],[2125,814],[2101,819],[2124,820],[2132,821],[2133,822],[2129,823],[2144,824],[2131,825],[2106,826],[2152,827],[2148,828],[2149,829],[2145,830],[2123,831],[2112,832],[2116,833],[2090,834],[2120,835],[2121,836],[2117,837],[2091,838],[2102,839],[2142,822],[2085,840],[2150,2],[2115,841],[2105,842],[2137,2],[2209,843],[2210,844],[2211,771],[2178,2],[2208,771],[2199,2],[2126,2],[2098,2],[2174,845],[2127,2],[2078,771],[2206,846],[2104,847],[2138,848],[2103,849],[2179,850],[2118,2],[2154,2],[2155,851],[2099,2],[2119,2],[2204,2],[2074,74],[2081,852],[2079,2],[2741,853],[2740,854],[2696,855],[2695,856],[641,2],[548,857],[547,339],[406,858],[615,74],[553,2],[1016,2],[604,2],[537,2],[538,859],[2663,860],[2662,2],[81,2],[82,2],[13,2],[14,2],[16,2],[15,2],[2,2],[17,2],[18,2],[19,2],[20,2],[21,2],[22,2],[23,2],[24,2],[3,2],[25,2],[26,2],[4,2],[27,2],[31,2],[28,2],[29,2],[30,2],[32,2],[33,2],[34,2],[5,2],[35,2],[36,2],[37,2],[38,2],[6,2],[42,2],[39,2],[40,2],[41,2],[43,2],[7,2],[44,2],[49,2],[50,2],[45,2],[46,2],[47,2],[48,2],[8,2],[54,2],[51,2],[52,2],[53,2],[55,2],[9,2],[56,2],[57,2],[58,2],[60,2],[59,2],[61,2],[62,2],[10,2],[63,2],[64,2],[65,2],[11,2],[66,2],[67,2],[68,2],[69,2],[70,2],[1,2],[71,2],[72,2],[12,2],[76,2],[74,2],[79,2],[78,2],[73,2],[77,2],[75,2],[80,2],[117,861],[127,862],[116,861],[137,863],[108,864],[107,865],[136,662],[130,866],[135,867],[110,868],[124,869],[109,870],[133,871],[105,872],[104,662],[134,873],[106,874],[111,875],[112,2],[115,875],[102,2],[138,876],[128,877],[119,878],[120,879],[122,880],[118,881],[121,882],[131,662],[113,883],[114,884],[123,885],[103,886],[126,877],[125,875],[129,2],[132,887],[2665,888],[2661,2],[2664,889],[3335,890],[3319,2],[3320,2],[3322,891],[3323,2],[3321,2],[3324,891],[3325,891],[3327,892],[3326,891],[3328,891],[3329,892],[3330,891],[3331,2],[3332,891],[3333,2],[3334,2],[2658,893],[2657,340],[2660,894],[2659,895],[2071,896],[2094,897],[606,898],[592,899],[593,898],[591,2],[544,900],[580,901],[550,902],[545,900],[543,2],[549,903],[578,2],[573,2],[577,904],[552,2],[579,905],[612,906],[605,907],[598,908],[607,909],[586,910],[1191,911],[1192,912],[609,913],[1193,914],[610,915],[599,916],[1190,917],[611,918],[2607,919],[1199,920],[585,2],[2020,921],[2027,922],[2022,2],[2023,2],[2021,923],[2024,924],[2016,2],[2017,2],[2028,925],[2019,926],[2025,2],[2026,927],[2018,928],[1259,929],[1262,930],[1260,930],[1256,929],[1263,931],[1264,932],[1261,930],[1257,933],[1258,934],[1252,935],[1204,936],[1206,937],[1250,2],[1205,938],[1251,939],[1255,940],[1253,2],[1207,936],[1208,2],[1249,941],[1203,942],[1200,2],[1254,943],[1201,944],[1202,2],[1265,945],[1209,946],[1210,946],[1211,946],[1212,946],[1213,946],[1214,946],[1215,946],[1216,946],[1217,946],[1218,946],[1219,946],[1221,946],[1220,946],[1222,946],[1223,946],[1224,946],[1248,947],[1225,946],[1226,946],[1227,946],[1228,946],[1229,946],[1230,946],[1231,946],[1232,946],[1233,946],[1235,946],[1234,946],[1236,946],[1237,946],[1238,946],[1239,946],[1240,946],[1241,946],[1242,946],[1243,946],[1244,946],[1245,946],[1246,946],[1247,946],[2616,948],[2618,267],[2620,267],[2622,267],[2624,267],[2626,267],[2609,267],[2792,949],[2783,950],[1268,951],[1267,952],[1266,953],[2789,954],[2782,955],[2780,956],[2791,957],[2781,958],[2790,959],[2786,960],[2785,961],[2784,962],[1189,267],[2787,963],[2817,964],[2815,965],[2816,966],[2744,967],[2833,968],[2834,968],[2823,969],[2835,970],[2821,971],[1269,267],[2836,972],[2825,973],[1271,974],[1270,975],[2820,976],[2837,977],[2838,978],[2826,979],[1273,980],[2839,981],[2824,982],[2818,983],[2831,984],[2829,985],[2832,986],[2828,987],[2827,988],[2819,989],[2822,990],[2830,991],[2840,992],[2776,993],[2841,994],[2846,995],[2843,996],[2842,997],[2845,998],[2854,999],[2847,1000],[2855,1001],[2851,1002],[1275,1003],[1274,267],[2853,1004],[2849,1005],[2848,1006],[1276,267],[2856,1007],[2850,1008],[2852,1009],[2871,1010],[2868,1011],[2872,1012],[2858,1013],[2861,1014],[2860,1015],[1277,267],[1279,1016],[1278,1017],[2874,1018],[2875,1018],[2862,1019],[2873,1020],[2859,1021],[1280,267],[2864,1022],[2863,1023],[2876,1024],[2865,1025],[1282,1026],[1281,1027],[2877,1028],[2878,1029],[2866,1030],[1074,267],[2870,1031],[2867,1032],[2857,104],[2869,1033],[2651,1034],[1284,1035],[1283,1036],[2977,1037],[2974,1038],[2978,1039],[2969,1040],[1287,1041],[1286,1042],[2979,1043],[2980,1043],[2975,1044],[1289,1045],[1288,267],[2981,1046],[2970,1047],[2982,1048],[2881,1049],[2983,1050],[2972,1051],[2984,1052],[2973,1053],[2985,1054],[2880,1055],[1297,1056],[1296,1057],[2986,1058],[2987,1059],[1295,1060],[1299,1061],[1298,1062],[2976,1063],[2989,1064],[1310,1065],[2990,1066],[2991,1067],[1308,1068],[2992,1069],[2993,1069],[1330,1070],[2994,1071],[1325,1072],[1331,1073],[2997,1074],[1319,1075],[2998,1076],[1317,1077],[2999,1078],[1316,1079],[1355,1080],[1315,1081],[1311,1082],[1356,1083],[1318,1084],[2995,1085],[1307,1086],[1332,1087],[1326,1088],[2996,1089],[1309,1086],[1302,267],[1352,1090],[1329,1091],[1353,1092],[1327,1093],[1354,1094],[1328,1093],[2988,1095],[3071,1096],[3061,1097],[3073,1098],[3072,1099],[3074,1100],[3064,1101],[3075,1102],[3067,1103],[3076,1104],[3066,1105],[3077,1106],[3065,1107],[3070,1108],[3069,1109],[3038,1110],[3039,1111],[3016,1112],[1361,267],[3019,1113],[3049,1114],[3007,1115],[3005,1116],[3050,1117],[3008,1118],[3051,1119],[3020,1120],[3052,1121],[3021,1122],[3053,1123],[3054,1124],[3001,1125],[3055,1126],[3002,1127],[3004,1128],[3056,1129],[3000,1130],[3003,1113],[3057,1131],[1647,1132],[3058,1133],[3006,1134],[3059,1135],[1362,1136],[1363,1137],[3040,1138],[3028,1139],[3041,1140],[3026,1141],[1357,267],[1360,1142],[1359,1143],[3042,1144],[3027,1145],[3043,1146],[3044,1147],[3022,1148],[3045,1149],[1358,1150],[3010,1151],[3011,1152],[3046,1153],[3018,1154],[3009,1155],[3035,1156],[3030,1157],[3017,1158],[3032,1159],[3024,1160],[3033,1161],[3025,1162],[3034,1163],[3023,1164],[3012,1165],[3047,1166],[3013,1167],[3048,1168],[3014,1169],[3036,1170],[3037,1171],[3029,1172],[3060,1173],[3015,1174],[3031,1175],[1385,1176],[1386,1177],[1384,1178],[1387,1179],[1388,1179],[1390,1180],[1389,1181],[1098,1182],[1391,1183],[1393,1184],[1392,1185],[1417,1186],[1419,1187],[1418,1188],[1421,1189],[1420,1183],[1423,1190],[1422,1183],[1425,1191],[1424,1183],[1428,1192],[1427,1193],[1429,1194],[1092,267],[3079,1195],[1416,1196],[1430,975],[1432,1197],[1431,1198],[1433,1197],[1434,1199],[1436,1200],[1435,1201],[1438,1202],[1437,1203],[1440,1204],[1439,1201],[1441,1201],[1442,1182],[1444,1205],[1443,1201],[1446,1206],[1447,1207],[1445,1208],[1448,1209],[1450,1210],[1449,1209],[1451,1182],[1452,1211],[1453,1183],[1454,1201],[1455,1182],[1457,1212],[1456,1201],[1459,1213],[1458,1214],[1461,1215],[1460,1216],[1462,1216],[1464,1217],[1463,1182],[1465,1218],[1162,1201],[1467,1219],[1466,1220],[1468,1221],[1367,1201],[1471,1222],[1470,1223],[1473,1224],[1472,1223],[1475,1225],[1474,1226],[1476,1227],[1469,1178],[1478,1228],[1477,1223],[1480,1229],[1479,1182],[1482,1230],[1481,1201],[1380,1231],[1484,1232],[1483,1201],[1485,1183],[1487,1233],[1489,1234],[1488,1188],[1491,1235],[1490,1236],[1493,1237],[1492,1211],[1495,1238],[1494,1201],[1497,1239],[1496,1211],[1498,1240],[1500,1241],[1499,1242],[1502,1243],[1501,1244],[1504,1245],[1503,1246],[1505,1247],[1093,1182],[1508,1248],[1507,1249],[1509,1250],[1506,1182],[1511,1251],[1510,1182],[1364,1252],[1365,1253],[1094,1254],[1369,1255],[1371,1256],[1372,1256],[1374,1257],[1373,1256],[1376,1258],[1375,1256],[1377,1256],[1378,1259],[1368,1260],[1381,1261],[1513,1262],[1512,1182],[1515,1263],[1514,1201],[1517,1264],[1516,1178],[3078,1265],[1383,1266],[2748,1267],[2745,1268],[2743,1269],[3092,1270],[3112,1271],[3117,1272],[3157,1273],[3158,1274],[3137,1275],[1519,1276],[1518,1277],[1522,1278],[1521,1279],[3122,1280],[1524,1281],[1525,1282],[1523,1283],[3159,1284],[3134,1285],[3125,1286],[3155,1287],[3175,1288],[3138,1289],[3176,1290],[3127,1291],[3177,1292],[3146,1293],[3178,1294],[3126,1295],[3179,1296],[3141,1297],[3180,1298],[3181,1299],[3140,1300],[3182,1301],[3142,1302],[3183,1303],[3149,1304],[3184,1305],[3128,1306],[3185,1307],[3154,1308],[1527,1309],[1526,1310],[3174,1311],[1528,1312],[3162,1313],[3160,1314],[3133,1315],[3161,1316],[3145,1317],[3163,1318],[3130,1319],[3164,1320],[3139,1321],[3165,1322],[3113,1323],[3114,1324],[3167,1325],[3116,1326],[3166,1327],[3115,1328],[1530,1329],[1529,1330],[3168,1331],[3120,1332],[3118,1333],[3132,1334],[3169,1335],[3131,1336],[3170,1337],[3123,1338],[3129,1339],[1608,1340],[3119,1341],[3124,1342],[3150,1343],[1610,1344],[1609,1345],[3171,1346],[3151,1347],[3172,1348],[3121,1349],[3173,1350],[3148,1351],[3186,1352],[1520,1323],[3156,1353],[3194,1354],[3187,1355],[3195,1356],[3188,1357],[3196,1358],[3190,1359],[3189,1360],[3197,1361],[3191,1362],[3193,1363],[3192,1364],[3216,1365],[3290,1366],[3243,1367],[3291,1368],[3242,1369],[1622,1370],[1621,1371],[3294,1372],[3250,1373],[3249,1374],[3248,1375],[1624,1376],[1623,267],[3292,1377],[3281,1378],[3241,1379],[3293,1380],[3286,1381],[1617,1382],[1616,1383],[3289,1384],[3288,1385],[3295,1386],[3260,1387],[3244,1388],[3251,1389],[3296,1390],[3280,1391],[3265,1392],[3284,1393],[3282,1394],[3276,1395],[3287,1396],[1618,1397],[1626,1398],[1625,267],[1188,975],[3301,1399],[3299,1400],[3300,1401],[3315,1402],[3313,1403],[3316,1404],[3312,1405],[3311,1406],[3306,1407],[3305,1408],[3314,1409],[2778,1410],[2777,1411],[3422,1412],[3444,1413],[3414,1414],[3445,1415],[3436,1416],[3446,1417],[3423,1418],[3447,1419],[3415,1420],[1628,1421],[3424,1422],[3416,1423],[3448,1424],[3417,1425],[3449,1426],[3431,1427],[3450,1428],[3435,1429],[3451,1430],[3425,1431],[3418,1432],[3452,1433],[3419,1434],[3453,1435],[3420,1436],[3454,1437],[3421,1438],[3455,1439],[3434,1440],[3429,1441],[3432,1423],[3428,1425],[3430,1442],[3433,1443],[1630,1444],[1629,267],[3456,1445],[3441,1446],[3457,1447],[3439,1448],[3458,1449],[3437,1450],[3459,1451],[3440,1452],[3461,1453],[3460,1454],[3462,1455],[3438,1456],[1633,1457],[1632,1458],[3318,1459],[1638,1460],[1637,1461],[1640,1462],[3338,1463],[3463,1464],[3406,1465],[3464,1466],[3407,1467],[3465,1468],[3408,1469],[3466,1470],[3409,1471],[1631,975],[3410,1469],[3411,1469],[3413,1471],[3443,1472],[3442,1473],[3487,1474],[3477,1475],[3488,1476],[3471,1477],[3489,1478],[3482,1479],[3485,1480],[3474,1481],[3473,1482],[1643,1483],[1642,1484],[3490,1485],[3480,1486],[3491,1487],[3472,1488],[3492,1489],[3475,1490],[3493,1491],[3483,1492],[3494,1493],[3469,1494],[3495,1495],[3470,1496],[3496,1497],[3479,1498],[3497,1499],[3478,1500],[3486,1501],[3468,1502],[3467,1503],[1645,1504],[1644,267],[3498,1505],[3481,1506],[3476,1132],[3484,1507],[3509,1508],[3504,1509],[3510,1510],[3503,1511],[3511,1512],[3502,1513],[3501,1514],[3514,1515],[3515,1516],[3499,1517],[3516,1518],[3517,1519],[3500,1520],[3518,1521],[1924,1522],[1646,953],[1926,1523],[1925,1524],[3512,1525],[3507,1526],[3513,1527],[3506,1528],[3505,1529],[3508,1530],[3547,1531],[3524,1532],[3548,1533],[3544,1534],[3543,1535],[3560,1536],[3533,1537],[3565,1538],[3538,1539],[3561,1540],[3534,1541],[3562,1542],[3537,1452],[3563,1543],[3535,1544],[1930,1545],[1931,1546],[3564,1547],[3532,1134],[3536,104],[3552,1548],[3530,1549],[3540,1550],[3542,1551],[3553,1552],[3527,1553],[3554,1554],[3522,1555],[3555,1556],[3526,1557],[3556,1558],[3531,1559],[3557,1560],[3539,1561],[3558,1562],[3528,1563],[1927,267],[1929,1564],[1928,1565],[3559,1566],[3541,1567],[3549,1568],[3523,1569],[3519,1570],[3546,1571],[3521,1572],[3520,1573],[3550,1574],[3525,1575],[3551,1576],[3529,1577],[3545,1578],[3567,1579],[2968,1580],[3566,1581],[3578,1582],[3579,1583],[3570,1584],[3576,1585],[3580,1586],[3568,1587],[1933,1588],[1932,267],[3584,1589],[3585,1589],[3575,1590],[3581,1591],[3572,1592],[3571,1593],[3582,1594],[3573,1595],[3583,1596],[3574,1597],[3569,267],[3577,1598],[3593,1599],[3586,1600],[3591,1601],[3589,1602],[3592,1603],[3588,1604],[3587,1605],[3590,1606],[3603,1607],[3597,1608],[3601,1609],[3598,1610],[3602,1611],[3594,1612],[3600,1613],[3596,1614],[3595,1615],[3599,1616],[3611,1617],[3618,1618],[3621,1619],[3620,1620],[3619,1621],[3624,1622],[3623,1623],[3622,1624],[3648,1625],[3632,1626],[3649,1627],[3633,1626],[3650,1628],[3634,1629],[3647,1630],[3635,1631],[3651,1632],[3639,1633],[1936,1634],[1938,1635],[1937,1636],[3652,1637],[3640,1638],[3653,1639],[3638,1640],[1935,1641],[1934,267],[3637,267],[3645,1642],[3641,1643],[3646,1644],[3643,1645],[3654,1646],[3642,1647],[1939,1648],[1294,1649],[3644,1650],[3665,1651],[3656,1652],[3668,1653],[3658,1654],[1942,1655],[1941,1656],[1943,1657],[1940,953],[3663,1658],[3666,1659],[3655,1660],[3667,1661],[3662,1662],[3670,1663],[3671,1664],[3661,1665],[3669,1666],[3660,1667],[3659,1668],[3664,1669],[3685,1670],[3686,1671],[3681,1672],[3687,1673],[3679,1674],[3678,1675],[3695,1676],[3683,1677],[1182,1678],[3688,1679],[1181,1680],[1180,1681],[3689,1682],[3680,1683],[3690,1684],[3682,1685],[3696,1686],[3697,1687],[3677,1688],[3691,1689],[3692,1690],[3675,1691],[3693,1692],[3674,1693],[3673,1694],[3694,1695],[3676,1696],[3684,1697],[3701,1698],[3700,1699],[3699,1700],[3698,1701],[3709,1702],[3711,1703],[3714,1704],[3703,1705],[3702,1706],[3716,1707],[3707,1708],[3706,1709],[3718,1710],[3720,1711],[3719,1712],[3722,1713],[3721,1714],[2636,1715],[3724,1716],[3725,1717],[3723,1718],[3726,1719],[3727,1720],[3728,1721],[3729,1722],[3731,1723],[3730,1724],[3735,1725],[3734,1726],[3736,1727],[3737,1728],[3733,1729],[3738,1730],[3732,1731],[3739,1732],[2294,267],[3759,1733],[3626,1734],[2032,1132],[1085,1735],[3862,1736],[3247,1737],[3258,267],[3854,1738],[3259,1739],[3864,1740],[3252,1741],[3865,1742],[3218,1743],[1619,267],[3855,1744],[3246,1745],[1992,1746],[1991,1747],[1994,1748],[1993,267],[1995,1749],[1110,1750],[3866,1751],[3222,1752],[1102,1753],[3856,1754],[1097,1755],[1996,1756],[1096,267],[1997,1757],[1078,1758],[1998,1759],[1108,1760],[3857,1761],[1106,1762],[3867,1763],[3253,1764],[1104,1765],[3245,1766],[3868,1767],[3255,1768],[1999,1769],[1100,267],[3858,1770],[1101,1771],[1109,1772],[3869,1773],[3254,1774],[3870,1775],[3256,1776],[2033,1132],[3871,1777],[3257,1778],[3859,1779],[2034,1780],[3860,1781],[1105,1782],[2000,1783],[1107,1784],[3861,1785],[1103,1786],[3760,1787],[3271,1788],[3872,1789],[1648,1790],[1272,1036],[3783,1791],[3198,1792],[3789,1793],[3199,1794],[3790,1795],[3201,1796],[3791,1797],[3203,1798],[3784,1799],[3200,1792],[3785,1800],[3215,1801],[3786,1802],[3204,1792],[3210,1803],[3787,1804],[3208,1805],[3788,1806],[3207,1807],[3082,1808],[3873,1809],[3081,1810],[3740,1811],[1950,1812],[3761,1813],[3657,1814],[1886,1150],[3704,1815],[2009,1816],[3874,1817],[2008,1818],[3875,1819],[3713,1820],[2007,1821],[3708,1822],[3876,1823],[3715,1824],[3877,1825],[3712,1826],[3878,1827],[3705,1828],[3710,1829],[2001,1830],[3717,1831],[2010,1832],[2002,1833],[3879,1834],[3213,1835],[3426,1836],[1627,267],[3880,1837],[3427,1838],[3881,1839],[1635,1840],[1636,1545],[2012,1841],[2011,1842],[3211,1843],[3209,1844],[1034,1036],[3762,1845],[3627,1846],[3792,1847],[3088,1848],[3793,1849],[3794,1850],[3085,1851],[3795,1852],[3083,1438],[3084,1853],[3796,1854],[3087,1855],[1962,1856],[1961,267],[3797,1857],[3798,1858],[3086,1859],[1426,267],[1324,1860],[1649,1861],[2757,1862],[1650,1021],[1072,1863],[3882,1864],[2750,1865],[3883,1866],[2758,1867],[2746,975],[3903,1868],[3302,1869],[3904,1870],[3303,1871],[3905,1872],[3304,1873],[2013,1312],[3906,1874],[3205,1875],[3907,1876],[3206,1877],[3884,1878],[1651,1879],[3885,1880],[2751,1881],[3886,1882],[2650,1883],[3236,1884],[3887,1885],[3229,1886],[3888,1887],[1884,1888],[3889,1889],[1883,1890],[3890,1891],[1071,1892],[3892,1893],[3891,1812],[3893,1894],[1904,1895],[3894,1896],[3270,1897],[1885,1790],[3269,1898],[3895,1899],[1889,1900],[1905,1901],[3896,1902],[1890,1903],[3897,1904],[1900,1905],[2015,1906],[2014,1907],[3898,1908],[2759,1909],[3900,1910],[1303,1911],[1903,1912],[3901,1913],[3636,1914],[3902,1915],[3226,1916],[3899,1917],[3628,1918],[2793,104],[3741,1919],[1911,1920],[3742,1921],[2647,1922],[3743,1923],[2652,1924],[3799,1925],[3095,1926],[3800,1927],[3094,1928],[3093,1929],[3801,1930],[3098,1931],[3802,1932],[3097,1933],[3096,1934],[3744,1935],[2844,1936],[2036,1937],[2037,1938],[2035,1939],[3908,1940],[2038,1941],[2039,1942],[1033,1943],[3763,1944],[3080,1945],[3803,1946],[1971,1947],[3804,1948],[1966,1949],[3805,1950],[1967,1951],[3806,1952],[1968,1953],[1973,1954],[1965,1955],[3807,1956],[1972,1957],[1974,1958],[1970,1959],[3909,1960],[2767,1961],[2040,267],[3745,1962],[3230,1963],[3062,1964],[3808,1965],[3063,104],[1975,267],[3746,1966],[1320,1537],[3764,1967],[2231,267],[1944,1968],[1170,267],[3910,1969],[1912,1970],[1913,1971],[3913,1972],[1081,975],[2043,1973],[2042,1974],[1032,1975],[3911,1976],[2041,1977],[1031,1978],[2045,1979],[2044,1980],[3912,1981],[1914,1982],[2047,1983],[2046,1984],[2049,1985],[2048,104],[3765,1986],[3266,1987],[3766,1988],[1958,1989],[3747,1990],[2654,1991],[3914,1992],[3317,1993],[1639,267],[3915,1994],[1082,1995],[2051,1996],[2050,1323],[3916,1997],[3412,1998],[3767,1999],[2760,2000],[2052,2001],[3917,2002],[1915,2003],[3918,2004],[1918,2005],[3919,2006],[3147,2007],[1075,267],[1917,2008],[3920,2009],[3336,2010],[3921,2011],[1073,267],[2054,2012],[2053,1088],[3922,2013],[3261,2014],[3923,2015],[3264,2016],[3924,2017],[3263,2018],[3262,2019],[3925,2020],[3219,2021],[3926,2022],[3279,2023],[3927,2024],[3278,2025],[3277,2026],[3928,2027],[3240,2028],[2055,267],[3202,2029],[3283,2030],[3768,2031],[3225,2032],[3223,2033],[3809,2034],[2779,2035],[1977,2036],[1976,267],[3929,2037],[3217,1873],[3930,2038],[1306,2039],[3931,2040],[2960,2041],[3769,2042],[2649,2043],[3811,2044],[2639,2045],[3812,2046],[2641,2047],[1978,2048],[1951,267],[1979,267],[3813,2049],[2642,2050],[3814,2051],[2648,2052],[3810,2053],[2644,2054],[3815,2055],[2646,2056],[1945,2057],[1187,2058],[3748,2059],[2653,2060],[625,1036],[2764,2061],[3770,2062],[1910,2063],[3934,2064],[3935,2065],[1923,2066],[2056,2067],[1921,2068],[3932,2069],[3933,2070],[2765,2071],[2058,2072],[2057,267],[2059,2073],[1922,267],[2062,2074],[2061,2075],[3937,2076],[3308,2077],[2064,2078],[2063,2079],[3938,2080],[3307,2081],[2060,953],[3936,2082],[3310,2083],[1946,267],[1960,2084],[1959,2085],[3771,2086],[3272,2087],[3816,2088],[3274,2089],[3273,2090],[3817,2091],[3275,2092],[3772,2093],[3630,2094],[2763,2095],[3939,2096],[2762,2097],[2761,2098],[3940,2099],[2768,2100],[1641,267],[3773,2101],[3285,2102],[3774,2103],[1305,2104],[3775,2105],[3214,2106],[3212,2107],[3776,2108],[3267,2109],[3777,2110],[3268,2111],[3946,2112],[2882,2113],[3941,2114],[1891,1134],[3942,2115],[1892,1134],[3943,2116],[1895,2117],[3944,2118],[1893,1021],[3945,2119],[1894,2120],[3949,2121],[2967,2122],[3947,2123],[2966,2124],[2066,2125],[2065,2126],[3948,2127],[2965,2128],[2964,2129],[2963,2130],[2067,267],[1486,267],[3749,2131],[2794,2132],[3950,2133],[3231,2134],[3778,2135],[3091,2136],[1980,267],[3818,2137],[2809,2138],[3819,2139],[2811,2140],[3820,2141],[2810,1438],[3821,2142],[2795,2143],[3822,2144],[3144,2145],[3823,2146],[3143,2147],[1982,2148],[1981,1471],[3824,2149],[2812,2150],[1983,953],[1984,1150],[3830,2151],[2798,2152],[3831,2153],[2797,2154],[3832,2155],[2799,2156],[3833,2157],[3834,2158],[2800,2159],[3825,2160],[2801,1873],[3826,2161],[2802,2162],[3827,2163],[2805,2164],[3828,2165],[2803,1438],[3829,2166],[2804,2167],[1986,2168],[1985,2169],[3835,2170],[2806,2171],[3836,2172],[2807,2173],[3837,2174],[2808,2175],[3838,2176],[3090,2177],[3089,2178],[1987,267],[3839,2179],[1899,2180],[3840,2181],[1896,2182],[3841,2183],[2961,2184],[1897,2185],[3843,2186],[2962,2187],[3842,2188],[1898,2189],[3068,104],[3966,2190],[2753,2191],[3951,2192],[1908,2193],[3952,2194],[3309,2195],[3967,2196],[3629,1731],[3975,2197],[2215,2198],[3976,2199],[2216,2198],[3977,2200],[2217,2201],[3978,2202],[2214,2203],[2068,267],[3979,2204],[2218,2198],[2220,2205],[3980,2206],[2219,2198],[3953,2207],[1952,1871],[3954,2208],[1919,2209],[1149,2210],[3968,2211],[3969,2212],[1153,2213],[3970,2214],[1155,2215],[3971,2216],[1152,2217],[3972,2218],[1157,2219],[3973,2220],[1160,2221],[3974,2222],[1159,2223],[1158,2224],[1161,2225],[1148,2226],[1964,267],[3955,2227],[1168,2228],[2766,267],[3981,2229],[1906,1892],[3227,2230],[3221,2231],[3956,2232],[1173,2233],[3957,2234],[1174,2235],[3958,2236],[1076,1132],[1887,1134],[3959,2237],[2747,2238],[3960,2239],[2971,2240],[3961,2241],[1902,2240],[3962,2242],[2879,2243],[2796,2244],[2755,2245],[3963,2246],[1026,1132],[3964,2247],[1949,2248],[2754,2249],[3982,2250],[1163,2251],[1164,2252],[3983,2253],[1165,2254],[3984,2255],[1167,2256],[3985,2257],[1169,2258],[1177,2259],[3986,2260],[1171,2261],[3987,2262],[1172,1636],[3988,2263],[1175,2264],[3989,2265],[1176,2266],[3965,2267],[2638,2268],[1901,2269],[3844,2270],[1955,2271],[3751,2272],[1957,2273],[3750,2274],[2813,2275],[3990,2276],[3337,2277],[623,267],[3991,2278],[3606,2279],[3605,2280],[3604,2281],[2770,2282],[3992,2283],[3993,2283],[3232,2284],[3228,2285],[3994,2286],[1888,2287],[3999,2288],[3234,2289],[2222,2290],[2221,267],[3995,2291],[3235,2292],[4000,2293],[3233,267],[2224,2294],[2223,267],[3996,2295],[3239,2296],[3997,2297],[3237,2298],[2226,2299],[2225,267],[3998,2300],[3238,2301],[2227,1211],[3753,2302],[3610,2303],[3845,2304],[3609,2305],[3608,2306],[3752,2307],[3607,2308],[2229,2309],[2228,267],[4004,2310],[2771,2311],[4005,2312],[4006,2313],[2772,2314],[2230,267],[2233,2315],[2232,2316],[2769,1903],[4001,2317],[2752,2318],[4002,2319],[4003,2320],[2756,2321],[3846,2322],[2645,2323],[3754,2324],[3613,2325],[3847,2326],[3612,2327],[3848,2328],[3616,2329],[1988,1183],[3849,2330],[3615,2331],[3850,2332],[3614,2333],[3755,2334],[3617,2335],[4007,2336],[1300,2337],[1907,2338],[4008,2339],[1953,2340],[4009,2341],[1099,2342],[4010,2343],[2637,997],[2640,2344],[4011,2345],[1020,2346],[1077,1875],[4012,2347],[2213,2348],[1156,2349],[1080,2350],[1025,2351],[1095,2352],[1314,2353],[4013,2354],[1029,2355],[2749,2356],[1023,2357],[1021,1875],[1027,1875],[1954,2358],[1083,2359],[4014,2360],[1948,2361],[4015,2362],[1030,2363],[1028,2364],[1154,2352],[1150,2365],[1084,2366],[2635,2367],[1079,2368],[1151,1875],[1301,2369],[1022,1875],[4016,2370],[1035,2371],[4017,2372],[1313,2373],[3756,2374],[2814,2375],[3757,2376],[3779,2377],[3220,2378],[3852,2379],[3298,2380],[3851,2381],[3625,2382],[1285,267],[1990,2383],[1989,267],[3780,2384],[3631,2385],[3781,2386],[2775,2387],[3758,2388],[2742,2389],[1111,267],[4018,2390],[1920,2391],[3782,2392],[3672,2393],[4030,2394],[3101,2395],[3102,2396],[4019,2397],[3100,2398],[3099,2399],[2240,267],[4020,2400],[2251,104],[2234,267],[4021,2401],[2250,2402],[2249,2403],[2238,2404],[4031,2405],[2237,104],[2247,2406],[2246,104],[4032,2407],[2248,2408],[4033,2409],[2245,104],[4026,2410],[4027,2410],[3111,2411],[4028,2412],[3103,2413],[2235,1383],[4034,2414],[2241,2415],[4035,2416],[2270,2417],[2239,267],[2243,2418],[4036,2419],[2273,2420],[2280,2421],[4037,2422],[2274,2423],[4038,2424],[2257,2425],[4039,2426],[2278,2427],[4040,2428],[2279,2429],[4041,2430],[2275,2431],[2267,267],[2268,2432],[4042,2433],[2277,2434],[4043,2435],[2276,2436],[4044,2437],[1183,2438],[4045,2439],[2269,2440],[4046,2441],[2272,2442],[4047,2443],[2271,2444],[4048,2445],[2254,267],[4049,2446],[2253,2447],[2244,2448],[2281,2449],[2258,267],[4029,2450],[3104,2451],[3105,2452],[4022,2453],[3106,2454],[4023,2455],[3110,2456],[3109,2457],[4024,2458],[3108,2459],[2261,2460],[2266,2461],[2262,2462],[2263,2463],[2264,2464],[4050,2465],[2265,2466],[2259,267],[2282,2467],[2260,2468],[4025,2469],[3107,267],[2236,2470],[2252,2471],[3224,267],[3297,2472],[2773,2473],[3853,2474],[2774,2475],[2633,2476],[2003,2477],[4051,2478],[2643,2479],[2634,2480],[1947,2481],[2288,2482],[2286,2482],[2285,2482],[2287,2483],[2284,2482],[2283,2482],[2289,975],[4055,2484],[2292,2485],[1312,104],[4052,2486],[3135,2487],[4053,2488],[1323,2489],[3136,2490],[4054,2491],[3152,2492],[3153,2493],[2290,104],[2291,2494],[2293,2495],[1304,2496],[2296,2497],[2295,2498],[2297,2499],[1019,2500],[2300,2501],[2299,2502],[2302,2503],[2301,267],[4056,2504],[2031,2505],[2303,2506],[2304,2506],[1293,2507],[2305,2508],[616,267],[2306,2509],[1184,267],[2307,2510],[1185,2511],[624,2],[1186,267],[2298,2512],[617,2513],[614,267],[2308,2514],[2309,2515],[1366,2516],[2310,2517],[620,2518],[2311,2519],[1166,2520],[1415,267],[1179,2521],[2312,267],[2314,2522],[2313,267],[2315,2523],[622,2524],[2575,2525],[2574,2526],[2577,2527],[2576,267],[2578,2528],[1956,267],[2579,2529],[1370,267],[2580,267],[2582,2530],[2581,267],[2583,2531],[619,2532],[2584,2533],[1916,267],[2585,2534],[1178,975],[2586,2535],[1620,2536],[2587,267],[2588,2537],[1634,267],[2589,2538],[1379,975],[2592,2539],[2591,2540],[2595,2541],[2594,2542],[2596,2543],[2593,267],[2597,2544],[1086,267],[2598,2545],[1087,975],[618,267],[2599,2546],[1382,2521],[2600,2547],[1963,1984],[2601,2548],[1070,267],[4057,2549],[2617,2550],[2619,2551],[2621,2552],[2623,2553],[2625,2554],[2627,2555],[2606,2556],[2608,2557],[2610,2558],[2628,2376],[3863,1310],[2611,2559],[2615,2560],[2788,2561],[4058,2562],[613,2563]],"semanticDiagnosticsPerFile":[[1444,[{"start":5247,"length":6,"code":2322,"category":1,"messageText":"Type 'string' is not assignable to type 'undefined'."}]],[1447,[{"start":1996,"length":15,"code":2322,"category":1,"messageText":"Type 'number' is not assignable to type 'ModelBudgetConfig'."},{"start":3425,"length":10,"code":2322,"category":1,"messageText":"Type 'number' is not assignable to type 'ModelBudgetConfig'."}]],[1495,[{"start":643,"length":6,"code":2739,"category":1,"messageText":"Type '{ google_client_id: string; google_client_secret: string; microsoft_client_id: string; microsoft_client_secret: string; microsoft_tenant: string; generic_client_id: string; generic_client_secret: string; ... 7 more ...; team_mappings: { ...; }; }' is missing the following properties from type 'SSOSettingsValues': saml_idp_metadata_url, saml_idp_metadata_xml, saml_sp_entity_id, saml_allow_unsolicited, generic_scope","relatedInformation":[{"file":"./src/app/(dashboard)/hooks/sso/usessosettings.ts","start":1521,"length":6,"messageText":"The expected type comes from property 'values' which is declared here on type 'SSOSettingsResponse'","category":3,"code":6500}],"canonicalHead":{"code":2322,"messageText":"Type '{ google_client_id: string; google_client_secret: string; microsoft_client_id: string; microsoft_client_secret: string; microsoft_tenant: string; generic_client_id: string; generic_client_secret: string; ... 7 more ...; team_mappings: { ...; }; }' is not assignable to type 'SSOSettingsValues'."}},{"start":7416,"length":6,"code":2739,"category":1,"messageText":"Type '{ google_client_id: null; google_client_secret: null; microsoft_client_id: null; microsoft_client_secret: null; microsoft_tenant: null; generic_client_id: null; generic_client_secret: null; ... 7 more ...; team_mappings: { ...; }; }' is missing the following properties from type 'SSOSettingsValues': saml_idp_metadata_url, saml_idp_metadata_xml, saml_sp_entity_id, saml_allow_unsolicited, generic_scope","relatedInformation":[{"file":"./src/app/(dashboard)/hooks/sso/usessosettings.ts","start":1521,"length":6,"messageText":"The expected type comes from property 'values' which is declared here on type 'SSOSettingsResponse'","category":3,"code":6500}],"canonicalHead":{"code":2322,"messageText":"Type '{ google_client_id: null; google_client_secret: null; microsoft_client_id: null; microsoft_client_secret: null; microsoft_tenant: null; generic_client_id: null; generic_client_secret: null; ... 7 more ...; team_mappings: { ...; }; }' is not assignable to type 'SSOSettingsValues'."}}]],[1517,[{"start":1402,"length":5,"code":2322,"category":1,"messageText":{"messageText":"Type '{ user_id: string; user_email: string; user_alias: null; user_role: string; spend: number; max_budget: null; key_count: number; created_at: string; updated_at: string; sso_user_id: null; budget_duration: null; }[]' is not assignable to type 'UserInfo[]'.","category":1,"code":2322,"next":[{"messageText":"Property 'models' is missing in type '{ user_id: string; user_email: string; user_alias: null; user_role: string; spend: number; max_budget: null; key_count: number; created_at: string; updated_at: string; sso_user_id: null; budget_duration: null; }' but required in type 'UserInfo'.","category":1,"code":2741,"canonicalHead":{"code":2322,"messageText":"Type '{ user_id: string; user_email: string; user_alias: null; user_role: string; spend: number; max_budget: null; key_count: number; created_at: string; updated_at: string; sso_user_id: null; budget_duration: null; }' is not assignable to type 'UserInfo'."}}]},"relatedInformation":[{"file":"./src/components/networking.tsx","start":30475,"length":6,"messageText":"'models' is declared here.","category":3,"code":2728},{"file":"./src/components/networking.tsx","start":30782,"length":5,"messageText":"The expected type comes from property 'users' which is declared here on type 'UserListResponse'","category":3,"code":6500}]}]],[1929,[{"start":328,"length":6,"code":2741,"category":1,"messageText":"Property 'environment' is missing in type '{ name: string; model: string; config: {}; tools: never[]; developerMessage: string; messages: { role: string; content: string; }[]; }' but required in type 'PromptType'.","relatedInformation":[{"file":"./src/app/(dashboard)/prompts/_components/prompt_editor_view/types.ts","start":368,"length":11,"messageText":"'environment' is declared here.","category":3,"code":2728}],"canonicalHead":{"code":2322,"messageText":"Type '{ name: string; model: string; config: {}; tools: never[]; developerMessage: string; messages: { role: string; content: string; }[]; }' is not assignable to type 'PromptType'."}},{"start":784,"length":6,"code":2741,"category":1,"messageText":"Property 'environment' is missing in type '{ name: string; model: string; config: {}; tools: never[]; developerMessage: string; messages: { role: string; content: string; }[]; }' but required in type 'PromptType'.","relatedInformation":[{"file":"./src/app/(dashboard)/prompts/_components/prompt_editor_view/types.ts","start":368,"length":11,"messageText":"'environment' is declared here.","category":3,"code":2728}],"canonicalHead":{"code":2322,"messageText":"Type '{ name: string; model: string; config: {}; tools: never[]; developerMessage: string; messages: { role: string; content: string; }[]; }' is not assignable to type 'PromptType'."}},{"start":1182,"length":6,"code":2741,"category":1,"messageText":"Property 'environment' is missing in type '{ name: string; model: string; config: {}; tools: never[]; developerMessage: string; messages: { role: string; content: string; }[]; }' but required in type 'PromptType'.","relatedInformation":[{"file":"./src/app/(dashboard)/prompts/_components/prompt_editor_view/types.ts","start":368,"length":11,"messageText":"'environment' is declared here.","category":3,"code":2728}],"canonicalHead":{"code":2322,"messageText":"Type '{ name: string; model: string; config: {}; tools: never[]; developerMessage: string; messages: { role: string; content: string; }[]; }' is not assignable to type 'PromptType'."}},{"start":1684,"length":6,"code":2741,"category":1,"messageText":"Property 'environment' is missing in type '{ name: string; model: string; config: {}; tools: never[]; developerMessage: string; messages: { role: string; content: string; }[]; }' but required in type 'PromptType'.","relatedInformation":[{"file":"./src/app/(dashboard)/prompts/_components/prompt_editor_view/types.ts","start":368,"length":11,"messageText":"'environment' is declared here.","category":3,"code":2728}],"canonicalHead":{"code":2322,"messageText":"Type '{ name: string; model: string; config: {}; tools: never[]; developerMessage: string; messages: { role: string; content: string; }[]; }' is not assignable to type 'PromptType'."}},{"start":2044,"length":6,"code":2741,"category":1,"messageText":"Property 'environment' is missing in type '{ name: string; model: string; config: {}; tools: never[]; developerMessage: string; messages: { role: string; content: string; }[]; }' but required in type 'PromptType'.","relatedInformation":[{"file":"./src/app/(dashboard)/prompts/_components/prompt_editor_view/types.ts","start":368,"length":11,"messageText":"'environment' is declared here.","category":3,"code":2728}],"canonicalHead":{"code":2322,"messageText":"Type '{ name: string; model: string; config: {}; tools: never[]; developerMessage: string; messages: { role: string; content: string; }[]; }' is not assignable to type 'PromptType'."}},{"start":2529,"length":6,"code":2741,"category":1,"messageText":"Property 'environment' is missing in type '{ name: string; model: string; config: {}; tools: never[]; developerMessage: string; messages: { role: string; content: string; }[]; }' but required in type 'PromptType'.","relatedInformation":[{"file":"./src/app/(dashboard)/prompts/_components/prompt_editor_view/types.ts","start":368,"length":11,"messageText":"'environment' is declared here.","category":3,"code":2728}],"canonicalHead":{"code":2322,"messageText":"Type '{ name: string; model: string; config: {}; tools: never[]; developerMessage: string; messages: { role: string; content: string; }[]; }' is not assignable to type 'PromptType'."}},{"start":3149,"length":6,"code":2741,"category":1,"messageText":"Property 'environment' is missing in type '{ name: string; model: string; config: { temperature: number; max_tokens: number; top_p: number; }; tools: never[]; developerMessage: string; messages: { role: string; content: string; }[]; }' but required in type 'PromptType'.","relatedInformation":[{"file":"./src/app/(dashboard)/prompts/_components/prompt_editor_view/types.ts","start":368,"length":11,"messageText":"'environment' is declared here.","category":3,"code":2728}],"canonicalHead":{"code":2322,"messageText":"Type '{ name: string; model: string; config: { temperature: number; max_tokens: number; top_p: number; }; tools: never[]; developerMessage: string; messages: { role: string; content: string; }[]; }' is not assignable to type 'PromptType'."}},{"start":3683,"length":6,"code":2741,"category":1,"messageText":"Property 'environment' is missing in type '{ name: string; model: string; config: {}; tools: never[]; developerMessage: string; messages: { role: string; content: string; }[]; }' but required in type 'PromptType'.","relatedInformation":[{"file":"./src/app/(dashboard)/prompts/_components/prompt_editor_view/types.ts","start":368,"length":11,"messageText":"'environment' is declared here.","category":3,"code":2728}],"canonicalHead":{"code":2322,"messageText":"Type '{ name: string; model: string; config: {}; tools: never[]; developerMessage: string; messages: { role: string; content: string; }[]; }' is not assignable to type 'PromptType'."}},{"start":4135,"length":6,"code":2741,"category":1,"messageText":"Property 'environment' is missing in type '{ name: string; model: string; config: {}; tools: never[]; developerMessage: string; messages: { role: string; content: string; }[]; }' but required in type 'PromptType'.","relatedInformation":[{"file":"./src/app/(dashboard)/prompts/_components/prompt_editor_view/types.ts","start":368,"length":11,"messageText":"'environment' is declared here.","category":3,"code":2728}],"canonicalHead":{"code":2322,"messageText":"Type '{ name: string; model: string; config: {}; tools: never[]; developerMessage: string; messages: { role: string; content: string; }[]; }' is not assignable to type 'PromptType'."}},{"start":4538,"length":6,"code":2741,"category":1,"messageText":"Property 'environment' is missing in type '{ name: string; model: string; config: {}; tools: { name: string; description: string; json: string; }[]; developerMessage: string; messages: { role: string; content: string; }[]; }' but required in type 'PromptType'.","relatedInformation":[{"file":"./src/app/(dashboard)/prompts/_components/prompt_editor_view/types.ts","start":368,"length":11,"messageText":"'environment' is declared here.","category":3,"code":2728}],"canonicalHead":{"code":2322,"messageText":"Type '{ name: string; model: string; config: {}; tools: { name: string; description: string; json: string; }[]; developerMessage: string; messages: { role: string; content: string; }[]; }' is not assignable to type 'PromptType'."}},{"start":5174,"length":6,"code":2741,"category":1,"messageText":"Property 'environment' is missing in type '{ name: string; model: string; config: {}; tools: never[]; developerMessage: string; messages: { role: string; content: string; }[]; }' but required in type 'PromptType'.","relatedInformation":[{"file":"./src/app/(dashboard)/prompts/_components/prompt_editor_view/types.ts","start":368,"length":11,"messageText":"'environment' is declared here.","category":3,"code":2728}],"canonicalHead":{"code":2322,"messageText":"Type '{ name: string; model: string; config: {}; tools: never[]; developerMessage: string; messages: { role: string; content: string; }[]; }' is not assignable to type 'PromptType'."}}]],[1939,[{"start":4983,"length":43,"code":2352,"category":1,"messageText":{"messageText":"Conversion of type 'SpendMetrics' to type 'Record' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first.","category":1,"code":2352,"next":[{"messageText":"Index signature for type 'string' is missing in type 'SpendMetrics'.","category":1,"code":2329}]}}]],[1992,[{"start":497,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":553,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":681,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":729,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":788,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":835,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":886,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":935,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1009,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1135,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1374,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1431,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1486,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304}]],[1994,[{"start":425,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":474,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":690,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":955,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1264,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1463,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1694,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1795,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1851,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2039,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":2311,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2503,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":2770,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2871,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":3139,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":3482,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":3755,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":4094,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":4354,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":4619,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":4691,"length":12,"messageText":"Parameter 'defaultModel' implicitly has an 'any' type.","category":1,"code":7006},{"start":4905,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304}]],[1995,[{"start":480,"length":10,"code":2739,"category":1,"messageText":"Type '{ tiers: { SIMPLE: string[]; MEDIUM: string[]; COMPLEX: string[]; REASONING: string[]; }; tierLabels: undefined; classifierType: \"heuristic\"; classifierLlmConfig: undefined; classifierContextWindowSize: undefined; ... 15 more ...; returnRawModelName: false; }' is missing the following properties from type 'BuildComplexityRouterConfigParams': defaultModel, planModeMinTier, heuristicFirstMaxTier","canonicalHead":{"code":2322,"messageText":"Type '{ tiers: { SIMPLE: string[]; MEDIUM: string[]; COMPLEX: string[]; REASONING: string[]; }; tierLabels: undefined; classifierType: \"heuristic\"; classifierLlmConfig: undefined; classifierContextWindowSize: undefined; ... 15 more ...; returnRawModelName: false; }' is not assignable to type 'BuildComplexityRouterConfigParams'."}},{"start":1194,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1244,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1408,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1612,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1836,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1929,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":2120,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2177,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":2423,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2516,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":2776,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2824,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2923,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":3219,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":3282,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":3729,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":3788,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":3856,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":4267,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":4334,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":4407,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":4753,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":4820,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":4893,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":5284,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":5348,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":5803,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":6060,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":6123,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":6190,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":6610,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":6667,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":6741,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":6793,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":7239,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":7301,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":7353,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":7410,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":7515,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":7577,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":7637,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":8357,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":8557,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":8881,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":8926,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":8979,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":9037,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":9096,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":9250,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":9313,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":9514,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":9567,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":9778,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":9832,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":9987,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":10045,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":10355,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":10395,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":10469,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":10522,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":10577,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":10922,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":10962,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":11024,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":11089,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":11132,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":11196,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":11280,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":11353,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":11521,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":11609,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":11797,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":11933,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":12106,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":12173,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":12301,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":12423,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":12506,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":12656,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":12721,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":12891,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":12979,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":13150,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":13233,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":13391,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":13438,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":13503,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":13712,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":13805,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":14028,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":14102,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":14260,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":14449,"length":6,"messageText":"Parameter '_label' implicitly has an 'any' type.","category":1,"code":7006},{"start":14457,"length":8,"messageText":"Parameter 'keywords' implicitly has an 'any' type.","category":1,"code":7006},{"start":14476,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":14689,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":14764,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":15123,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":15212,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":15327,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":15571,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":15753,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":15832,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":16058,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":16138,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":16397,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":16481,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":16607,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":16693,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":16928,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":17337,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":17435,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":17518,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":17848,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":17929,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":18001,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":18152,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":18309,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":18395,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":18494,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":18737,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":18894,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":19261,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":19352,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":19747,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":19833,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":19946,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":20048,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":20223,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":20378,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":20412,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":20491,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":20577,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":20873,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":20926,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":21158,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":21238,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":21336,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":21544,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":21599,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":21640,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":21686,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":21745,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":21897,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":21957,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":22046,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":22140,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":22239,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":22333,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":22412,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":22503,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":22575,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":22667,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":22758,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":22830,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":22870,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":22941,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":23004,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":23046,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":23170,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":23340,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":23419,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":23469,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":23541,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":23611,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":23667,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":23732,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":24213,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":24356,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":24414,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":24479,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":24516,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":24605,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":24708,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":24816,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":24921,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":25030,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":25195,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":25365,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":25525,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":25587,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":25663,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":25836,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":25881,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":26073,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":26139,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":26277,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":26337,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":26528,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":26596,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":26736,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":26786,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":26897,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":26953,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":27063,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":27164,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":27287,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":27355,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":27437,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":27536,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":27787,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":27828,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":27989,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":28382,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":28501,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":28561,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":28626,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":28808,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":28902,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":28961,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":29024,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":29091,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":29367,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304}]],[1996,[{"start":196,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":238,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":501,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":595,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":679,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":786,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":890,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":976,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1134,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1208,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1349,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1425,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1463,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1587,"length":12,"messageText":"Parameter 'systemPrompt' implicitly has an 'any' type.","category":1,"code":7006},{"start":1601,"length":8,"messageText":"Parameter 'expected' implicitly has an 'any' type.","category":1,"code":7006},{"start":1620,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1707,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1746,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1823,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1920,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":2040,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2116,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304}]],[2035,[{"start":3655,"length":28,"code":2345,"category":1,"messageText":"Argument of type 'unknown' is not assignable to parameter of type 'string | null | undefined'."}]],[2037,[{"start":2106,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":2163,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":2357,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2427,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":2615,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2687,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":2905,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2970,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":3155,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":3235,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":3411,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":3485,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":3799,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304}]],[2041,[{"start":1600,"length":17,"code":2322,"category":1,"messageText":{"messageText":"Type '{ budget_limit: number; time_period: string; } | { max_budget: number; budget_duration: string; }' is not assignable to type 'ModelBudgetConfig'.","category":1,"code":2322,"next":[{"messageText":"Type '{ max_budget: number; budget_duration: string; }' is missing the following properties from type 'ModelBudgetConfig': budget_limit, time_period","category":1,"code":2739,"canonicalHead":{"code":2322,"messageText":"Type '{ max_budget: number; budget_duration: string; }' is not assignable to type 'ModelBudgetConfig'."}}]}},{"start":2144,"length":12,"code":2322,"category":1,"messageText":{"messageText":"Type 'string | number' is not assignable to type 'number'.","category":1,"code":2322,"next":[{"messageText":"Type 'string' is not assignable to type 'number'.","category":1,"code":2322}]},"relatedInformation":[{"file":"./src/components/key_team_helpers/modelmaxbudgeteditor.tsx","start":506,"length":12,"messageText":"The expected type comes from property 'budget_limit' which is declared here on type 'ModelBudgetConfig'","category":3,"code":6500}]},{"start":2388,"length":12,"code":2322,"category":1,"messageText":"Type 'string' is not assignable to type 'number'.","relatedInformation":[{"file":"./src/components/key_team_helpers/modelmaxbudgeteditor.tsx","start":506,"length":12,"messageText":"The expected type comes from property 'budget_limit' which is declared here on type 'ModelBudgetConfig'","category":3,"code":6500}]},{"start":3742,"length":8,"code":2739,"category":1,"messageText":"Type '{ max_budget: number; budget_duration: string; tpm_limit: number; }' is missing the following properties from type 'ModelBudgetConfig': budget_limit, time_period","canonicalHead":{"code":2322,"messageText":"Type '{ max_budget: number; budget_duration: string; tpm_limit: number; }' is not assignable to type 'ModelBudgetConfig'."}}]],[2304,[{"start":3271,"length":4,"code":2322,"category":1,"messageText":{"messageText":"Type '{ key_alias: string; }' is not assignable to type '{ access_group_ids?: string[] | null | undefined; agent_id?: string | null | undefined; aliases: ({ [x: string]: unknown; } & {}) | null; allowed_cache_controls: unknown[] | null; allowed_passthrough_routes?: unknown[] | ... 1 more ... | undefined; ... 46 more ...; user_id?: string | ... 1 more ... | undefined; } & {}'.","category":1,"code":2322,"next":[{"messageText":"Type '{ key_alias: string; }' is missing the following properties from type '{ access_group_ids?: string[] | null | undefined; agent_id?: string | null | undefined; aliases: ({ [x: string]: unknown; } & {}) | null; allowed_cache_controls: unknown[] | null; allowed_passthrough_routes?: unknown[] | ... 1 more ... | undefined; ... 46 more ...; user_id?: string | ... 1 more ... | undefined; }': aliases, allowed_cache_controls, allowed_routes, auto_rotate, and 7 more.","category":1,"code":2740,"canonicalHead":{"code":2322,"messageText":"Type '{ key_alias: string; }' is not assignable to type '{ access_group_ids?: string[] | null | undefined; agent_id?: string | null | undefined; aliases: ({ [x: string]: unknown; } & {}) | null; allowed_cache_controls: unknown[] | null; allowed_passthrough_routes?: unknown[] | ... 1 more ... | undefined; ... 46 more ...; user_id?: string | ... 1 more ... | undefined; }'."}}]},"relatedInformation":[{"file":"./node_modules/openapi-fetch/dist/index.d.mts","start":3474,"length":4,"messageText":"The expected type comes from property 'body' which is declared here on type '{ params?: { query?: undefined; header?: { \"litellm-changed-by\"?: string | null | undefined; } | undefined; path?: undefined; cookie?: undefined; } | undefined; } & { body: { access_group_ids?: string[] | ... 1 more ... | undefined; ... 50 more ...; user_id?: string | ... 1 more ... | undefined; } & {}; } & { ...; }...'","category":3,"code":6500}]},{"start":3928,"length":4,"code":2322,"category":1,"messageText":{"messageText":"Type '{ key_alias: string; }' is not assignable to type '{ access_group_ids?: string[] | null | undefined; agent_id?: string | null | undefined; aliases: ({ [x: string]: unknown; } & {}) | null; allowed_cache_controls: unknown[] | null; allowed_passthrough_routes?: unknown[] | ... 1 more ... | undefined; ... 46 more ...; user_id?: string | ... 1 more ... | undefined; } & {}'.","category":1,"code":2322,"next":[{"messageText":"Type '{ key_alias: string; }' is missing the following properties from type '{ access_group_ids?: string[] | null | undefined; agent_id?: string | null | undefined; aliases: ({ [x: string]: unknown; } & {}) | null; allowed_cache_controls: unknown[] | null; allowed_passthrough_routes?: unknown[] | ... 1 more ... | undefined; ... 46 more ...; user_id?: string | ... 1 more ... | undefined; }': aliases, allowed_cache_controls, allowed_routes, auto_rotate, and 7 more.","category":1,"code":2740,"canonicalHead":{"code":2322,"messageText":"Type '{ key_alias: string; }' is not assignable to type '{ access_group_ids?: string[] | null | undefined; agent_id?: string | null | undefined; aliases: ({ [x: string]: unknown; } & {}) | null; allowed_cache_controls: unknown[] | null; allowed_passthrough_routes?: unknown[] | ... 1 more ... | undefined; ... 46 more ...; user_id?: string | ... 1 more ... | undefined; }'."}}]},"relatedInformation":[{"file":"./node_modules/openapi-fetch/dist/index.d.mts","start":3474,"length":4,"messageText":"The expected type comes from property 'body' which is declared here on type '{ params?: { query?: undefined; header?: { \"litellm-changed-by\"?: string | null | undefined; } | undefined; path?: undefined; cookie?: undefined; } | undefined; } & { body: { access_group_ids?: string[] | ... 1 more ... | undefined; ... 50 more ...; user_id?: string | ... 1 more ... | undefined; } & {}; } & { ...; }...'","category":3,"code":6500}]}]],[2305,[{"start":1322,"length":3,"messageText":"Tuple type '[]' of length '0' has no element at index '0'.","category":1,"code":2493},{"start":1327,"length":4,"messageText":"Tuple type '[]' of length '0' has no element at index '1'.","category":1,"code":2493},{"start":1491,"length":4,"messageText":"'init' is possibly 'undefined'.","category":1,"code":18048},{"start":1616,"length":4,"messageText":"'init' is possibly 'undefined'.","category":1,"code":18048},{"start":1943,"length":4,"messageText":"Tuple type '[]' of length '0' has no element at index '1'.","category":1,"code":2493},{"start":1987,"length":4,"messageText":"'init' is possibly 'undefined'.","category":1,"code":18048},{"start":2025,"length":4,"messageText":"'init' is possibly 'undefined'.","category":1,"code":18048},{"start":4549,"length":4,"messageText":"Tuple type '[]' of length '0' has no element at index '1'.","category":1,"code":2493},{"start":4593,"length":4,"messageText":"'init' is possibly 'undefined'.","category":1,"code":18048}]],[2597,[{"start":272,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":354,"length":10,"messageText":"Cannot find name 'beforeEach'.","category":1,"code":2304},{"start":907,"length":9,"messageText":"Cannot find name 'afterEach'.","category":1,"code":2304},{"start":1076,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1114,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1199,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1276,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1338,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1481,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1560,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1665,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1712,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1757,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1836,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1918,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1976,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":2023,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":2370,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2447,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":2755,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2802,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":2838,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":2914,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2969,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":3051,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":3148,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":3523,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":3642,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":3690,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":4031,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":4159,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":4484,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":4533,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":4878,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":4940,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":4977,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":5400,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":5476,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":6141,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":6218,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":6485,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":6532,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":6573,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":6639,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":6703,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":6766,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":6823,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":6888,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":7012,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":7166,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":7255,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":7313,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":7379,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":7452,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":7497,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":7552,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":7599,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":7663,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":7736,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":7807,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":7880,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":7925,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":8020,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":8403,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":8481,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":8933,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":9013,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":9490,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":9631,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":9757,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":9835,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":9876,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":10661,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":10731,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":10785,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":11070,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":11113,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":11970,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":12047,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":12318,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304}]],[2598,[{"start":3595,"length":405,"code":2741,"category":1,"messageText":"Property 'spend' is missing in type '{ team_id: string; team_alias: string; models: never[]; max_budget: null; budget_duration: null; tpm_limit: null; rpm_limit: null; organization_id: string; created_at: string; keys: never[]; members_with_roles: { ...; }[]; }' but required in type 'Team'.","relatedInformation":[{"file":"./src/components/key_team_helpers/key_list.tsx","start":684,"length":5,"messageText":"'spend' is declared here.","category":3,"code":2728}],"canonicalHead":{"code":2322,"messageText":"Type '{ team_id: string; team_alias: string; models: never[]; max_budget: null; budget_duration: null; tpm_limit: null; rpm_limit: null; organization_id: string; created_at: string; keys: never[]; members_with_roles: { ...; }[]; }' is not assignable to type 'Team'."}},{"start":4010,"length":406,"code":2741,"category":1,"messageText":"Property 'spend' is missing in type '{ team_id: string; team_alias: string; models: never[]; max_budget: null; budget_duration: null; tpm_limit: null; rpm_limit: null; organization_id: string; created_at: string; keys: never[]; members_with_roles: { ...; }[]; }' but required in type 'Team'.","relatedInformation":[{"file":"./src/components/key_team_helpers/key_list.tsx","start":684,"length":5,"messageText":"'spend' is declared here.","category":3,"code":2728}],"canonicalHead":{"code":2322,"messageText":"Type '{ team_id: string; team_alias: string; models: never[]; max_budget: null; budget_duration: null; tpm_limit: null; rpm_limit: null; organization_id: string; created_at: string; keys: never[]; members_with_roles: { ...; }[]; }' is not assignable to type 'Team'."}},{"start":4616,"length":405,"code":2741,"category":1,"messageText":"Property 'spend' is missing in type '{ team_id: string; team_alias: string; models: never[]; max_budget: null; budget_duration: null; tpm_limit: null; rpm_limit: null; organization_id: string; created_at: string; keys: never[]; members_with_roles: { ...; }[]; }' but required in type 'Team'.","relatedInformation":[{"file":"./src/components/key_team_helpers/key_list.tsx","start":684,"length":5,"messageText":"'spend' is declared here.","category":3,"code":2728}],"canonicalHead":{"code":2322,"messageText":"Type '{ team_id: string; team_alias: string; models: never[]; max_budget: null; budget_duration: null; tpm_limit: null; rpm_limit: null; organization_id: string; created_at: string; keys: never[]; members_with_roles: { ...; }[]; }' is not assignable to type 'Team'."}},{"start":5031,"length":406,"code":2741,"category":1,"messageText":"Property 'spend' is missing in type '{ team_id: string; team_alias: string; models: never[]; max_budget: null; budget_duration: null; tpm_limit: null; rpm_limit: null; organization_id: string; created_at: string; keys: never[]; members_with_roles: { ...; }[]; }' but required in type 'Team'.","relatedInformation":[{"file":"./src/components/key_team_helpers/key_list.tsx","start":684,"length":5,"messageText":"'spend' is declared here.","category":3,"code":2728}],"canonicalHead":{"code":2322,"messageText":"Type '{ team_id: string; team_alias: string; models: never[]; max_budget: null; budget_duration: null; tpm_limit: null; rpm_limit: null; organization_id: string; created_at: string; keys: never[]; members_with_roles: { ...; }[]; }' is not assignable to type 'Team'."}}]],[2744,[{"start":3077,"length":4,"messageText":"Tuple type '[]' of length '0' has no element at index '0'.","category":1,"code":2493},{"start":3083,"length":4,"messageText":"Tuple type '[]' of length '0' has no element at index '1'.","category":1,"code":2493},{"start":3175,"length":4,"messageText":"'opts' is possibly 'undefined'.","category":1,"code":18048}]],[3037,[{"start":2067,"length":42,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ userRole: string; token: string; accessToken: string; userId: string; userEmail: string; premiumUser: boolean; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ userRole: string; token: string; accessToken: string; userId: string; userEmail: string; premiumUser: boolean; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":2572,"length":41,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ userRole: string; token: string; accessToken: string; userId: string; userEmail: string; premiumUser: boolean; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ userRole: string; token: string; accessToken: string; userId: string; userEmail: string; premiumUser: boolean; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":3058,"length":34,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ userRole: string; token: string; accessToken: string; userId: string; userEmail: string; premiumUser: boolean; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ userRole: string; token: string; accessToken: string; userId: string; userEmail: string; premiumUser: boolean; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":3554,"length":8,"code":2322,"category":1,"messageText":"Type 'undefined' is not assignable to type 'string'.","relatedInformation":[{"file":"./src/app/(dashboard)/hooks/useauthorized.ts","start":1740,"length":50,"messageText":"The expected type comes from property 'userRole' which is declared here on type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'","category":3,"code":6500}]},{"start":4033,"length":42,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ userRole: string; token: string; accessToken: string; userId: string; userEmail: string; premiumUser: boolean; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ userRole: string; token: string; accessToken: string; userId: string; userEmail: string; premiumUser: boolean; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":5026,"length":34,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ userRole: string; token: string; accessToken: string; userId: string; userEmail: string; premiumUser: boolean; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ userRole: string; token: string; accessToken: string; userId: string; userEmail: string; premiumUser: boolean; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}}]],[3045,[{"start":3309,"length":15,"code":2339,"category":1,"messageText":{"messageText":"Property 'CustomGuardrail' does not exist on type 'Record | typeof GuardrailProviders'.","category":1,"code":2339,"next":[{"messageText":"Property 'CustomGuardrail' does not exist on type 'typeof GuardrailProviders'.","category":1,"code":2339}]}}]],[3073,[{"start":198,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":366,"length":9,"messageText":"Cannot find name 'afterEach'.","category":1,"code":2304},{"start":417,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":500,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":569,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":702,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":944,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1191,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1266,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1353,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1621,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1713,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1981,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2069,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":2260,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2354,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":2467,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2569,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":2908,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2988,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":3401,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":3480,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":3592,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":3750,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304}]],[3074,[{"start":5828,"length":11,"code":2322,"category":1,"messageText":"Type 'null' is not assignable to type 'string | undefined'."}]],[3171,[{"start":2696,"length":5,"code":2339,"category":1,"messageText":"Property 'value' does not exist on type 'HTMLElement'."},{"start":2826,"length":5,"code":2339,"category":1,"messageText":"Property 'value' does not exist on type 'HTMLElement'."},{"start":3842,"length":5,"code":2339,"category":1,"messageText":"Property 'value' does not exist on type 'HTMLElement'."}]],[3180,[{"start":10763,"length":423,"code":2352,"category":1,"messageText":{"messageText":"Conversion of type '{ status: \"healthy\"; last_health_check: string; health_check_error: null; teams: { team_id: string; }[]; allowed_tools: string[]; has_user_credential: true; approval_status: \"approved\"; submitted_by: string; ... 47 more ...; env_vars?: MCPEnvVar[] | null; }' to type 'MCPServer' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first.","category":1,"code":2352,"next":[{"messageText":"Types of property 'approval_status' are incompatible.","category":1,"code":2326,"next":[{"messageText":"Type '\"approved\"' is not comparable to type '\"active\" | \"pending_review\" | \"rejected\" | null | undefined'.","category":1,"code":2678}]}]}}]],[3290,[{"start":4242,"length":15,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ isLoading: boolean; isAuthorized: boolean; token: string; accessToken: string; userId: string; userEmail: string; userRole: string; premiumUser: boolean; disabledPersonalKeyCreation: boolean; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ isLoading: boolean; isAuthorized: boolean; token: string; accessToken: string; userId: string; userEmail: string; userRole: string; premiumUser: boolean; disabledPersonalKeyCreation: boolean; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': userRoleLabel, isViewOnly","category":1,"code":2739}]}}]],[3294,[{"start":3971,"length":10,"messageText":"Cannot find name 'beforeEach'.","category":1,"code":2304}]],[3567,[{"start":2185,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2365,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":2415,"length":10,"messageText":"Cannot find name 'beforeEach'.","category":1,"code":2304},{"start":2652,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":3085,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":3188,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":3521,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":3674,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":3768,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":3861,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":3998,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":4041,"length":10,"messageText":"Cannot find name 'beforeEach'.","category":1,"code":2304},{"start":4130,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":4412,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":4492,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304}]],[3601,[{"start":2516,"length":2,"code":2345,"category":1,"messageText":"Argument of type '{}' is not assignable to parameter of type 'void'."}]],[3646,[{"start":11320,"length":300,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ isLoading: false; isAuthorized: true; token: string; accessToken: string; userId: string; userEmail: string; userRole: string; premiumUser: boolean; disabledPersonalKeyCreation: boolean; showSSOBanner: false; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ isLoading: false; isAuthorized: true; token: string; accessToken: string; userId: string; userEmail: string; userRole: string; premiumUser: boolean; disabledPersonalKeyCreation: boolean; showSSOBanner: false; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":20146,"length":308,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ isLoading: false; isAuthorized: true; token: string; accessToken: string; userId: string; userEmail: string; userRole: string; premiumUser: boolean; disabledPersonalKeyCreation: boolean; showSSOBanner: false; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ isLoading: false; isAuthorized: true; token: string; accessToken: string; userId: string; userEmail: string; userRole: string; premiumUser: boolean; disabledPersonalKeyCreation: boolean; showSSOBanner: false; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":30967,"length":331,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ isLoading: false; isAuthorized: true; token: string; accessToken: string; userId: string; userEmail: string; userRole: string; premiumUser: boolean; disabledPersonalKeyCreation: boolean; showSSOBanner: false; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ isLoading: false; isAuthorized: true; token: string; accessToken: string; userId: string; userEmail: string; userRole: string; premiumUser: boolean; disabledPersonalKeyCreation: boolean; showSSOBanner: false; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":31850,"length":331,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ isLoading: false; isAuthorized: true; token: string; accessToken: string; userId: string; userEmail: string; userRole: string; premiumUser: boolean; disabledPersonalKeyCreation: boolean; showSSOBanner: false; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ isLoading: false; isAuthorized: true; token: string; accessToken: string; userId: string; userEmail: string; userRole: string; premiumUser: boolean; disabledPersonalKeyCreation: boolean; showSSOBanner: false; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': userRoleLabel, isViewOnly","category":1,"code":2739}]}}]],[3699,[{"start":3053,"length":46,"code":2352,"category":1,"messageText":{"messageText":"Conversion of type '[url: string][]' to type '[string, RequestInit][]' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first.","category":1,"code":2352,"next":[{"messageText":"Type '[url: string]' is not comparable to type '[string, RequestInit]'.","category":1,"code":2678,"next":[{"messageText":"Source has 1 element(s) but target requires 2.","category":1,"code":2618}]}]}}]],[3725,[{"start":9097,"length":9,"messageText":"Cannot find name 'afterEach'.","category":1,"code":2304}]],[3743,[{"start":401,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":442,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":647,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":711,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":957,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1064,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1307,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1383,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1651,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1701,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1948,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1998,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":2220,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2297,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":2528,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304}]],[3748,[{"start":792,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":835,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1063,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1122,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1226,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1306,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1527,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1712,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1913,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2009,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":2261,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2311,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":2510,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2560,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":2731,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304}]],[3758,[{"start":780,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":813,"length":10,"messageText":"Cannot find name 'beforeEach'.","category":1,"code":2304},{"start":891,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1067,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1117,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1321,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1371,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1570,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1620,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1789,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1848,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1981,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2053,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2107,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2176,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":2342,"length":8,"messageText":"Parameter 'severity' implicitly has an 'any' type.","category":1,"code":7006},{"start":2352,"length":9,"messageText":"Parameter 'iconClass' implicitly has an 'any' type.","category":1,"code":7006},{"start":2505,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2584,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":2857,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":3006,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":3063,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":3512,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":3571,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":3661,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":4075,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304}]],[3796,[{"start":2005,"length":27,"code":2769,"category":1,"messageText":{"messageText":"No overload matches this call.","category":1,"code":2769,"next":[{"messageText":"Overload 1 of 2, '(id: Matcher, options?: SelectorMatcherOptions | undefined): HTMLElement', gave the following error.","category":1,"code":2772,"next":[{"messageText":"Argument of type 'string | null' is not assignable to parameter of type 'Matcher'.","category":1,"code":2345,"next":[{"messageText":"Type 'null' is not assignable to type 'Matcher'.","category":1,"code":2322}]}]},{"messageText":"Overload 2 of 2, '(id: Matcher, options?: SelectorMatcherOptions | undefined): HTMLElement', gave the following error.","category":1,"code":2772,"next":[{"messageText":"Argument of type 'string | null' is not assignable to parameter of type 'Matcher'.","category":1,"code":2345,"next":[{"messageText":"Type 'null' is not assignable to type 'Matcher'.","category":1,"code":2322}]}]}]},"relatedInformation":[]},{"start":2084,"length":26,"code":2769,"category":1,"messageText":{"messageText":"No overload matches this call.","category":1,"code":2769,"next":[{"messageText":"Overload 1 of 2, '(id: Matcher, options?: SelectorMatcherOptions | undefined): HTMLElement', gave the following error.","category":1,"code":2772,"next":[{"messageText":"Argument of type 'string | null' is not assignable to parameter of type 'Matcher'.","category":1,"code":2345,"next":[{"messageText":"Type 'null' is not assignable to type 'Matcher'.","category":1,"code":2322}]}]},{"messageText":"Overload 2 of 2, '(id: Matcher, options?: SelectorMatcherOptions | undefined): HTMLElement', gave the following error.","category":1,"code":2772,"next":[{"messageText":"Argument of type 'string | null' is not assignable to parameter of type 'Matcher'.","category":1,"code":2345,"next":[{"messageText":"Type 'null' is not assignable to type 'Matcher'.","category":1,"code":2322}]}]}]},"relatedInformation":[]}]],[3804,[{"start":162,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":205,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":319,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":384,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":517,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":602,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":751,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304}]],[3805,[{"start":119,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":155,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":397,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":451,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":699,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":788,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":880,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1165,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1233,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1492,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1560,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1820,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304}]],[3806,[{"start":211,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":252,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":384,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":454,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":615,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":698,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":788,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":875,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1063,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1159,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1503,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1570,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1738,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304}]],[3807,[{"start":877,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":917,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1015,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1106,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1371,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1444,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1769,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1848,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":2010,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2082,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":2521,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2584,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":2872,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2940,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":3009,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304}]],[3808,[{"start":144,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":177,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":286,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":359,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":488,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":554,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":618,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":732,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":793,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":961,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1031,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1172,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1248,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1396,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1468,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1599,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304}]],[3813,[{"start":236,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":276,"length":10,"messageText":"Cannot find name 'beforeEach'.","category":1,"code":2304},{"start":330,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":583,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":735,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":802,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":859,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":931,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1173,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1267,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1590,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1754,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1854,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":2168,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2268,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":2981,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304}]],[3837,[{"start":1201,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1242,"length":10,"messageText":"Cannot find name 'beforeEach'.","category":1,"code":2304},{"start":1294,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1434,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1517,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1627,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1810,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1875,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1963,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":2273,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2391,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2426,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":2681,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2876,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2924,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":3198,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":3285,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":3314,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":3448,"length":8,"messageText":"Parameter 'severity' implicitly has an 'any' type.","category":1,"code":7006},{"start":3458,"length":5,"messageText":"Parameter 'label' implicitly has an 'any' type.","category":1,"code":7006},{"start":3609,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304}]],[3845,[{"start":5180,"length":36,"messageText":"Object is possibly 'null'.","category":1,"code":2531}]],[3847,[{"start":208,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":242,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":313,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":387,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":451,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":525,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":605,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":681,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":716,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":864,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":932,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1101,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1167,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1339,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1423,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1485,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1663,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1726,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1772,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1825,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1880,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1947,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1998,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304}]],[3852,[{"start":1780,"length":8,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ token: string; accessToken: string; userId: string; userEmail: string; userRole: string; premiumUser: boolean; disabledPersonalKeyCreation: boolean; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ token: string; accessToken: string; userId: string; userEmail: string; userRole: string; premiumUser: boolean; disabledPersonalKeyCreation: boolean; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":15138,"length":49,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ accessToken: string; token: string; userId: string; userEmail: string; userRole: string; premiumUser: boolean; disabledPersonalKeyCreation: boolean; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ accessToken: string; token: string; userId: string; userEmail: string; userRole: string; premiumUser: boolean; disabledPersonalKeyCreation: boolean; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}}]],[3853,[{"start":3323,"length":15,"code":2322,"category":1,"messageText":"Type 'number' is not assignable to type 'ModelBudgetConfig'."},{"start":3344,"length":7,"code":2322,"category":1,"messageText":"Type 'number' is not assignable to type 'ModelBudgetConfig'."}]],[3854,[{"start":3533,"length":8,"code":2741,"category":1,"messageText":"Property 'spend' is missing in type '{ team_id: string; team_alias: string; models: string[]; max_budget: number; budget_duration: string; tpm_limit: null; rpm_limit: null; organization_id: string; created_at: string; keys: never[]; members_with_roles: never[]; }' but required in type 'Team'.","relatedInformation":[{"file":"./src/components/key_team_helpers/key_list.tsx","start":684,"length":5,"messageText":"'spend' is declared here.","category":3,"code":2728}],"canonicalHead":{"code":2322,"messageText":"Type '{ team_id: string; team_alias: string; models: string[]; max_budget: number; budget_duration: string; tpm_limit: null; rpm_limit: null; organization_id: string; created_at: string; keys: never[]; members_with_roles: never[]; }' is not assignable to type 'Team'."}},{"start":5267,"length":49,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ token: string; accessToken: string; userId: string; userEmail: string; userRole: string; premiumUser: boolean; disabledPersonalKeyCreation: boolean; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ token: string; accessToken: string; userId: string; userEmail: string; userRole: string; premiumUser: boolean; disabledPersonalKeyCreation: boolean; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":5784,"length":49,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ token: string; accessToken: string; userId: string; userEmail: string; userRole: string; premiumUser: boolean; disabledPersonalKeyCreation: boolean; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ token: string; accessToken: string; userId: string; userEmail: string; userRole: string; premiumUser: boolean; disabledPersonalKeyCreation: boolean; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":6718,"length":49,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ token: string; accessToken: string; userId: string; userEmail: string; userRole: string; premiumUser: boolean; disabledPersonalKeyCreation: boolean; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ token: string; accessToken: string; userId: string; userEmail: string; userRole: string; premiumUser: boolean; disabledPersonalKeyCreation: boolean; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":7666,"length":49,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ token: string; accessToken: string; userId: string; userEmail: string; userRole: string; premiumUser: boolean; disabledPersonalKeyCreation: boolean; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ token: string; accessToken: string; userId: string; userEmail: string; userRole: string; premiumUser: boolean; disabledPersonalKeyCreation: boolean; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":8613,"length":49,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ token: string; accessToken: string; userId: string; userEmail: string; userRole: string; premiumUser: boolean; disabledPersonalKeyCreation: boolean; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ token: string; accessToken: string; userId: string; userEmail: string; userRole: string; premiumUser: boolean; disabledPersonalKeyCreation: boolean; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":9408,"length":43,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ token: string; accessToken: string; userId: string; userEmail: string; userRole: string; premiumUser: boolean; disabledPersonalKeyCreation: boolean; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ token: string; accessToken: string; userId: string; userEmail: string; userRole: string; premiumUser: boolean; disabledPersonalKeyCreation: boolean; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":10172,"length":49,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ token: string; accessToken: string; userId: string; userEmail: string; userRole: string; premiumUser: boolean; disabledPersonalKeyCreation: boolean; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ token: string; accessToken: string; userId: string; userEmail: string; userRole: string; premiumUser: boolean; disabledPersonalKeyCreation: boolean; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":10857,"length":56,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ token: string; accessToken: string; userId: string; userEmail: string; userRole: string; premiumUser: boolean; disabledPersonalKeyCreation: boolean; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ token: string; accessToken: string; userId: string; userEmail: string; userRole: string; premiumUser: boolean; disabledPersonalKeyCreation: boolean; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":12152,"length":49,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ token: string; accessToken: string; userId: string; userEmail: string; userRole: string; premiumUser: boolean; disabledPersonalKeyCreation: boolean; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ token: string; accessToken: string; userId: string; userEmail: string; userRole: string; premiumUser: boolean; disabledPersonalKeyCreation: boolean; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}}]],[3855,[{"start":1457,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1501,"length":10,"messageText":"Cannot find name 'beforeEach'.","category":1,"code":2304},{"start":1553,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1638,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1723,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":2186,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2268,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2372,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2435,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2539,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":3054,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":3159,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":3589,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":3689,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304}]],[3856,[{"start":837,"length":10,"messageText":"Cannot find name 'beforeEach'.","category":1,"code":2304},{"start":1657,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1766,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1811,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":2092,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2179,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2275,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":2634,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2723,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":3113,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":3206,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":3312,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":3386,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":3463,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":3836,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":3910,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":4103,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":4162,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":4476,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":4653,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":4712,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":4861,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304}]],[3857,[{"start":1381,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1426,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1526,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1614,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1736,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1801,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1866,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1932,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2005,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":2133,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2193,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2273,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2362,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2439,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":2651,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2734,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":2953,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":3019,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":3090,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":3161,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":3232,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":3438,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":3523,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":3604,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":3946,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":4061,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":4799,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":4862,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":5432,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":5502,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":5568,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":5633,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":5706,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":5769,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":5866,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":6429,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":6614,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":6700,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":7224,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":7307,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":7925,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":8037,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":8581,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":8658,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":8754,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":9214,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":9314,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":9598,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":9686,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":10263,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":10308,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":10403,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":10686,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":10765,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":10862,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":11597,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":11714,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":11924,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":12008,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":12354,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":12411,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":12475,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":13196,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":13276,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":14029,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":14131,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":14357,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":14433,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":14528,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":14937,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":15019,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":15143,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":15231,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":15704,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":15831,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":15869,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":15948,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":16636,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":16760,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":17286,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":17347,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":17494,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":17562,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":17847,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":17926,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":18001,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":18085,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":18365,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":18434,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":18512,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":19051,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":19118,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":19147,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":19592,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":19677,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":19759,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":19893,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":19979,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":20448,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":20537,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":21001,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":21096,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":21415,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":21499,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":21573,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":21944,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":22017,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":22092,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":22244,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":22340,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":22583,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":22865,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":22961,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":23334,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":23372,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":23449,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":24046,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":24171,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":24474,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":24562,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":25250,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":25330,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":25818,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":25912,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":26391,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":26429,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":26502,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":27053,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":27458,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":27533,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":27630,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":28208,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":28253,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":28302,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":28384,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":28621,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":28682,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":28783,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":29078,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":29123,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":29172,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":29251,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":29494,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":29580,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":29883,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":29928,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":29985,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":30075,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":30326,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":30419,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":30780,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":30896,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":31033,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":31143,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":31378,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":31556,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":31620,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":31683,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":31754,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":31833,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":32005,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":32092,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":32187,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":32472,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":32556,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":32875,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":32913,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":32986,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":33150,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":33249,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":33390,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":33482,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":33723,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":33782,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":33845,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":34207,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":34324,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":34384,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":34589,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":34704,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":34813,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":35194,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":35291,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":35558,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":35684,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":35839,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":36010,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":36120,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":36445,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":36562,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":36896,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":36934,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":37005,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":37453,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":37491,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":37556,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":37828,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":37899,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":38459,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":38580,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":39063,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":39187,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":39389,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":39681,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":39768,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":40176,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":40294,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":40355,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":40833,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":40920,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":41014,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":41296,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":41413,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":41485,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":41748,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":41802,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":42193,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":42244,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":42687,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":42848,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":43404,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":43505,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":43574,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":43728,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":44012,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":44318,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":44472,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":44544,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":44929,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":45003,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":45436,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":45738,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":46146,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":46461,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":46740,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304}]],[3858,[{"start":10021,"length":28,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ data: ComplexityScorerDefaults; isPending: boolean; isError: boolean; refetch: Mock; }' is not assignable to parameter of type 'UseQueryResult'.","category":1,"code":2345,"next":[{"messageText":"Type '{ data: ComplexityScorerDefaults; isPending: boolean; isError: boolean; refetch: Mock; }' is not assignable to type 'QueryObserverRefetchErrorResult | QueryObserverSuccessResult | QueryObserverPlaceholderResult<...>'.","category":1,"code":2322,"next":[{"messageText":"Type '{ data: ComplexityScorerDefaults; isPending: boolean; isError: boolean; refetch: Mock; }' is missing the following properties from type 'QueryObserverPlaceholderResult': error, isLoading, isLoadingError, isRefetchError, and 18 more.","category":1,"code":2740,"canonicalHead":{"code":2322,"messageText":"Type '{ data: ComplexityScorerDefaults; isPending: boolean; isError: boolean; refetch: Mock; }' is not assignable to type 'QueryObserverPlaceholderResult'."}}]}]}},{"start":11180,"length":28,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ data: ComplexityScorerDefaults; isPending: boolean; isError: boolean; refetch: Mock; }' is not assignable to parameter of type 'UseQueryResult'.","category":1,"code":2345,"next":[{"messageText":"Type '{ data: ComplexityScorerDefaults; isPending: boolean; isError: boolean; refetch: Mock; }' is not assignable to type 'QueryObserverRefetchErrorResult | QueryObserverSuccessResult | QueryObserverPlaceholderResult<...>'.","category":1,"code":2322,"next":[{"messageText":"Type '{ data: ComplexityScorerDefaults; isPending: boolean; isError: boolean; refetch: Mock; }' is missing the following properties from type 'QueryObserverPlaceholderResult': error, isLoading, isLoadingError, isRefetchError, and 18 more.","category":1,"code":2740,"canonicalHead":{"code":2322,"messageText":"Type '{ data: ComplexityScorerDefaults; isPending: boolean; isError: boolean; refetch: Mock; }' is not assignable to type 'QueryObserverPlaceholderResult'."}}]}]}}]],[3860,[{"start":670,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":716,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":995,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1089,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1162,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1222,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1294,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1454,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1549,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1753,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1842,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":2056,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304}]],[3862,[{"start":2660,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":5044,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":5083,"length":10,"messageText":"Cannot find name 'beforeEach'.","category":1,"code":2304},{"start":5700,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":5820,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":5985,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":6224,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":6340,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":6430,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":6741,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":6830,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":6921,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":7054,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":7134,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":7348,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":7417,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":7762,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":8358,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":8417,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":8824,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":9321,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":9487,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":9580,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":9647,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":10141,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":10329,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":10413,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":10510,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":11197,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":11289,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":11379,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":12116,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":12175,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":12378,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":12879,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":12972,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":13039,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":13463,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":13676,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":13735,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":14087,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":14784,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":14843,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":15008,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":15620,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":15679,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":15835,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":16261,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":16498,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":16557,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":16716,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":17347,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":17406,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":17690,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":17933,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":18054,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":18091,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":18462,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":18550,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":19828,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":19975,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":20016,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":20077,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":20135,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":20282,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":20399,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":20470,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":21276,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":21535,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":21627,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":21733,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":21774,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":22236,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":22296,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":22644,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":22741,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":22962,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":23153,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":23213,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":23313,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":23717,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":24055,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":24181,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":24267,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":24572,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":24894,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":24991,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":25302,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":25519,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":25617,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":25936,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":26111,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":26468,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":27001,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":27062,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":27764,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":28225,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":28900,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":29068,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":29113,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":29169,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":29244,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":29924,"length":10,"messageText":"Cannot find name 'beforeEach'.","category":1,"code":2304},{"start":30075,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":30468,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":30791,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":30981,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":31052,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":31387,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":31729,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":31897,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":31942,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":31989,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":32064,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":32107,"length":10,"messageText":"Cannot find name 'beforeEach'.","category":1,"code":2304},{"start":32208,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":32666,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":32727,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":32892,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":33572,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":33633,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":33810,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":34607,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":34987,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":35077,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":35180,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":35590,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":35729,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":36011,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":36072,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":36526,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":36940,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":37136,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":37261,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":37465,"length":6,"messageText":"Parameter '_label' implicitly has an 'any' type.","category":1,"code":7006},{"start":37473,"length":9,"messageText":"Parameter 'modelName' implicitly has an 'any' type.","category":1,"code":7006},{"start":37823,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":37910,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":37997,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":38550,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":38914,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":39004,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":39107,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":39470,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":39800,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":39861,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304}]],[3865,[{"start":793,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":840,"length":10,"messageText":"Cannot find name 'beforeEach'.","category":1,"code":2304},{"start":892,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1224,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1269,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1342,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1419,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1501,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1794,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1869,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1948,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2022,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":2531,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2612,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2703,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2810,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":2889,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":3304,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304}]],[3887,[{"start":3670,"length":6,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ metadata: { key: string; value?: string | undefined; }[]; }' is not assignable to parameter of type '{ metadata?: MetadataPair[] | undefined; }'.","category":1,"code":2345,"next":[{"messageText":"Types of property 'metadata' are incompatible.","category":1,"code":2326,"next":[{"messageText":"Type '{ key: string; value?: string | undefined; }[]' is not assignable to type 'MetadataPair[]'.","category":1,"code":2322,"next":[{"messageText":"Type '{ key: string; value?: string | undefined; }' is not assignable to type 'MetadataPair'.","category":1,"code":2322,"next":[{"messageText":"Types of property 'value' are incompatible.","category":1,"code":2326,"next":[{"messageText":"Type 'string | undefined' is not assignable to type 'string'.","category":1,"code":2322,"next":[{"messageText":"Type 'undefined' is not assignable to type 'string'.","category":1,"code":2322}],"canonicalHead":{"code":2322,"messageText":"Type '{ key: string; value?: string | undefined; }' is not assignable to type 'MetadataPair'."}}]}]}]}]}]}}]],[3893,[{"start":806,"length":13,"code":2322,"category":1,"messageText":{"messageText":"Type '{ organization_id: string; organization_alias: string; budget_id: string; metadata: {}; models: never[]; spend: number; model_spend: {}; created_at: string; created_by: string; updated_at: string; }[]' is not assignable to type 'Organization[]'.","category":1,"code":2322,"next":[{"messageText":"Type '{ organization_id: string; organization_alias: string; budget_id: string; metadata: {}; models: never[]; spend: number; model_spend: {}; created_at: string; created_by: string; updated_at: string; }' is missing the following properties from type 'Organization': updated_by, litellm_budget_table, teams, users, members","category":1,"code":2739,"canonicalHead":{"code":2322,"messageText":"Type '{ organization_id: string; organization_alias: string; budget_id: string; metadata: {}; models: never[]; spend: number; model_spend: {}; created_at: string; created_by: string; updated_at: string; }' is not assignable to type 'Organization'."}}]},"relatedInformation":[{"file":"./src/components/common_components/organizationdropdown.tsx","start":179,"length":13,"messageText":"The expected type comes from property 'organizations' which is declared here on type 'IntrinsicAttributes & OrganizationDropdownProps'","category":3,"code":6500}]},{"start":1045,"length":13,"code":2322,"category":1,"messageText":{"messageText":"Type '{ organization_id: string; organization_alias: string; budget_id: string; metadata: {}; models: never[]; spend: number; model_spend: {}; created_at: string; created_by: string; updated_at: string; }[]' is not assignable to type 'Organization[]'.","category":1,"code":2322,"next":[{"messageText":"Type '{ organization_id: string; organization_alias: string; budget_id: string; metadata: {}; models: never[]; spend: number; model_spend: {}; created_at: string; created_by: string; updated_at: string; }' is missing the following properties from type 'Organization': updated_by, litellm_budget_table, teams, users, members","category":1,"code":2739,"canonicalHead":{"code":2322,"messageText":"Type '{ organization_id: string; organization_alias: string; budget_id: string; metadata: {}; models: never[]; spend: number; model_spend: {}; created_at: string; created_by: string; updated_at: string; }' is not assignable to type 'Organization'."}}]},"relatedInformation":[{"file":"./src/components/common_components/organizationdropdown.tsx","start":179,"length":13,"messageText":"The expected type comes from property 'organizations' which is declared here on type 'IntrinsicAttributes & OrganizationDropdownProps'","category":3,"code":6500}]},{"start":1459,"length":13,"code":2322,"category":1,"messageText":{"messageText":"Type '{ organization_id: string; organization_alias: string; budget_id: string; metadata: {}; models: never[]; spend: number; model_spend: {}; created_at: string; created_by: string; updated_at: string; }[]' is not assignable to type 'Organization[]'.","category":1,"code":2322,"next":[{"messageText":"Type '{ organization_id: string; organization_alias: string; budget_id: string; metadata: {}; models: never[]; spend: number; model_spend: {}; created_at: string; created_by: string; updated_at: string; }' is missing the following properties from type 'Organization': updated_by, litellm_budget_table, teams, users, members","category":1,"code":2739,"canonicalHead":{"code":2322,"messageText":"Type '{ organization_id: string; organization_alias: string; budget_id: string; metadata: {}; models: never[]; spend: number; model_spend: {}; created_at: string; created_by: string; updated_at: string; }' is not assignable to type 'Organization'."}}]},"relatedInformation":[{"file":"./src/components/common_components/organizationdropdown.tsx","start":179,"length":13,"messageText":"The expected type comes from property 'organizations' which is declared here on type 'IntrinsicAttributes & OrganizationDropdownProps'","category":3,"code":6500}]},{"start":1865,"length":13,"code":2322,"category":1,"messageText":{"messageText":"Type '{ organization_id: string; organization_alias: string; budget_id: string; metadata: {}; models: never[]; spend: number; model_spend: {}; created_at: string; created_by: string; updated_at: string; }[]' is not assignable to type 'Organization[]'.","category":1,"code":2322,"next":[{"messageText":"Type '{ organization_id: string; organization_alias: string; budget_id: string; metadata: {}; models: never[]; spend: number; model_spend: {}; created_at: string; created_by: string; updated_at: string; }' is missing the following properties from type 'Organization': updated_by, litellm_budget_table, teams, users, members","category":1,"code":2739,"canonicalHead":{"code":2322,"messageText":"Type '{ organization_id: string; organization_alias: string; budget_id: string; metadata: {}; models: never[]; spend: number; model_spend: {}; created_at: string; created_by: string; updated_at: string; }' is not assignable to type 'Organization'."}}]},"relatedInformation":[{"file":"./src/components/common_components/organizationdropdown.tsx","start":179,"length":13,"messageText":"The expected type comes from property 'organizations' which is declared here on type 'IntrinsicAttributes & OrganizationDropdownProps'","category":3,"code":6500}]},{"start":2328,"length":13,"code":2322,"category":1,"messageText":{"messageText":"Type '{ organization_id: string; organization_alias: string; budget_id: string; metadata: {}; models: never[]; spend: number; model_spend: {}; created_at: string; created_by: string; updated_at: string; }[]' is not assignable to type 'Organization[]'.","category":1,"code":2322,"next":[{"messageText":"Type '{ organization_id: string; organization_alias: string; budget_id: string; metadata: {}; models: never[]; spend: number; model_spend: {}; created_at: string; created_by: string; updated_at: string; }' is missing the following properties from type 'Organization': updated_by, litellm_budget_table, teams, users, members","category":1,"code":2739,"canonicalHead":{"code":2322,"messageText":"Type '{ organization_id: string; organization_alias: string; budget_id: string; metadata: {}; models: never[]; spend: number; model_spend: {}; created_at: string; created_by: string; updated_at: string; }' is not assignable to type 'Organization'."}}]},"relatedInformation":[{"file":"./src/components/common_components/organizationdropdown.tsx","start":179,"length":13,"messageText":"The expected type comes from property 'organizations' which is declared here on type 'IntrinsicAttributes & OrganizationDropdownProps'","category":3,"code":6500}]}]],[3896,[{"start":221,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":265,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":376,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":454,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":589,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":667,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":802,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":880,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1023,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"start":1104,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"start":1445,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304}]],[3997,[{"start":2930,"length":304,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ isLoading: false; isAuthorized: true; userId: string; userRole: string; accessToken: string; token: string; userEmail: string; premiumUser: boolean; disabledPersonalKeyCreation: null; showSSOBanner: false; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ isLoading: false; isAuthorized: true; userId: string; userRole: string; accessToken: string; token: string; userEmail: string; premiumUser: boolean; disabledPersonalKeyCreation: null; showSSOBanner: false; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': userRoleLabel, isViewOnly","category":1,"code":2739}]}}]],[4004,[{"start":5233,"length":13,"code":2739,"category":1,"messageText":"Type '{ token: string; token_id: string; key_name: string; key_alias: string; spend: number; max_budget: number; expires: string; models: never[]; aliases: {}; config: {}; user_id: string; team_id: null; max_parallel_requests: number; ... 44 more ...; key_rotation_at: undefined; }' is missing the following properties from type 'KeyResponse': project_id, key_type, last_active","canonicalHead":{"code":2322,"messageText":"Type '{ token: string; token_id: string; key_name: string; key_alias: string; spend: number; max_budget: number; expires: string; models: never[]; aliases: {}; config: {}; user_id: string; team_id: null; max_parallel_requests: number; ... 44 more ...; key_rotation_at: undefined; }' is not assignable to type 'KeyResponse'."}}]],[4005,[{"start":5009,"length":14,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ accessToken: string; userId: string; userRole: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; isLoading: boolean; isAuthorized: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ accessToken: string; userId: string; userRole: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; isLoading: boolean; isAuthorized: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":10433,"length":14,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ accessToken: string; userId: string; userRole: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; isLoading: boolean; isAuthorized: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ accessToken: string; userId: string; userRole: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; isLoading: boolean; isAuthorized: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': userRoleLabel, isViewOnly","category":1,"code":2739}]}}]],[4006,[{"start":3100,"length":13,"code":2739,"category":1,"messageText":"Type '{ token: string; token_id: string; key_name: string; key_alias: string; spend: number; max_budget: number; expires: string; models: never[]; aliases: {}; config: {}; user_id: string; team_id: null; project_id: null; ... 45 more ...; key_rotation_at: undefined; }' is missing the following properties from type 'KeyResponse': key_type, last_active","canonicalHead":{"code":2322,"messageText":"Type '{ token: string; token_id: string; key_name: string; key_alias: string; spend: number; max_budget: number; expires: string; models: never[]; aliases: {}; config: {}; user_id: string; team_id: null; project_id: null; ... 45 more ...; key_rotation_at: undefined; }' is not assignable to type 'KeyResponse'."}},{"start":5501,"length":21,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ accessToken: string; userId: string; userRole: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ accessToken: string; userId: string; userRole: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":6874,"length":21,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ accessToken: string; userId: string; userRole: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ accessToken: string; userId: string; userRole: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":7548,"length":21,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ accessToken: string; userId: string; userRole: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ accessToken: string; userId: string; userRole: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":7993,"length":21,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ accessToken: string; userId: string; userRole: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ accessToken: string; userId: string; userRole: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":8654,"length":21,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ accessToken: string; userId: string; userRole: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ accessToken: string; userId: string; userRole: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":9411,"length":21,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ accessToken: string; userId: string; userRole: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ accessToken: string; userId: string; userRole: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":10043,"length":104,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ userId: string; userRole: string; accessToken: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ userId: string; userRole: string; accessToken: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":11330,"length":94,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ userId: string; userRole: string; accessToken: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ userId: string; userRole: string; accessToken: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":12106,"length":94,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ userId: string; userRole: string; accessToken: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ userId: string; userRole: string; accessToken: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":12901,"length":94,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ userId: string; userRole: string; accessToken: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ userId: string; userRole: string; accessToken: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":13663,"length":115,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ userId: string; userRole: string; accessToken: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ userId: string; userRole: string; accessToken: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":15005,"length":96,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ userId: string; userRole: string; accessToken: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ userId: string; userRole: string; accessToken: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":16135,"length":21,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ accessToken: string; userId: string; userRole: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ accessToken: string; userId: string; userRole: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":18669,"length":21,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ accessToken: string; userId: string; userRole: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ accessToken: string; userId: string; userRole: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":19912,"length":115,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ userId: string; userRole: string; accessToken: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ userId: string; userRole: string; accessToken: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":20358,"length":111,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ userId: string; userRole: string; accessToken: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ userId: string; userRole: string; accessToken: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":20814,"length":115,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ userId: string; userRole: string; accessToken: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ userId: string; userRole: string; accessToken: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":21298,"length":113,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ userId: string; userRole: string; accessToken: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ userId: string; userRole: string; accessToken: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":22406,"length":102,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ userId: string; userRole: string; accessToken: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ userId: string; userRole: string; accessToken: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":22827,"length":21,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ accessToken: string; userId: string; userRole: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ accessToken: string; userId: string; userRole: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":23458,"length":21,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ accessToken: string; userId: string; userRole: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ accessToken: string; userId: string; userRole: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":24088,"length":21,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ accessToken: string; userId: string; userRole: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ accessToken: string; userId: string; userRole: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":24671,"length":112,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ userId: string; userRole: string; accessToken: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ userId: string; userRole: string; accessToken: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":25867,"length":102,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ userId: string; userRole: string; accessToken: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ userId: string; userRole: string; accessToken: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":26622,"length":102,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ userId: string; userRole: string; accessToken: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ userId: string; userRole: string; accessToken: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":27508,"length":112,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ userId: string; userRole: string; accessToken: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ userId: string; userRole: string; accessToken: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":28369,"length":112,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ userId: string; userRole: string; accessToken: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ userId: string; userRole: string; accessToken: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":29570,"length":112,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ userId: string; userRole: string; accessToken: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ userId: string; userRole: string; accessToken: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":32974,"length":112,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ userId: string; userRole: string; accessToken: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ userId: string; userRole: string; accessToken: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":40532,"length":112,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ userId: string; userRole: string; accessToken: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ userId: string; userRole: string; accessToken: string; premiumUser: boolean; token: string; userEmail: null; disabledPersonalKeyCreation: null; showSSOBanner: boolean; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}}]],[4058,[{"start":1980,"length":293,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ token: string; accessToken: string; userId: string; userEmail: string; userRole: string; premiumUser: boolean; disabledPersonalKeyCreation: boolean; showSSOBanner: false; }' is not assignable to parameter of type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }'.","category":1,"code":2345,"next":[{"messageText":"Type '{ token: string; accessToken: string; userId: string; userEmail: string; userRole: string; premiumUser: boolean; disabledPersonalKeyCreation: boolean; showSSOBanner: false; }' is missing the following properties from type '{ isLoading: boolean; isAuthorized: boolean; token: string | null; accessToken: any; userId: any; userEmail: any; userRole: string; userRoleLabel: string; isViewOnly: boolean; premiumUser: any; disabledPersonalKeyCreation: any; showSSOBanner: boolean; }': isLoading, isAuthorized, userRoleLabel, isViewOnly","category":1,"code":2739}]}},{"start":2424,"length":10,"code":2739,"category":1,"messageText":"Type '{ showTags: false; topKeys: never[]; accessToken: string; userID: string; userRole: string; teams: null; premiumUser: boolean; }' is missing the following properties from type 'TopKeyViewProps': topKeysLimit, setTopKeysLimit","canonicalHead":{"code":2322,"messageText":"Type '{ showTags: false; topKeys: never[]; accessToken: string; userID: string; userRole: string; teams: null; premiumUser: boolean; }' is not assignable to type 'TopKeyViewProps'."}},{"start":2638,"length":10,"code":2739,"category":1,"messageText":"Type '{ showTags: true; topKeys: never[]; accessToken: string; userID: string; userRole: string; teams: null; premiumUser: boolean; }' is missing the following properties from type 'TopKeyViewProps': topKeysLimit, setTopKeysLimit","canonicalHead":{"code":2322,"messageText":"Type '{ showTags: true; topKeys: never[]; accessToken: string; userID: string; userRole: string; teams: null; premiumUser: boolean; }' is not assignable to type 'TopKeyViewProps'."}},{"start":2857,"length":10,"code":2739,"category":1,"messageText":"Type '{ topKeys: { api_key: string; key_alias: string; tags: TagUsage[]; spend: number; }[]; showTags: true; accessToken: string; userID: string; userRole: string; teams: null; premiumUser: boolean; }' is missing the following properties from type 'TopKeyViewProps': topKeysLimit, setTopKeysLimit","canonicalHead":{"code":2322,"messageText":"Type '{ topKeys: { api_key: string; key_alias: string; tags: TagUsage[]; spend: number; }[]; showTags: true; accessToken: string; userID: string; userRole: string; teams: null; premiumUser: boolean; }' is not assignable to type 'TopKeyViewProps'."}},{"start":5736,"length":10,"code":2739,"category":1,"messageText":"Type '{ topKeys: { api_key: string; key_alias: string; tags: TagUsage[]; spend: number; }[]; showTags: true; accessToken: string; userID: string; userRole: string; teams: null; premiumUser: boolean; }' is missing the following properties from type 'TopKeyViewProps': topKeysLimit, setTopKeysLimit","canonicalHead":{"code":2322,"messageText":"Type '{ topKeys: { api_key: string; key_alias: string; tags: TagUsage[]; spend: number; }[]; showTags: true; accessToken: string; userID: string; userRole: string; teams: null; premiumUser: boolean; }' is not assignable to type 'TopKeyViewProps'."}},{"start":6118,"length":10,"code":2739,"category":1,"messageText":"Type '{ topKeys: { api_key: string; key_alias: string; tags: TagUsage[]; spend: number; }[]; showTags: true; accessToken: string; userID: string; userRole: string; teams: null; premiumUser: boolean; }' is missing the following properties from type 'TopKeyViewProps': topKeysLimit, setTopKeysLimit","canonicalHead":{"code":2322,"messageText":"Type '{ topKeys: { api_key: string; key_alias: string; tags: TagUsage[]; spend: number; }[]; showTags: true; accessToken: string; userID: string; userRole: string; teams: null; premiumUser: boolean; }' is not assignable to type 'TopKeyViewProps'."}},{"start":6926,"length":10,"code":2739,"category":1,"messageText":"Type '{ topKeys: { api_key: string; key_alias: string; tags: never[]; spend: number; }[]; showTags: true; accessToken: string; userID: string; userRole: string; teams: null; premiumUser: boolean; }' is missing the following properties from type 'TopKeyViewProps': topKeysLimit, setTopKeysLimit","canonicalHead":{"code":2322,"messageText":"Type '{ topKeys: { api_key: string; key_alias: string; tags: never[]; spend: number; }[]; showTags: true; accessToken: string; userID: string; userRole: string; teams: null; premiumUser: boolean; }' is not assignable to type 'TopKeyViewProps'."}},{"start":7351,"length":10,"code":2739,"category":1,"messageText":"Type '{ topKeys: { api_key: string; key_alias: string; tags: undefined; spend: number; }[]; showTags: true; accessToken: string; userID: string; userRole: string; teams: null; premiumUser: boolean; }' is missing the following properties from type 'TopKeyViewProps': topKeysLimit, setTopKeysLimit","canonicalHead":{"code":2322,"messageText":"Type '{ topKeys: { api_key: string; key_alias: string; tags: undefined; spend: number; }[]; showTags: true; accessToken: string; userID: string; userRole: string; teams: null; premiumUser: boolean; }' is not assignable to type 'TopKeyViewProps'."}},{"start":7757,"length":10,"code":2739,"category":1,"messageText":"Type '{ topKeys: { api_key: string; key_alias: string; tags: null; spend: number; }[]; showTags: true; accessToken: string; userID: string; userRole: string; teams: null; premiumUser: boolean; }' is missing the following properties from type 'TopKeyViewProps': topKeysLimit, setTopKeysLimit","canonicalHead":{"code":2322,"messageText":"Type '{ topKeys: { api_key: string; key_alias: string; tags: null; spend: number; }[]; showTags: true; accessToken: string; userID: string; userRole: string; teams: null; premiumUser: boolean; }' is not assignable to type 'TopKeyViewProps'."}},{"start":8309,"length":10,"code":2739,"category":1,"messageText":"Type '{ topKeys: { api_key: string; key_alias: string; tags: TagUsage[]; spend: number; }[]; showTags: true; accessToken: string; userID: string; userRole: string; teams: null; premiumUser: boolean; }' is missing the following properties from type 'TopKeyViewProps': topKeysLimit, setTopKeysLimit","canonicalHead":{"code":2322,"messageText":"Type '{ topKeys: { api_key: string; key_alias: string; tags: TagUsage[]; spend: number; }[]; showTags: true; accessToken: string; userID: string; userRole: string; teams: null; premiumUser: boolean; }' is not assignable to type 'TopKeyViewProps'."}},{"start":9294,"length":10,"code":2739,"category":1,"messageText":"Type '{ topKeys: { api_key: string; key_alias: string; tags: TagUsage[]; spend: number; }[]; showTags: true; accessToken: string; userID: string; userRole: string; teams: null; premiumUser: boolean; }' is missing the following properties from type 'TopKeyViewProps': topKeysLimit, setTopKeysLimit","canonicalHead":{"code":2322,"messageText":"Type '{ topKeys: { api_key: string; key_alias: string; tags: TagUsage[]; spend: number; }[]; showTags: true; accessToken: string; userID: string; userRole: string; teams: null; premiumUser: boolean; }' is not assignable to type 'TopKeyViewProps'."}},{"start":9836,"length":10,"code":2739,"category":1,"messageText":"Type '{ showTags: true; topKeys: never[]; accessToken: string; userID: string; userRole: string; teams: null; premiumUser: boolean; }' is missing the following properties from type 'TopKeyViewProps': topKeysLimit, setTopKeysLimit","canonicalHead":{"code":2322,"messageText":"Type '{ showTags: true; topKeys: never[]; accessToken: string; userID: string; userRole: string; teams: null; premiumUser: boolean; }' is not assignable to type 'TopKeyViewProps'."}},{"start":10256,"length":10,"code":2739,"category":1,"messageText":"Type '{ showTags: false; topKeys: never[]; accessToken: string; userID: string; userRole: string; teams: null; premiumUser: boolean; }' is missing the following properties from type 'TopKeyViewProps': topKeysLimit, setTopKeysLimit","canonicalHead":{"code":2322,"messageText":"Type '{ showTags: false; topKeys: never[]; accessToken: string; userID: string; userRole: string; teams: null; premiumUser: boolean; }' is not assignable to type 'TopKeyViewProps'."}},{"start":10874,"length":10,"code":2739,"category":1,"messageText":"Type '{ topKeys: { api_key: string; key_alias: string; tags: never[]; spend: number; }[]; showTags: true; accessToken: string; userID: string; userRole: string; teams: null; premiumUser: boolean; }' is missing the following properties from type 'TopKeyViewProps': topKeysLimit, setTopKeysLimit","canonicalHead":{"code":2322,"messageText":"Type '{ topKeys: { api_key: string; key_alias: string; tags: never[]; spend: number; }[]; showTags: true; accessToken: string; userID: string; userRole: string; teams: null; premiumUser: boolean; }' is not assignable to type 'TopKeyViewProps'."}}]]],"affectedFilesPendingEmit":[4060,2616,2618,2620,2622,2624,2626,2609,2792,2783,1268,1267,1266,2789,2782,2780,2791,2781,2790,2786,2785,2784,1189,2787,2817,2815,2816,2744,2833,2834,2823,2835,2821,1269,2836,2825,1271,1270,2820,2837,2838,2826,1273,2839,2824,2818,2831,2829,2832,2828,2827,2819,2822,2830,2840,2776,2841,2846,2843,2842,2845,2854,2847,2855,2851,1275,1274,2853,2849,2848,1276,2856,2850,2852,2871,2868,2872,2858,2861,2860,1277,1279,1278,2874,2875,2862,2873,2859,1280,2864,2863,2876,2865,1282,1281,2877,2878,2866,1074,2870,2867,2857,2869,2651,1284,1283,2977,2974,2978,2969,1287,1286,2979,2980,2975,1289,1288,2981,2970,2982,2881,2983,2972,2984,2973,2985,2880,1297,1296,2986,2987,1295,1299,1298,2976,2989,1310,2990,2991,1308,2992,2993,1330,2994,1325,1331,2997,1319,2998,1317,2999,1316,1355,1315,1311,1356,1318,2995,1307,1332,1326,2996,1309,1302,1352,1329,1353,1327,1354,1328,2988,3071,3061,3073,3072,3074,3064,3075,3067,3076,3066,3077,3065,3070,3069,3038,3039,3016,1361,3019,3049,3007,3005,3050,3008,3051,3020,3052,3021,3053,3054,3001,3055,3002,3004,3056,3000,3003,3057,1647,3058,3006,3059,1362,1363,3040,3028,3041,3026,1357,1360,1359,3042,3027,3043,3044,3022,3045,1358,3010,3011,3046,3018,3009,3035,3030,3017,3032,3024,3033,3025,3034,3023,3012,3047,3013,3048,3014,3036,3037,3029,3060,3015,3031,1385,1386,1384,1387,1388,1390,1389,1098,1391,1393,1392,1417,1419,1418,1421,1420,1423,1422,1425,1424,1428,1427,1429,1092,3079,1416,1430,1432,1431,1433,1434,1436,1435,1438,1437,1440,1439,1441,1442,1444,1443,1446,1447,1445,1448,1450,1449,1451,1452,1453,1454,1455,1457,1456,1459,1458,1461,1460,1462,1464,1463,1465,1162,1467,1466,1468,1367,1471,1470,1473,1472,1475,1474,1476,1469,1478,1477,1480,1479,1482,1481,1380,1484,1483,1485,1487,1489,1488,1491,1490,1493,1492,1495,1494,1497,1496,1498,1500,1499,1502,1501,1504,1503,1505,1093,1508,1507,1509,1506,1511,1510,1364,1365,1094,1369,1371,1372,1374,1373,1376,1375,1377,1378,1368,1381,1513,1512,1515,1514,1517,1516,3078,1383,2748,2745,2743,3092,3112,3117,3157,3158,3137,1519,1518,1522,1521,3122,1524,1525,1523,3159,3134,3125,3155,3175,3138,3176,3127,3177,3146,3178,3126,3179,3141,3180,3181,3140,3182,3142,3183,3149,3184,3128,3185,3154,1527,1526,3174,1528,3162,3160,3133,3161,3145,3163,3130,3164,3139,3165,3113,3114,3167,3116,3166,3115,1530,1529,3168,3120,3118,3132,3169,3131,3170,3123,3129,1608,3119,3124,3150,1610,1609,3171,3151,3172,3121,3173,3148,3186,1520,3156,3194,3187,3195,3188,3196,3190,3189,3197,3191,3193,3192,3216,3290,3243,3291,3242,1622,1621,3294,3250,3249,3248,1624,1623,3292,3281,3241,3293,3286,1617,1616,3289,3288,3295,3260,3244,3251,3296,3280,3265,3284,3282,3276,3287,1618,1626,1625,1188,3301,3299,3300,3315,3313,3316,3312,3311,3306,3305,3314,2778,2777,3422,3444,3414,3445,3436,3446,3423,3447,3415,1628,3424,3416,3448,3417,3449,3431,3450,3435,3451,3425,3418,3452,3419,3453,3420,3454,3421,3455,3434,3429,3432,3428,3430,3433,1630,1629,3456,3441,3457,3439,3458,3437,3459,3440,3461,3460,3462,3438,1633,1632,3318,1638,1637,1640,3338,3463,3406,3464,3407,3465,3408,3466,3409,1631,3410,3411,3413,3443,3442,3487,3477,3488,3471,3489,3482,3485,3474,3473,1643,1642,3490,3480,3491,3472,3492,3475,3493,3483,3494,3469,3495,3470,3496,3479,3497,3478,3486,3468,3467,1645,1644,3498,3481,3476,3484,3509,3504,3510,3503,3511,3502,3501,3514,3515,3499,3516,3517,3500,3518,1924,1646,1926,1925,3512,3507,3513,3506,3505,3508,3547,3524,3548,3544,3543,3560,3533,3565,3538,3561,3534,3562,3537,3563,3535,1930,1931,3564,3532,3536,3552,3530,3540,3542,3553,3527,3554,3522,3555,3526,3556,3531,3557,3539,3558,3528,1927,1929,1928,3559,3541,3549,3523,3519,3546,3521,3520,3550,3525,3551,3529,3545,3567,2968,3566,3578,3579,3570,3576,3580,3568,1933,1932,3584,3585,3575,3581,3572,3571,3582,3573,3583,3574,3569,3577,3593,3586,3591,3589,3592,3588,3587,3590,3603,3597,3601,3598,3602,3594,3600,3596,3595,3599,3611,3618,3621,3620,3619,3624,3623,3622,3648,3632,3649,3633,3650,3634,3647,3635,3651,3639,1936,1938,1937,3652,3640,3653,3638,1935,1934,3637,3645,3641,3646,3643,3654,3642,1939,1294,3644,3665,3656,3668,3658,1942,1941,1943,1940,3663,3666,3655,3667,3662,3670,3671,3661,3669,3660,3659,3664,3685,3686,3681,3687,3679,3678,3695,3683,1182,3688,1181,1180,3689,3680,3690,3682,3696,3697,3677,3691,3692,3675,3693,3674,3673,3694,3676,3684,3701,3700,3699,3698,3709,3711,3714,3703,3702,3716,3707,3706,3718,3720,3719,3722,3721,2636,3724,3725,3723,3726,3727,3728,3729,3731,3730,3735,3734,3736,3737,3733,3738,3732,3739,3759,3626,2032,1085,3862,3247,3258,3854,3259,3864,3252,3865,3218,1619,3855,3246,1992,1991,1994,1993,1995,1110,3866,3222,1102,3856,1097,1996,1096,1997,1078,1998,1108,3857,1106,3867,3253,1104,3245,3868,3255,1999,1100,3858,1101,1109,3869,3254,3870,3256,2033,3871,3257,3859,2034,3860,1105,2000,1107,3861,1103,3760,3271,3872,1648,1272,3783,3198,3789,3199,3790,3201,3791,3203,3784,3200,3785,3215,3786,3204,3210,3787,3208,3788,3207,3082,3873,3081,3740,1950,3761,3657,1886,3704,2009,3874,2008,3875,3713,2007,3708,3876,3715,3877,3712,3878,3705,3710,2001,3717,2010,2002,3879,3213,3426,1627,3880,3427,3881,1635,1636,2012,2011,3211,3209,1034,3762,3627,3792,3088,3793,3794,3085,3795,3083,3084,3796,3087,1962,1961,3797,3798,3086,1426,1324,1649,2757,1650,1072,3882,2750,3883,2758,2746,3903,3302,3904,3303,3905,3304,2013,3906,3205,3907,3206,3884,1651,3885,2751,3886,2650,3236,3887,3229,3888,1884,3889,1883,3890,1071,3892,3891,3893,1904,3894,3270,1885,3269,3895,1889,1905,3896,1890,3897,1900,2015,2014,3898,2759,3900,1303,1903,3901,3636,3902,3226,3899,3628,2793,3741,1911,3742,2647,3743,2652,3799,3095,3800,3094,3093,3801,3098,3802,3097,3096,3744,2844,2036,2037,2035,3908,2038,2039,1033,3763,3080,3803,1971,3804,1966,3805,1967,3806,1968,1973,1965,3807,1972,1974,1970,3909,2767,2040,3745,3230,3062,3808,3063,1975,3746,1320,3764,2231,1944,1170,3910,1912,1913,3913,1081,2043,2042,1032,3911,2041,1031,2045,2044,3912,1914,2047,2046,2049,2048,3765,3266,3766,1958,3747,2654,3914,3317,1639,3915,1082,2051,2050,3916,3412,3767,2760,2052,3917,1915,3918,1918,3919,3147,1075,1917,3920,3336,3921,1073,2054,2053,3922,3261,3923,3264,3924,3263,3262,3925,3219,3926,3279,3927,3278,3277,3928,3240,2055,3202,3283,3768,3225,3223,3809,2779,1977,1976,3929,3217,3930,1306,3931,2960,3769,2649,3811,2639,3812,2641,1978,1951,1979,3813,2642,3814,2648,3810,2644,3815,2646,1945,1187,3748,2653,625,2764,3770,1910,3934,3935,1923,2056,1921,3932,3933,2765,2058,2057,2059,1922,2062,2061,3937,3308,2064,2063,3938,3307,2060,3936,3310,1946,1960,1959,3771,3272,3816,3274,3273,3817,3275,3772,3630,2763,3939,2762,2761,3940,2768,1641,3773,3285,3774,1305,3775,3214,3212,3776,3267,3777,3268,3946,2882,3941,1891,3942,1892,3943,1895,3944,1893,3945,1894,3949,2967,3947,2966,2066,2065,3948,2965,2964,2963,2067,1486,3749,2794,3950,3231,3778,3091,1980,3818,2809,3819,2811,3820,2810,3821,2795,3822,3144,3823,3143,1982,1981,3824,2812,1983,1984,3830,2798,3831,2797,3832,2799,3833,3834,2800,3825,2801,3826,2802,3827,2805,3828,2803,3829,2804,1986,1985,3835,2806,3836,2807,3837,2808,3838,3090,3089,1987,3839,1899,3840,1896,3841,2961,1897,3843,2962,3842,1898,3068,3966,2753,3951,1908,3952,3309,3967,3629,3975,2215,3976,2216,3977,2217,3978,2214,2068,3979,2218,2220,3980,2219,3953,1952,3954,1919,1149,3968,3969,1153,3970,1155,3971,1152,3972,1157,3973,1160,3974,1159,1158,1161,1148,1964,3955,1168,2766,3981,1906,3227,3221,3956,1173,3957,1174,3958,1076,1887,3959,2747,3960,2971,3961,1902,3962,2879,2796,2755,3963,1026,3964,1949,2754,3982,1163,1164,3983,1165,3984,1167,3985,1169,1177,3986,1171,3987,1172,3988,1175,3989,1176,3965,2638,1901,3844,1955,3751,1957,3750,2813,3990,3337,623,3991,3606,3605,3604,2770,3992,3993,3232,3228,3994,1888,3999,3234,2222,2221,3995,3235,4000,3233,2224,2223,3996,3239,3997,3237,2226,2225,3998,3238,2227,3753,3610,3845,3609,3608,3752,3607,2229,2228,4004,2771,4005,4006,2772,2230,2233,2232,2769,4001,2752,4002,4003,2756,3846,2645,3754,3613,3847,3612,3848,3616,1988,3849,3615,3850,3614,3755,3617,4007,1300,1907,4008,1953,4009,1099,4010,2637,2640,4011,1020,1077,4012,2213,1156,1080,1025,1095,1314,4013,1029,2749,1023,1021,1027,1954,1083,4014,1948,4015,1030,1028,1154,1150,1084,2635,1079,1151,1301,1022,4016,1035,4017,1313,3756,2814,3757,3779,3220,3852,3298,3851,3625,1285,1990,1989,3780,3631,3781,2775,3758,2742,1111,4018,1920,3782,3672,4030,3101,3102,4019,3100,3099,2240,4020,2251,2234,4021,2250,2249,2238,4031,2237,2247,2246,4032,2248,4033,2245,4026,4027,3111,4028,3103,2235,4034,2241,4035,2270,2239,2243,4036,2273,2280,4037,2274,4038,2257,4039,2278,4040,2279,4041,2275,2267,2268,4042,2277,4043,2276,4044,1183,4045,2269,4046,2272,4047,2271,4048,2254,4049,2253,2244,2281,2258,4029,3104,3105,4022,3106,4023,3110,3109,4024,3108,2261,2266,2262,2263,2264,4050,2265,2259,2282,2260,4025,3107,2236,2252,3224,3297,2773,3853,2774,2633,2003,4051,2643,2634,1947,2288,2286,2285,2287,2284,2283,2289,4055,2292,1312,4052,3135,4053,1323,3136,4054,3152,3153,2290,2291,2293,1304,2296,2295,2297,1019,2300,2299,2302,2301,4056,2031,2303,2304,1293,2305,616,2306,1184,2307,1185,1186,2298,617,614,2308,2309,1366,2310,620,2311,1166,1415,1179,2312,2314,2313,2315,622,2575,2574,2577,2576,2578,1956,2579,1370,2580,2582,2581,2583,619,2584,1916,2585,1178,2586,1620,2587,2588,1634,2589,1379,2592,2591,2595,2594,2596,2593,2597,1086,2598,1087,618,2599,1382,2600,1963,2601,1070,4057,2617,2619,2621,2623,2625,2627,2606,2608,2610,2628,3863,2611,2615,2788,4058,613],"version":"5.9.3"} \ No newline at end of file From 71c70b73b07553ba8abe37e75f98860eb2e94e51 Mon Sep 17 00:00:00 2001 From: mateo-berri <277851410+mateo-berri@users.noreply.github.com> Date: Wed, 26 Aug 2026 20:05:10 -0700 Subject: [PATCH 17/32] style(gemini): drop redundant web search cost comments --- litellm/llms/gemini/cost_calculator.py | 6 ------ 1 file changed, 6 deletions(-) diff --git a/litellm/llms/gemini/cost_calculator.py b/litellm/llms/gemini/cost_calculator.py index fb7d340ecb3..52285af1f5f 100644 --- a/litellm/llms/gemini/cost_calculator.py +++ b/litellm/llms/gemini/cost_calculator.py @@ -38,11 +38,6 @@ def cost_per_web_search_request(usage: "Usage", model_info: "ModelInfo") -> floa Reads the per-request cost from ``search_context_cost_per_query`` in ``model_info`` when available, falling back to $0.035 for models not yet updated in the pricing JSON. - - The request count comes from ``prompt_tokens_details.web_search_requests`` - (the native Gemini field), falling back to ``server_tool_use.web_search_requests`` - for usage reconstructed from an Anthropic-format response (the /v1/messages - adapter surface). """ from litellm.litellm_core_utils.llm_cost_calc.utils import get_web_search_requests from litellm.types.utils import PromptTokensDetailsWrapper @@ -65,7 +60,6 @@ def cost_per_web_search_request(usage: "Usage", model_info: "ModelInfo") -> floa requests_from_server_tool_use: Final = get_web_search_requests(getattr(usage, "server_tool_use", None)) number_of_web_search_requests: Final = requests_from_prompt_details or requests_from_server_tool_use or 0 - # per_prompt billing: clamp to 1 (flat fee per grounded API call) billing_mode: Final = model_info.get("web_search_billing_unit") or "per_prompt" billable_requests: Final = ( 1 if (number_of_web_search_requests > 0 and billing_mode == "per_prompt") else number_of_web_search_requests From 1fcdb3d92afde322870e2499cd88df4c43020acb Mon Sep 17 00:00:00 2001 From: "devin-ai-integration[bot]" <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Wed, 26 Aug 2026 20:44:33 -0700 Subject: [PATCH 18/32] feat(ui): add Teams list CSV export with budgets, model grants, and rate limits (#38436) * feat(ui): add Teams list CSV export with budgets, model grants, and rate limits Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> * fix(ui): neutralize formula-leading values in teams CSV export Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> --------- Co-authored-by: yassin Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> --- .../src/components/TeamsPage/TeamsTable.tsx | 52 ++++-- .../TeamsPage/teamsCsvExport.test.ts | 163 ++++++++++++++++++ .../components/TeamsPage/teamsCsvExport.ts | 95 ++++++++++ .../components/key_team_helpers/key_list.tsx | 3 + 4 files changed, 302 insertions(+), 11 deletions(-) create mode 100644 ui/litellm-dashboard/src/components/TeamsPage/teamsCsvExport.test.ts create mode 100644 ui/litellm-dashboard/src/components/TeamsPage/teamsCsvExport.ts diff --git a/ui/litellm-dashboard/src/components/TeamsPage/TeamsTable.tsx b/ui/litellm-dashboard/src/components/TeamsPage/TeamsTable.tsx index 5f5a6f26c0a..0b38d51e36a 100644 --- a/ui/litellm-dashboard/src/components/TeamsPage/TeamsTable.tsx +++ b/ui/litellm-dashboard/src/components/TeamsPage/TeamsTable.tsx @@ -2,6 +2,7 @@ import { useOrganizations } from "@/app/(dashboard)/hooks/organizations/useOrganizations"; import { useTeamsTable } from "@/app/(dashboard)/hooks/teams/useTeams"; +import useAuthorized from "@/app/(dashboard)/hooks/useAuthorized"; import { DataTable, DataTableFilterDrawer, @@ -9,14 +10,17 @@ import { DataTableToolbar, } from "@/components/shared/DataTable"; import { SearchSelect } from "@/components/shared/SearchSelect"; +import { Button } from "@/components/ui/button"; import { Input } from "@/components/ui/input"; import { DEBOUNCE_WAIT_MS } from "@/utils/debounceConstants"; import { useDebouncedValue } from "@tanstack/react-pacer/debouncer"; import { ColumnFiltersState, OnChangeFn, PaginationState, SortingState } from "@tanstack/react-table"; +import { Download } from "lucide-react"; import React, { useCallback, useMemo, useState } from "react"; import { Team } from "../key_team_helpers/key_list"; import { getTeamTableColumns, TEAM_TABLE_HIDDEN_COLUMNS } from "./teamTableColumns"; +import { exportTeamsToCsv } from "./teamsCsvExport"; interface TeamsTableProps { userRole: string | null; @@ -49,7 +53,9 @@ export function TeamsTable({ userRole, userID, onSelectTeam, onEditTeam, onDelet const [columnFilters, setColumnFilters] = useState([]); const [filtersOpen, setFiltersOpen] = useState(false); const [searchInput, setSearchInput] = useState(""); + const [isExporting, setIsExporting] = useState(false); const [searchQuery] = useDebouncedValue(searchInput, { wait: DEBOUNCE_WAIT_MS }); + const { accessToken } = useAuthorized(); const getFilterValue = useCallback( (columnId: string): string | undefined => { @@ -61,16 +67,19 @@ export function TeamsTable({ userRole, userID, onSelectTeam, onEditTeam, onDelet const isAdminView = userRole === "Admin" || userRole === "Admin Viewer"; - const teamListOptions = { - organizationID: getFilterValue("org_id"), - team_alias: getFilterValue("alias"), - teamID: getFilterValue("team_id"), - search: searchQuery.trim() || undefined, - searchTeamIdMatch: "prefix" as const, - userID: isAdminView ? undefined : userID ?? undefined, - sortBy: sorting[0]?.id, - sortOrder: toSortOrder(sorting), - }; + const teamListOptions = useMemo( + () => ({ + organizationID: getFilterValue("org_id"), + team_alias: getFilterValue("alias"), + teamID: getFilterValue("team_id"), + search: searchQuery.trim() || undefined, + searchTeamIdMatch: "prefix" as const, + userID: isAdminView ? undefined : userID ?? undefined, + sortBy: sorting[0]?.id, + sortOrder: toSortOrder(sorting), + }), + [getFilterValue, searchQuery, isAdminView, userID, sorting], + ); const { data: teamsResponse, @@ -97,6 +106,16 @@ export function TeamsTable({ userRole, userID, onSelectTeam, onEditTeam, onDelet setTablePagination((prev) => ({ ...prev, pageIndex: 0 })); }, []); + const handleExportCsv = useCallback(async () => { + if (!accessToken || isExporting) return; + setIsExporting(true); + try { + await exportTeamsToCsv(accessToken, teamListOptions); + } finally { + setIsExporting(false); + } + }, [accessToken, isExporting, teamListOptions]); + const columns = useMemo(() => { const columnDeps = { organizations, userRole, onSelectTeam, onEditTeam, onDeleteTeam }; return getTeamTableColumns(columnDeps); @@ -159,7 +178,18 @@ export function TeamsTable({ userRole, userID, onSelectTeam, onEditTeam, onDelet onOpenFilters={() => setFiltersOpen(true)} filterLabels={FILTER_LABELS} formatFilterValue={formatFilterValue} - /> + > + + ): Team => + ({ + team_id: "team-1", + team_alias: "alias-1", + models: [], + max_budget: null, + budget_duration: null, + tpm_limit: null, + rpm_limit: null, + organization_id: "org-1", + created_at: "2026-01-01T00:00:00Z", + keys: [], + members_with_roles: [], + spend: 0, + ...overrides, + }) as Team; + +const makePage = (teams: Team[], page: number, totalPages: number): TeamsResponse => ({ + teams, + total: teams.length, + page, + page_size: TEAMS_EXPORT_PAGE_SIZE, + total_pages: totalPages, +}); + +describe("fetchAllTeams", () => { + it("returns the single page without extra requests", async () => { + const fetchPage = vi.fn().mockResolvedValue(makePage([makeTeam({ team_id: "a" })], 1, 1)); + const teams = await fetchAllTeams(fetchPage); + expect(teams.map((t) => t.team_id)).toEqual(["a"]); + expect(fetchPage).toHaveBeenCalledTimes(1); + expect(fetchPage).toHaveBeenCalledWith(1, TEAMS_EXPORT_PAGE_SIZE); + }); + + it("fetches and concatenates every page in order", async () => { + const fetchPage = vi + .fn() + .mockImplementation(async (page: number) => makePage([makeTeam({ team_id: `team-${page}` })], page, 3)); + const teams = await fetchAllTeams(fetchPage); + expect(teams.map((t) => t.team_id)).toEqual(["team-1", "team-2", "team-3"]); + expect(fetchPage).toHaveBeenCalledTimes(3); + expect(fetchPage).toHaveBeenCalledWith(2, TEAMS_EXPORT_PAGE_SIZE); + expect(fetchPage).toHaveBeenCalledWith(3, TEAMS_EXPORT_PAGE_SIZE); + }); +}); + +describe("collectTeamMemberBudgetIds", () => { + it("dedupes ids and skips teams without a member budget", () => { + const teams = [ + makeTeam({ team_id: "a", metadata: { team_member_budget_id: "bud-1" } }), + makeTeam({ team_id: "b", metadata: { team_member_budget_id: "bud-1" } }), + makeTeam({ team_id: "c", metadata: {} }), + makeTeam({ team_id: "d", metadata: { team_member_budget_id: "" } }), + makeTeam({ team_id: "e" }), + makeTeam({ team_id: "f", metadata: { team_member_budget_id: "bud-2" } }), + ]; + expect(collectTeamMemberBudgetIds(teams)).toEqual(["bud-1", "bud-2"]); + }); +}); + +describe("buildTeamsCsvRows", () => { + it("maps configured limits, spend, models, and rate limits", () => { + const teamFields: Partial = { + team_id: "team-42", + team_alias: "finance", + organization_id: "org-9", + models: ["gpt-4o", "claude-sonnet-4-5"], + max_budget: 250, + budget_duration: "30d", + budget_reset_at: "2026-02-01T00:00:00Z", + spend: 12.5, + tpm_limit: 1000, + rpm_limit: 50, + members_count: 7, + keys_count: 3, + blocked: false, + }; + const [row] = buildTeamsCsvRows([makeTeam(teamFields)], []); + const expectedRow = { + "Team Alias": "finance", + "Team ID": "team-42", + "Organization ID": "org-9", + Models: "gpt-4o, claude-sonnet-4-5", + "Max Budget (USD)": 250, + "Budget Duration": "30d", + "Budget Reset At": "2026-02-01T00:00:00Z", + "Spend (USD)": 12.5, + "TPM Limit": 1000, + "RPM Limit": 50, + "Team Member Budget (USD)": "", + "Team Member Budget Duration": "", + "Team Member TPM Limit": "", + "Team Member RPM Limit": "", + Members: 7, + Keys: 3, + Blocked: false, + "Created At": "2026-01-01T00:00:00Z", + }; + expect(row).toEqual(expectedRow); + }); + + it("joins team member budget rows by budget id from metadata", () => { + const teams = [ + makeTeam({ team_id: "a", metadata: { team_member_budget_id: "bud-1" } }), + makeTeam({ team_id: "b" }), + ]; + const rows = buildTeamsCsvRows(teams, [ + { budget_id: "bud-1", max_budget: 25, budget_duration: "7d", tpm_limit: 200, rpm_limit: 10 }, + ]); + expect(rows[0]["Team Member Budget (USD)"]).toBe(25); + expect(rows[0]["Team Member Budget Duration"]).toBe("7d"); + expect(rows[0]["Team Member TPM Limit"]).toBe(200); + expect(rows[0]["Team Member RPM Limit"]).toBe(10); + expect(rows[1]["Team Member Budget (USD)"]).toBe(""); + }); + + it("falls back to members_with_roles and keys lengths when counts are absent", () => { + const team = makeTeam({ + members_with_roles: [ + { user_id: "u1", role: "admin" }, + { user_id: "u2", role: "user" }, + ], + keys: [{ token: "t" } as Team["keys"][number]], + }); + const [row] = buildTeamsCsvRows([team], []); + expect(row.Members).toBe(2); + expect(row.Keys).toBe(1); + }); +}); + +describe("buildTeamsCsv", () => { + it("produces a header row and quotes values containing commas", () => { + const csv = buildTeamsCsv([makeTeam({ team_alias: "sales, emea", models: ["m1", "m2"] })], []); + const [header, row] = csv.split("\r\n"); + expect(header).toBe( + "Team Alias,Team ID,Organization ID,Models,Max Budget (USD),Budget Duration,Budget Reset At,Spend (USD)," + + "TPM Limit,RPM Limit,Team Member Budget (USD),Team Member Budget Duration,Team Member TPM Limit," + + "Team Member RPM Limit,Members,Keys,Blocked,Created At", + ); + expect(row).toContain('"sales, emea"'); + expect(row).toContain('"m1, m2"'); + }); + + it("neutralizes formula-leading values so spreadsheets render them as text", () => { + const csv = buildTeamsCsv([makeTeam({ team_alias: "=SUM(A1:A9)" })], []); + const [, row] = csv.split("\r\n"); + expect(row).toContain('"\'=SUM(A1:A9)"'); + expect(row).not.toContain("=SUM(A1:A9),"); + }); +}); diff --git a/ui/litellm-dashboard/src/components/TeamsPage/teamsCsvExport.ts b/ui/litellm-dashboard/src/components/TeamsPage/teamsCsvExport.ts new file mode 100644 index 00000000000..e03ccdada75 --- /dev/null +++ b/ui/litellm-dashboard/src/components/TeamsPage/teamsCsvExport.ts @@ -0,0 +1,95 @@ +import Papa from "papaparse"; + +import { TeamListCallOptions, TeamsResponse, teamListCall } from "@/app/(dashboard)/hooks/teams/useTeams"; + +import { Team } from "../key_team_helpers/key_list"; +import { apiClient } from "../networking"; + +export interface TeamMemberBudget { + budget_id: string; + max_budget?: number | null; + budget_duration?: string | null; + tpm_limit?: number | null; + rpm_limit?: number | null; +} + +export const TEAMS_EXPORT_PAGE_SIZE = 100; + +type FetchTeamsPage = (page: number, pageSize: number) => Promise; + +export const fetchAllTeams = async (fetchPage: FetchTeamsPage): Promise => { + const firstPage = await fetchPage(1, TEAMS_EXPORT_PAGE_SIZE); + const totalPages = firstPage.total_pages ?? 1; + if (totalPages <= 1) return firstPage.teams; + + const remainingPages = await Promise.all( + Array.from({ length: totalPages - 1 }, (_, i) => fetchPage(i + 2, TEAMS_EXPORT_PAGE_SIZE)), + ); + return [firstPage, ...remainingPages].flatMap((page) => page.teams); +}; + +const teamMemberBudgetId = (team: Team): string | null => { + const id = team.metadata?.team_member_budget_id; + return typeof id === "string" && id.length > 0 ? id : null; +}; + +export const collectTeamMemberBudgetIds = (teams: Team[]): string[] => + Array.from(new Set(teams.map(teamMemberBudgetId).filter((id): id is string => id !== null))); + +const cell = (value: string | number | boolean | null | undefined): string | number | boolean => value ?? ""; + +export const buildTeamsCsvRows = ( + teams: Team[], + budgets: TeamMemberBudget[], +): Record[] => { + const budgetsById = new Map(budgets.map((budget) => [budget.budget_id, budget])); + return teams.map((team) => { + const budgetId = teamMemberBudgetId(team); + const memberBudget = budgetId ? budgetsById.get(budgetId) : undefined; + return { + "Team Alias": cell(team.team_alias), + "Team ID": cell(team.team_id), + "Organization ID": cell(team.organization_id), + Models: (team.models ?? []).join(", "), + "Max Budget (USD)": cell(team.max_budget), + "Budget Duration": cell(team.budget_duration), + "Budget Reset At": cell(team.budget_reset_at), + "Spend (USD)": cell(team.spend), + "TPM Limit": cell(team.tpm_limit), + "RPM Limit": cell(team.rpm_limit), + "Team Member Budget (USD)": cell(memberBudget?.max_budget), + "Team Member Budget Duration": cell(memberBudget?.budget_duration), + "Team Member TPM Limit": cell(memberBudget?.tpm_limit), + "Team Member RPM Limit": cell(memberBudget?.rpm_limit), + Members: cell(team.members_count ?? team.members_with_roles?.length), + Keys: cell(team.keys_count ?? team.keys?.length), + Blocked: cell(team.blocked), + "Created At": cell(team.created_at), + }; + }); +}; + +export const buildTeamsCsv = (teams: Team[], budgets: TeamMemberBudget[]): string => + Papa.unparse(buildTeamsCsvRows(teams, budgets), { escapeFormulae: true }); + +const downloadCsv = (csv: string, fileName: string): void => { + const blob = new Blob([csv], { type: "text/csv;charset=utf-8;" }); + const url = window.URL.createObjectURL(blob); + const a = document.createElement("a"); + a.href = url; + a.download = fileName; + document.body.appendChild(a); + a.click(); + document.body.removeChild(a); + window.URL.revokeObjectURL(url); +}; + +export const exportTeamsToCsv = async (accessToken: string, options: TeamListCallOptions): Promise => { + const teams = await fetchAllTeams((page, pageSize) => teamListCall(accessToken, page, pageSize, options)); + const budgetIds = collectTeamMemberBudgetIds(teams); + const budgets = budgetIds.length + ? await apiClient.post("/budget/info", { accessToken, body: { budgets: budgetIds } }) + : []; + downloadCsv(buildTeamsCsv(teams, budgets), `teams_export_${new Date().toISOString().split("T")[0]}.csv`); + return teams.length; +}; diff --git a/ui/litellm-dashboard/src/components/key_team_helpers/key_list.tsx b/ui/litellm-dashboard/src/components/key_team_helpers/key_list.tsx index 7f79260843e..a6cc940c7fd 100644 --- a/ui/litellm-dashboard/src/components/key_team_helpers/key_list.tsx +++ b/ui/litellm-dashboard/src/components/key_team_helpers/key_list.tsx @@ -13,6 +13,9 @@ export interface Team { tpm_limit: number | null; rpm_limit: number | null; organization_id: string; + metadata?: Record | null; + budget_reset_at?: string | null; + blocked?: boolean; created_at: string; updated_at?: string | null; keys: KeyResponse[]; From ee76c9a6f4fbdf9975bf13154eb4982c1e86dc76 Mon Sep 17 00:00:00 2001 From: "devin-ai-integration[bot]" <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Wed, 26 Aug 2026 20:45:51 -0700 Subject: [PATCH 19/32] fix(mcp): accept raw x-litellm-api-key on streamable HTTP admission (#38364) * fix(mcp): accept raw x-litellm-api-key on streamable HTTP admission Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> * chore(mcp): drop comments restating parser behavior Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> --------- Co-authored-by: yassin Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> --- .../mcp_server/auth/user_api_key_auth_mcp.py | 6 +++- .../auth/test_user_api_key_auth_mcp.py | 33 +++++++++++++++++-- 2 files changed, 35 insertions(+), 4 deletions(-) diff --git a/litellm/proxy/_experimental/mcp_server/auth/user_api_key_auth_mcp.py b/litellm/proxy/_experimental/mcp_server/auth/user_api_key_auth_mcp.py index 281a555dc5c..bd8dfea3621 100644 --- a/litellm/proxy/_experimental/mcp_server/auth/user_api_key_auth_mcp.py +++ b/litellm/proxy/_experimental/mcp_server/auth/user_api_key_auth_mcp.py @@ -46,6 +46,7 @@ from litellm.proxy._types import ( ) from litellm.proxy.auth.ip_address_utils import IPAddressUtils from litellm.proxy.auth.user_api_key_auth import ( + _get_bearer_token_or_received_api_key, # pyright: ignore[reportPrivateUsage] # shared x-litellm-api-key parser lives with user_api_key_auth _run_centralized_common_checks, user_api_key_auth, ) @@ -429,7 +430,10 @@ class MCPRequestHandler: # An explicit x-litellm-api-key is always a LiteLLM credential, even # for a delegated server, so validate it: identity / spend / rate # limits resolve and any stored upstream token can be forwarded. - validated_user_api_key_auth = await user_api_key_auth(api_key=litellm_api_key, request=request) + validated_user_api_key_auth = await user_api_key_auth( + api_key=f"Bearer {_get_bearer_token_or_received_api_key(litellm_api_key)}", + request=request, + ) elif MCPRequestHandler._target_servers_delegate_auth_to_upstream( path=request_route, mcp_servers=mcp_servers, diff --git a/tests/test_litellm/proxy/_experimental/mcp_server/auth/test_user_api_key_auth_mcp.py b/tests/test_litellm/proxy/_experimental/mcp_server/auth/test_user_api_key_auth_mcp.py index 99e3e8d7413..aa6ddbfb49d 100644 --- a/tests/test_litellm/proxy/_experimental/mcp_server/auth/test_user_api_key_auth_mcp.py +++ b/tests/test_litellm/proxy/_experimental/mcp_server/auth/test_user_api_key_auth_mcp.py @@ -1082,11 +1082,38 @@ class TestMCPOAuth2AuthFlow: # LiteLLM key should be used for auth mock_auth.assert_called_once() call_args = mock_auth.call_args - assert call_args.kwargs["api_key"] == "sk-litellm-valid-key" + assert call_args.kwargs["api_key"] == "Bearer sk-litellm-valid-key" # OAuth2 headers should still contain the Authorization token assert oauth2_headers.get("Authorization") == "Bearer atlassian-oauth2-token" + @pytest.mark.parametrize( + "header_value", + [b"sk-litellm-valid-key", b"Bearer sk-litellm-valid-key", b"bearer sk-litellm-valid-key"], + ) + async def test_x_litellm_api_key_survives_bearer_only_strip(self, header_value): + from litellm.proxy.auth.user_api_key_auth import _get_bearer_token + + scope = { + "type": "http", + "method": "POST", + "path": "/mcp/some_server", + "headers": [(b"x-litellm-api-key", header_value)], + } + + async def mock_user_api_key_auth(api_key, request): + return UserAPIKeyAuth(api_key=api_key, user_id="test-user") + + with patch( # test-quality-ok: capturing the exact api_key handed to key validation is the regression under test + "litellm.proxy._experimental.mcp_server.auth.user_api_key_auth_mcp.user_api_key_auth", + side_effect=mock_user_api_key_auth, + ) as mock_auth: + auth_result, *_rest = await MCPRequestHandler.process_mcp_request(scope) + + mock_auth.assert_called_once() + assert _get_bearer_token(api_key=mock_auth.call_args.kwargs["api_key"]) == "sk-litellm-valid-key" + assert auth_result.user_id == "test-user" + async def test_litellm_key_in_authorization_backward_compat(self): """ Backward compatibility: when only Authorization header is present @@ -3007,7 +3034,7 @@ class TestMCPCustomHeaderName: # Verify the mock was called mock_auth.assert_called_once() call_args = mock_auth.call_args - assert call_args.kwargs["api_key"] == "test-api-key" + assert call_args.kwargs["api_key"] == "Bearer test-api-key" def test_get_mcp_server_auth_headers_from_headers(self): """Test _get_mcp_server_auth_headers_from_headers method""" @@ -6254,7 +6281,7 @@ class TestMCPDcrBridgeDelegateAdmission: ) = await MCPRequestHandler.process_mcp_request(scope) mock_auth.assert_called_once() - assert mock_auth.call_args.kwargs["api_key"] == "sk-explicit-litellm-key" + assert mock_auth.call_args.kwargs["api_key"] == "Bearer sk-explicit-litellm-key" # The explicit-key arm admitted; the envelope arm never ran, so no inner token is injected. assert auth_result.user_id == "litellm-key-user" assert mcp_server_auth_headers == {} From 172e3aceafc24f750273c2c66a3ed6bb8394b980 Mon Sep 17 00:00:00 2001 From: "devin-ai-integration[bot]" <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Wed, 26 Aug 2026 20:48:10 -0700 Subject: [PATCH 20/32] fix: bound row count on GET /spend/logs to stop unbounded LiteLLM_SpendLogs scans (#38420) Co-authored-by: yassin Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> --- .../spend_management_endpoints.py | 27 ++++-- .../test_spend_management_endpoints.py | 84 +++++++++++++++++++ ui/litellm-dashboard/src/lib/http/schema.d.ts | 2 + 3 files changed, 105 insertions(+), 8 deletions(-) diff --git a/litellm/proxy/spend_tracking/spend_management_endpoints.py b/litellm/proxy/spend_tracking/spend_management_endpoints.py index 06395a3c3cc..9deb52895f5 100644 --- a/litellm/proxy/spend_tracking/spend_management_endpoints.py +++ b/litellm/proxy/spend_tracking/spend_management_endpoints.py @@ -18,7 +18,7 @@ from typing import ( ) import fastapi -from fastapi import APIRouter, Depends, HTTPException, Request, status +from fastapi import APIRouter, Depends, HTTPException, Request, Response, status from typing_extensions import ReadOnly import litellm @@ -208,9 +208,18 @@ async def _find_spend_logs( prisma_client: PrismaClient, where: Mapping[str, object], order: Mapping[str, str], + take: int, + http_response: Response, ) -> Sequence[_SupportsModelDump]: - """Read spend log rows as Prisma model instances.""" - return await _spend_logs_table(prisma_client).find_many(where=where, order=order) + """Read spend log rows as Prisma model instances, capped at ``take`` rows.""" + rows: Final = await _spend_logs_table(prisma_client).find_many(where=where, order=order, take=take) + if len(rows) == take: + http_response.headers["x-litellm-spend-logs-truncated"] = "true" + verbose_proxy_logger.warning( + "/spend/logs result truncated to the %s most recent rows; use /spend/logs/v2 for paginated access", + take, + ) + return rows async def _find_spend_log_row(prisma_client: PrismaClient, request_id: str) -> _SpendLogOwnershipRow | None: @@ -2851,6 +2860,7 @@ async def ui_view_request_response_for_request_id( }, ) async def view_spend_logs( + fastapi_response: Response, api_key: str | None = fastapi.Query( default=None, description="Get spend logs based on api key", @@ -2881,6 +2891,8 @@ async def view_spend_logs( [DEPRECATED] This endpoint is not paginated and can cause performance issues. Please use `/spend/logs/v2` instead for paginated access to spend logs. + Row results are capped at 10,000 most recent entries per response. + View all spend logs, if request_id is provided, only logs for that request_id will be returned When start_date and end_date are provided: @@ -2931,7 +2943,6 @@ async def view_spend_logs( raise Exception( "Database not connected. Connect a database to your proxy - https://docs.litellm.ai/docs/simple_proxy#managing-auth---virtual-keys" ) - spend_logs = [] if ( start_date is not None and isinstance(start_date, str) @@ -2970,6 +2981,8 @@ async def view_spend_logs( prisma_client, where=filter_query, order={"startTime": "desc"}, + take=SPEND_LOGS_PAGINATION_COUNT_CAP, + http_response=fastapi_response, ) return data @@ -3040,14 +3053,12 @@ async def view_spend_logs( if user_id is not None and isinstance(user_id, str): scoped_filter["user"] = user_id - if not scoped_filter: - spend_logs = await prisma_client.get_data(table_name="spend", query_type="find_all") - return spend_logs - data = await _find_spend_logs( prisma_client, where=scoped_filter, order={"startTime": "desc"}, + take=SPEND_LOGS_PAGINATION_COUNT_CAP, + http_response=fastapi_response, ) return data diff --git a/tests/test_litellm/proxy/spend_tracking/test_spend_management_endpoints.py b/tests/test_litellm/proxy/spend_tracking/test_spend_management_endpoints.py index 8c15ead8983..f60177a6455 100644 --- a/tests/test_litellm/proxy/spend_tracking/test_spend_management_endpoints.py +++ b/tests/test_litellm/proxy/spend_tracking/test_spend_management_endpoints.py @@ -3135,6 +3135,90 @@ async def test_view_spend_logs_summarize_parameter(client, monkeypatch): app.dependency_overrides.pop(ps.user_api_key_auth, None) +@pytest.mark.asyncio +async def test_view_spend_logs_bounds_row_count(client, monkeypatch): + """Every /spend/logs read path must send take=SPEND_LOGS_PAGINATION_COUNT_CAP to Prisma (LIT-6284).""" + captured_find_many_kwargs = [] + + class MockDB: + def __init__(self): + self.litellm_spendlogs = self + self.available_rows = 0 + + async def find_many(self, *args, **kwargs): + captured_find_many_kwargs.append(kwargs) + return [{}] * min(kwargs.get("take", 0), self.available_rows) + + class MockPrismaClient: + def __init__(self): + self.db = MockDB() + + def hash_token(self, token): + return f"hashed-{token}" + + mock_prisma_client = MockPrismaClient() + monkeypatch.setattr("litellm.proxy.proxy_server.prisma_client", mock_prisma_client) + app.dependency_overrides[ps.user_api_key_auth] = lambda: UserAPIKeyAuth( + user_role=LitellmUserRoles.PROXY_ADMIN + ) + start_date = ( + datetime.datetime.now(timezone.utc) - datetime.timedelta(days=2) + ).strftime("%Y-%m-%d") + end_date = datetime.datetime.now(timezone.utc).strftime("%Y-%m-%d") + try: + response = client.get( + "/spend/logs", + headers={"Authorization": "Bearer sk-test"}, + ) + assert response.status_code == 200 + assert ( + captured_find_many_kwargs[-1].get("take") + == spend_management_endpoints.SPEND_LOGS_PAGINATION_COUNT_CAP + ) + assert "x-litellm-spend-logs-truncated" not in response.headers + + response = client.get( + "/spend/logs", + params={"user_id": "test-user"}, + headers={"Authorization": "Bearer sk-test"}, + ) + assert response.status_code == 200 + assert captured_find_many_kwargs[-1].get("where") == {"user": "test-user"} + assert ( + captured_find_many_kwargs[-1].get("take") + == spend_management_endpoints.SPEND_LOGS_PAGINATION_COUNT_CAP + ) + + response = client.get( + "/spend/logs", + params={ + "start_date": start_date, + "end_date": end_date, + "summarize": "false", + }, + headers={"Authorization": "Bearer sk-test"}, + ) + assert response.status_code == 200 + assert "startTime" in captured_find_many_kwargs[-1].get("where", {}) + assert ( + captured_find_many_kwargs[-1].get("take") + == spend_management_endpoints.SPEND_LOGS_PAGINATION_COUNT_CAP + ) + + mock_prisma_client.db.available_rows = ( + spend_management_endpoints.SPEND_LOGS_PAGINATION_COUNT_CAP + ) + response = client.get( + "/spend/logs", + headers={"Authorization": "Bearer sk-test"}, + ) + assert response.status_code == 200 + assert len(response.json()) == spend_management_endpoints.SPEND_LOGS_PAGINATION_COUNT_CAP + assert response.headers["x-litellm-spend-logs-truncated"] == "true" + finally: + app.dependency_overrides.pop(ps.user_api_key_auth, None) + + @pytest.mark.asyncio async def test_view_spend_tags(client, monkeypatch): """Test the /spend/tags endpoint""" diff --git a/ui/litellm-dashboard/src/lib/http/schema.d.ts b/ui/litellm-dashboard/src/lib/http/schema.d.ts index e8a0db44c1f..5e5ff63e9ed 100644 --- a/ui/litellm-dashboard/src/lib/http/schema.d.ts +++ b/ui/litellm-dashboard/src/lib/http/schema.d.ts @@ -13176,6 +13176,8 @@ export interface paths { * @description [DEPRECATED] This endpoint is not paginated and can cause performance issues. * Please use `/spend/logs/v2` instead for paginated access to spend logs. * + * Row results are capped at 10,000 most recent entries per response. + * * View all spend logs, if request_id is provided, only logs for that request_id will be returned * * When start_date and end_date are provided: From 2e2c8200ae84062c7429174f21975e590502ff62 Mon Sep 17 00:00:00 2001 From: "devin-ai-integration[bot]" <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Wed, 26 Aug 2026 20:49:21 -0700 Subject: [PATCH 21/32] fix(scim): apply default_team_params (incl. models) to SCIM-created teams (#38433) * fix(scim): apply default_team_params (incl. models) to SCIM-created teams Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> * test(scim): annotate default_team_params regression test parameters Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> --------- Co-authored-by: yassin Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> --- .../management_endpoints/scim/scim_v2.py | 35 ++++++++++- .../scim/test_scim_v2_endpoints.py | 63 +++++++++++++++++++ 2 files changed, 96 insertions(+), 2 deletions(-) diff --git a/litellm/proxy/management_endpoints/scim/scim_v2.py b/litellm/proxy/management_endpoints/scim/scim_v2.py index 67370e3511c..ded57815e91 100644 --- a/litellm/proxy/management_endpoints/scim/scim_v2.py +++ b/litellm/proxy/management_endpoints/scim/scim_v2.py @@ -6,6 +6,7 @@ This is an enterprise feature and requires a premium license. import re from collections.abc import Awaitable, Callable, Iterable, Mapping, Sequence +from copy import deepcopy from dataclasses import dataclass from functools import partial from itertools import chain @@ -2375,6 +2376,37 @@ async def get_group( raise handle_exception_on_proxy(e) +def _new_team_request_with_defaults( + team_id: str, + team_alias: str | None, + members_with_roles: Sequence[Member], +) -> NewTeamRequest: + """Build the SCIM group's team request, applying litellm.default_team_params + (including models) the same way SSO auto-created teams do.""" + default_params: Final = litellm.default_team_params + defaults: Final[Mapping[str, object]] = ( + deepcopy(default_params) + if isinstance(default_params, dict) + else default_params.model_dump(exclude_none=True) + if default_params is not None + else {} + ) + default_metadata: Final = defaults.get("metadata") + metadata: Final = { + **(default_metadata if isinstance(default_metadata, dict) else {}), + SCIM_MANAGED_TEAM_METADATA_KEY: True, + } + return NewTeamRequest.model_validate( + { + **defaults, + "team_id": team_id, + "team_alias": team_alias, + "members_with_roles": members_with_roles, + "metadata": metadata, + } + ) + + @scim_router.post( "/Groups", response_model=SCIMGroup, @@ -2412,11 +2444,10 @@ async def create_group( # Create team in database created_team: Final = await new_team( - data=NewTeamRequest( + data=_new_team_request_with_defaults( team_id=team_id, team_alias=group.displayName, members_with_roles=members_with_roles, - metadata={SCIM_MANAGED_TEAM_METADATA_KEY: True}, ), http_request=Request(scope={"type": "http", "path": "/scim/v2/Groups"}), user_api_key_dict=UserAPIKeyAuth(user_role=LitellmUserRoles.PROXY_ADMIN), diff --git a/tests/test_litellm/proxy/management_endpoints/scim/test_scim_v2_endpoints.py b/tests/test_litellm/proxy/management_endpoints/scim/test_scim_v2_endpoints.py index 50a057c9b73..957f9fde645 100644 --- a/tests/test_litellm/proxy/management_endpoints/scim/test_scim_v2_endpoints.py +++ b/tests/test_litellm/proxy/management_endpoints/scim/test_scim_v2_endpoints.py @@ -4415,6 +4415,69 @@ async def test_create_group_stamps_scim_provenance(mocker, scim_upsert_user_enab assert new_team_mock.call_args.kwargs["data"].metadata == {SCIM_MANAGED_TEAM_METADATA_KEY: True} +@pytest.mark.asyncio +@pytest.mark.parametrize("as_pydantic", [False, True]) +async def test_create_group_applies_default_team_params( + mocker: MockerFixture, + monkeypatch: pytest.MonkeyPatch, + scim_upsert_user_enabled: None, + as_pydantic: bool, +): + """SCIM-created teams must honor litellm_settings.default_team_params, including + models, the same way SSO auto-created teams do.""" + import litellm + from litellm.types.proxy.management_endpoints.ui_sso import DefaultTeamSSOParams + + default_params = { + "models": ["no-default-models"], + "max_budget": 25.0, + "budget_duration": "30d", + "tpm_limit": 100, + "rpm_limit": 10, + } + monkeypatch.setattr( + litellm, + "default_team_params", + DefaultTeamSSOParams(**default_params) if as_pydantic else default_params, + ) + + scim_group = SCIMGroup( + schemas=["urn:ietf:params:scim:schemas:core:2.0:Group"], + id="defaults-group", + displayName="Defaults.Apps", + members=[], + ) + + mocker.patch( # test-quality-ok: endpoint collaborators are module-level, not injectable into create_group + "litellm.proxy.management_endpoints.scim.scim_v2._get_prisma_client_or_raise_exception", + AsyncMock(return_value=_member_resolution_prisma(mocker, users=set(), teams=set())), + ) + new_team_mock = mocker.patch( # test-quality-ok: endpoint collaborators are module-level, not injectable into create_group + "litellm.proxy.management_endpoints.scim.scim_v2.new_team", + AsyncMock(return_value=mocker.MagicMock()), + ) + mocker.patch( # test-quality-ok: endpoint collaborators are module-level, not injectable into create_group + "litellm.proxy.management_endpoints.scim.scim_v2.ScimTransformations.transform_litellm_team_to_scim_group", + AsyncMock(return_value=scim_group), + ) + mocker.patch( # test-quality-ok: endpoint collaborators are module-level, not injectable into create_group + "litellm.proxy.management_endpoints.scim.scim_v2._recompute_scim_member_roles", + AsyncMock(), + ) + + await create_group(group=scim_group) + + team_request = new_team_mock.call_args.kwargs["data"] + assert team_request.models == ["no-default-models"] + assert team_request.max_budget == 25.0 + assert team_request.budget_duration == "30d" + assert team_request.tpm_limit == 100 + assert team_request.rpm_limit == 10 + assert team_request.team_id == "defaults-group" + assert team_request.team_alias == "Defaults.Apps" + assert team_request.metadata == {SCIM_MANAGED_TEAM_METADATA_KEY: True} + + @pytest.mark.asyncio async def test_update_group_stamps_scim_provenance(mocker, scim_upsert_user_enabled): """A PUT full sync adopts a team the identity provider now owns, and the stamp has From a215ecaf3d64ecf50a9f9868b1b8bdcfc91fc955 Mon Sep 17 00:00:00 2001 From: Yuneng Jiang Date: Wed, 26 Aug 2026 20:58:38 -0700 Subject: [PATCH 22/32] fix(e2e): move the vertex realtime suite off the retired Live preview model Google withdrew gemini-live-2.5-flash-preview-native-audio-09-2025 from the Vertex Live API. Every session dies at setup: received 1007 (invalid frame payload data) gemini-live-2.5-flash-preview-native-audio-09-2025 is not supported in the live api. The client sees session.created (the proxy synthesizes it on connect) and then nothing, so both vertex_ai realtime tests time out waiting for session.updated. Confirmed by probing the Vertex Live endpoint directly with the e2e stack's own credentials: gemini-live-2.5-flash-preview-native-audio-09-2025 -> 1007, not supported gemini-live-2.5-flash-native-audio -> setupComplete so this swaps to the non-preview sibling, which is the same native-audio class and is what the cost map already carries for vertex_ai. Not a litellm regression. The suspicion fell on #38395 because it removed the native-audio speechConfig strip, but the setup payload this suite sends is byte-identical either side of that change: the strip only fires when a client sends a voice, and the e2e SessionConfig has no voice field. Google's rejection names the model, not a field. The gemini (Google AI Studio) provider keeps the -09-2025 id, which still works there; only the Vertex endpoint dropped it. --- tests/e2e/llm_translation/realtime/REALTIME_COVERAGE_MATRIX.md | 2 +- tests/e2e/llm_translation/realtime/realtime_client.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/e2e/llm_translation/realtime/REALTIME_COVERAGE_MATRIX.md b/tests/e2e/llm_translation/realtime/REALTIME_COVERAGE_MATRIX.md index bae858d50af..a6e32b88479 100644 --- a/tests/e2e/llm_translation/realtime/REALTIME_COVERAGE_MATRIX.md +++ b/tests/e2e/llm_translation/realtime/REALTIME_COVERAGE_MATRIX.md @@ -42,7 +42,7 @@ at call time. The provider table below is the source of truth; edit `PROVIDERS` | openai | `openai-realtime` | `openai/gpt-realtime-2` | | azure | `azure-realtime` | `azure/gpt-realtime-2` (GA protocol) | | gemini | `gemini-realtime` | `gemini/gemini-3.1-flash-live-preview` | -| vertex_ai | `vertex-realtime` | `vertex_ai/gemini-live-2.5-flash-preview-native-audio-09-2025` | +| vertex_ai | `vertex-realtime` | `vertex_ai/gemini-live-2.5-flash-native-audio` | Bedrock and xai (`xai/grok-4-1-fast-non-reasoning`) are supported by the proxy but kept commented out in `PROVIDERS` until they pass end-to-end here; re-enable them by diff --git a/tests/e2e/llm_translation/realtime/realtime_client.py b/tests/e2e/llm_translation/realtime/realtime_client.py index 632a9cf7e57..3ffca7e8b88 100644 --- a/tests/e2e/llm_translation/realtime/realtime_client.py +++ b/tests/e2e/llm_translation/realtime/realtime_client.py @@ -78,7 +78,7 @@ PROVIDERS = ( "vertex_ai", "vertex-realtime", LiteLLMParamsBody( - model="vertex_ai/gemini-live-2.5-flash-preview-native-audio-09-2025", + model="vertex_ai/gemini-live-2.5-flash-native-audio", vertex_location="us-central1", vertex_credentials="os.environ/VERTEXAI_CREDENTIALS", ), From 166694948f1154278a2f2dc8446eac2c40335f87 Mon Sep 17 00:00:00 2001 From: tin-berri Date: Wed, 26 Aug 2026 22:37:37 -0700 Subject: [PATCH 23/32] fix(ui): show custom technical keywords on every router whose scorer runs (#38451) The keywords feed the scorer's technical dimension, so they change tier decisions on any router that scores. The control rendered only for classifier_type 'heuristic', while the scoring knobs right below it already gated on heuristicScoringRole(value) !== 'never'. The two disagreed, so an operator could edit boundaries and weights on a router whose keywords they could neither see nor set. That hid the control on an LLM classifier using the default heuristic fallback, and on heuristic_first, which runs the scorer on every request to decide whether to short-circuit. Both now read the same predicate as the panel below them. --- .../add_model/ClassificationMethodConfig.tsx | 3 +- .../add_model/ComplexityRouterConfig.test.tsx | 44 +++++++++++++++++++ 2 files changed, 46 insertions(+), 1 deletion(-) diff --git a/ui/litellm-dashboard/src/components/add_model/ClassificationMethodConfig.tsx b/ui/litellm-dashboard/src/components/add_model/ClassificationMethodConfig.tsx index 86245a83fbb..cea967f5966 100644 --- a/ui/litellm-dashboard/src/components/add_model/ClassificationMethodConfig.tsx +++ b/ui/litellm-dashboard/src/components/add_model/ClassificationMethodConfig.tsx @@ -27,6 +27,7 @@ import { CLASSIFICATION_RUBRIC_KEYS, ClassificationRubric, effectiveTierLabel, + heuristicScoringRole, usesLlmClassifier, DEFAULT_HEURISTIC_FIRST_MAX_TIER, HEURISTIC_FIRST_MAX_TIER_KEYS, @@ -502,7 +503,7 @@ const ClassificationMethodConfig: React.FC = ({
)} - {value.classifier_type === "heuristic" && ( + {heuristicScoringRole(value) !== "never" && (
Custom Technical Keywords diff --git a/ui/litellm-dashboard/src/components/add_model/ComplexityRouterConfig.test.tsx b/ui/litellm-dashboard/src/components/add_model/ComplexityRouterConfig.test.tsx index 45a967c0537..2925c28cc5e 100644 --- a/ui/litellm-dashboard/src/components/add_model/ComplexityRouterConfig.test.tsx +++ b/ui/litellm-dashboard/src/components/add_model/ComplexityRouterConfig.test.tsx @@ -1012,3 +1012,47 @@ describe("ComplexityRouterConfig per-model effort filtering", () => { ); }); }); + +describe("ComplexityRouterConfig custom technical keywords", () => { + const openClassificationPanel = (value: ComplexityRouterConfigValue) => { + renderWithProviders(); + fireEvent.click(screen.getByText("Advanced: Classification Method")); + }; + + const llmConfig = { model: "gpt-3.5-turbo", timeout_ms: 3000 }; + + it.each([ + ["heuristic", { ...defaultValue, classifier_type: "heuristic" as const }], + [ + "heuristic_first", + { + ...defaultValue, + classifier_type: "heuristic_first" as const, + heuristic_first_max_tier: "SIMPLE", + classifier_llm_config: llmConfig, + }, + ], + [ + "llm falling back to the scorer", + { + ...defaultValue, + classifier_type: "llm" as const, + classifier_llm_config: llmConfig, + classifier_fallback: "heuristic" as const, + }, + ], + ])("offers the keywords on a router whose scorer runs: %s", (_label, value) => { + openClassificationPanel(value); + expect(screen.getByText("Custom Technical Keywords")).toBeInTheDocument(); + }); + + it("hides the keywords when the scorer never runs, so they cannot imply an effect they have none", () => { + openClassificationPanel({ + ...defaultValue, + classifier_type: "llm", + classifier_llm_config: llmConfig, + classifier_fallback: "default_model", + }); + expect(screen.queryByText("Custom Technical Keywords")).not.toBeInTheDocument(); + }); +}); From 2e55fa1411a717739a6df40f041548747b099509 Mon Sep 17 00:00:00 2001 From: Yuneng Jiang Date: Wed, 26 Aug 2026 23:34:19 -0700 Subject: [PATCH 24/32] fix(e2e): size the mid-conversation-system cache prefix above the minimum deterministically `_cacheable_system_block` embedded the per-run marker in all 300 paragraphs, so the block's token count moved with the marker's own tokenization. Measured over 40 random markers the size ranged 3611-5408 tokens (median 4509): 15% of runs landed under the 4096-token minimum cacheable prefix of Haiku 4.5, despite the docstring claiming the prompt was comfortably above it. When the system block is under the minimum, no cache entry is written at the system breakpoint. The entry at the second breakpoint still gets written, because system + first user turn clears the minimum -- which is why the failures report a large cache_creation with cache_read stuck at 0 (`cache_creation_input_tokens=5610 cache_read_input_tokens=0`, and 5610 is the whole prefix, not the user turn's share). `_prime_prompt_cache` rotates the user turn on every attempt, so that second entry never prefix-matches the next attempt either. Every attempt re-creates the full prefix, cache_read never rises above 0, and the loop burns its 60s deadline: prompt cache never became readable in full within 60.0s That is the single most frequent flake in the e2e suite, 9 of 38 runs, and it hits all three provider classes identically because they share this helper. Move the marker out of the repeated paragraph so it appears once, and size the block at 1500 paragraphs. The prefix is now 8056-8060 tokens across markers -- spread 4 tokens instead of 1797, and 1.97x the minimum in the worst case. The same marker-per-repetition pattern in `_first_turn_user_text` is fixed the same way. Both copies of the helpers stay byte-identical. --- ...test_messages_mid_conversation_system_e2e.py | 17 ++++++++++------- ..._conversation_system_native_providers_e2e.py | 16 +++++++++++----- 2 files changed, 21 insertions(+), 12 deletions(-) diff --git a/tests/e2e/llm_translation/test_messages_mid_conversation_system_e2e.py b/tests/e2e/llm_translation/test_messages_mid_conversation_system_e2e.py index 04fa9fdc6d9..557a2cb64e9 100644 --- a/tests/e2e/llm_translation/test_messages_mid_conversation_system_e2e.py +++ b/tests/e2e/llm_translation/test_messages_mid_conversation_system_e2e.py @@ -50,11 +50,14 @@ CACHE_WARM_CONSECUTIVE_READS = 3 def _cacheable_system_block(marker: str) -> TextBlock: - """A system prompt comfortably above the 4096-token minimum cacheable size - of Haiku 4.5 (the smallest model here), unique per run so no other run's - cache entry can satisfy the read.""" - text = " ".join( - f"Reference paragraph {index} for run {marker}." for index in range(300) + """A system prompt at roughly twice the 4096-token minimum cacheable size of + Haiku 4.5 (the smallest model here), unique per run so no other run's cache + entry can satisfy the read. The marker appears once instead of in every + paragraph: repeating it swung the block's size by ~1800 tokens with the + marker's own tokenization and left it under the minimum on ~15% of runs, so + the system breakpoint went uncached and the priming loop never saw a read.""" + text = f"Run {marker}.\n" + " ".join( + f"Reference paragraph {index}." for index in range(1500) ) return TextBlock(text=text, cache_control=CacheControl()) @@ -101,8 +104,8 @@ def _first_turn_user_text(marker: str) -> str: """A first user turn heavy enough (hundreds of tokens) that losing its cache entry is unambiguous in the usage numbers, unique per attempt so priming retries never depend on the proxy's response cache behavior.""" - notes = " ".join(f"Session note {index} for attempt {marker}." for index in range(100)) - return f"Reply with one word.\n{notes}" + notes = " ".join(f"Session note {index}." for index in range(100)) + return f"Reply with one word. Attempt {marker}.\n{notes}" class PrimedCache(BaseModel): diff --git a/tests/e2e/llm_translation/test_messages_mid_conversation_system_native_providers_e2e.py b/tests/e2e/llm_translation/test_messages_mid_conversation_system_native_providers_e2e.py index 222acce67a0..8c448399be1 100644 --- a/tests/e2e/llm_translation/test_messages_mid_conversation_system_native_providers_e2e.py +++ b/tests/e2e/llm_translation/test_messages_mid_conversation_system_native_providers_e2e.py @@ -70,9 +70,15 @@ def _vertex_params(model: str, location: str) -> LiteLLMParamsBody: def _cacheable_system_block(marker: str) -> TextBlock: - """A system prompt comfortably above the 1024-token minimum cacheable size, - unique per run so no other run's cache entry can satisfy the read.""" - text = " ".join(f"Reference paragraph {index} for run {marker}." for index in range(300)) + """A system prompt at roughly twice the 4096-token minimum cacheable size of + Haiku 4.5 (the smallest model here), unique per run so no other run's cache + entry can satisfy the read. The marker appears once instead of in every + paragraph: repeating it swung the block's size by ~1800 tokens with the + marker's own tokenization and left it under the minimum on ~15% of runs, so + the system breakpoint went uncached and the priming loop never saw a read.""" + text = f"Run {marker}.\n" + " ".join( + f"Reference paragraph {index}." for index in range(1500) + ) return TextBlock(text=text, cache_control=CacheControl()) @@ -110,8 +116,8 @@ def _first_turn_user_text(marker: str) -> str: """A first user turn heavy enough (hundreds of tokens) that losing its cache entry is unambiguous in the usage numbers, unique per attempt so priming retries never depend on the proxy's response cache behavior.""" - notes = " ".join(f"Session note {index} for attempt {marker}." for index in range(100)) - return f"Reply with one word.\n{notes}" + notes = " ".join(f"Session note {index}." for index in range(100)) + return f"Reply with one word. Attempt {marker}.\n{notes}" class PrimedCache(BaseModel): From 0ec2d955062b867002bcf439b3df9dca7096f04d Mon Sep 17 00:00:00 2001 From: Yuneng Jiang Date: Wed, 26 Aug 2026 23:38:43 -0700 Subject: [PATCH 25/32] fix(e2e): disable thinking on the gemini chat cost test instead of racing its budget `test_gemini_chat_returns_content_and_logs_cost` asks gemini-2.5-flash to "reply with the single word pong" under `max_tokens=32`, and has been seen returning no content at all: completion_tokens=29, reasoning_tokens=29, content=None gemini-2.5-flash defaults to dynamic thinking, and `max_tokens` maps to `maxOutputTokens`, which on the 2.5 family counts thinking tokens as well as visible output. So the model is free to spend the entire budget on thoughts and emit nothing, which is exactly what the usage above shows. Raising the limit alone does not fix this. Dynamic thinking on 2.5 Flash is documented up to 24576 tokens, so no budget small enough to be reasonable for a one-word smoke test is safe. The fix is to take thinking out of the picture: `reasoning_effort="none"` maps to `thinkingConfig.thinkingBudget=0` for the 2.5 family, so the whole limit is available to visible output. Verified against this checkout: get_optional_params(model="gemini-2.5-flash", custom_llm_provider="gemini", max_tokens=32) -> {'max_output_tokens': 32} # no thinkingConfig at all get_optional_params(model="gemini-2.5-flash", custom_llm_provider="gemini", max_tokens=64, reasoning_effort="none") -> {'max_output_tokens': 64, 'thinkingConfig': {'thinkingBudget': 0, 'includeThoughts': False}} This mirrors what the OpenAI tool tests in this same file already do with gpt-5.6 for the same failure mode. `max_tokens` goes to 64 for headroom; with thinking disabled that is ample for a one-word answer. Neither `covers` claim changes: the call still exercises the gemini chat translation path and still produces a costed SpendLogs row. --- .../llm_translation/test_chat_completions_regression_e2e.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/e2e/llm_translation/test_chat_completions_regression_e2e.py b/tests/e2e/llm_translation/test_chat_completions_regression_e2e.py index 655d426c28d..156f3393530 100644 --- a/tests/e2e/llm_translation/test_chat_completions_regression_e2e.py +++ b/tests/e2e/llm_translation/test_chat_completions_regression_e2e.py @@ -308,7 +308,8 @@ class TestGeminiChatCompletions: content=f"Reply with the single word pong. marker={tag}", ) ], - max_tokens=32, + max_tokens=64, + reasoning_effort="none", ), ) ) From 8ebcb3e1816e212ce762d25cc018e239c4c43af1 Mon Sep 17 00:00:00 2001 From: yucheng-berri Date: Wed, 26 Aug 2026 23:42:02 -0700 Subject: [PATCH 26/32] feat(newrelic): per-team cost and usage metrics via team callbacks (#37610) * feat(newrelic): per-team cost and usage metrics via team callbacks Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> * fix(newrelic): retry transient 429/408 metric posts instead of dropping * fix(newrelic): drop only records queued when the drain began, not mid-drain arrivals --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> --- litellm/integrations/custom_batch_logger.py | 2 +- .../integrations/newrelic/newrelic_metrics.py | 395 +++++++++ .../newrelic/newrelic_team_handler.py | 90 ++ litellm/litellm_core_utils/litellm_logging.py | 74 +- .../specialty_caches/dynamic_logging_cache.py | 10 + litellm/types/integrations/newrelic.py | 114 +++ .../newrelic/test_newrelic_metrics.py | 825 ++++++++++++++++++ .../newrelic/test_newrelic_team_handler.py | 274 ++++++ 8 files changed, 1764 insertions(+), 20 deletions(-) create mode 100644 litellm/integrations/newrelic/newrelic_metrics.py create mode 100644 litellm/integrations/newrelic/newrelic_team_handler.py create mode 100644 tests/test_litellm/integrations/newrelic/test_newrelic_metrics.py create mode 100644 tests/test_litellm/integrations/newrelic/test_newrelic_team_handler.py diff --git a/litellm/integrations/custom_batch_logger.py b/litellm/integrations/custom_batch_logger.py index c9e24913900..bfc78b93715 100644 --- a/litellm/integrations/custom_batch_logger.py +++ b/litellm/integrations/custom_batch_logger.py @@ -45,7 +45,7 @@ class CustomBatchLogger(CustomLogger): super().__init__(**kwargs) - async def periodic_flush(self): + async def periodic_flush(self) -> None: while True: await asyncio.sleep(self.flush_interval) verbose_logger.debug("CustomLogger periodic flush after %s seconds", self.flush_interval) diff --git a/litellm/integrations/newrelic/newrelic_metrics.py b/litellm/integrations/newrelic/newrelic_metrics.py new file mode 100644 index 00000000000..25dbfc2bdb2 --- /dev/null +++ b/litellm/integrations/newrelic/newrelic_metrics.py @@ -0,0 +1,395 @@ +""" +New Relic Metric API Integration - sends per-team cost/usage metrics to /metric/v1 + +NR Reference API: https://docs.newrelic.com/docs/data-apis/ingest-apis/metric-api/introduction-metric-api/ + +`async_log_success_event` / `async_log_failure_event` queue one record per request; +at flush the queue is aggregated by (team, model group, model, provider, status) +into count/summary metrics. `interval.ms` is the real window between flushes, +computed at flush time. + +Team-scoped by construction: the ingest key is injected explicitly and there is +deliberately no environment-variable fallback, so a team's metrics are never sent +with the proxy operator's credentials (mirrors ``allow_env_credentials=False`` on +the Datadog team logger). + +Error policy on flush: 4xx drops the batch (a retry would fail identically; 403 +is a permanent credential failure), 5xx/network re-queues capped at +``max_queue_size`` records with the oldest dropped. + +For batching specific details see CustomBatchLogger class +""" + +import asyncio +import gzip +import time +import traceback +from collections.abc import Mapping +from math import ceil +from types import MappingProxyType +from typing import Final + +from httpx import HTTPStatusError, Response + +from litellm._logging import verbose_logger +from litellm.integrations.custom_batch_logger import CustomBatchLogger +from litellm.litellm_core_utils.safe_json_dumps import safe_dumps +from litellm.llms.custom_httpx.http_handler import ( + get_async_httpx_client, + httpxSpecialProvider, +) +from litellm.types.integrations.newrelic import ( + NEWRELIC_DEFAULT_REGION, + NEWRELIC_METRIC_ATTRIBUTE_MAX_LEN, + NEWRELIC_METRIC_COMPLETION_TOKENS, + NEWRELIC_METRIC_COST_USD, + NEWRELIC_METRIC_ENDPOINT_BY_REGION, + NEWRELIC_METRIC_PROMPT_TOKENS, + NEWRELIC_METRIC_REQUEST_DURATION_MS, + NEWRELIC_METRIC_REQUESTS, + NEWRELIC_METRIC_TOTAL_TOKENS, + NEWRELIC_METRICS_MAX_BATCH_SIZE, + NEWRELIC_METRICS_MAX_DRAIN_PASSES, + NEWRELIC_METRICS_MAX_RETRY_QUEUE_SIZE, + NewRelicCountMetric, + NewRelicMetric, + NewRelicMetricCommon, + NewRelicMetricEnvelope, + NewRelicMetricRecord, + NewRelicSummaryMetric, + NewRelicSummaryValue, +) +from litellm.types.utils import StandardLoggingPayload + +# 408 (request timeout) and 429 (rate limit) are transient client errors the +# Metric API expects a retry on, unlike 400/403 which a retry would only repeat. +_RETRYABLE_CLIENT_STATUSES: Final = frozenset({408, 429}) + + +def resolve_newrelic_metric_endpoint(newrelic_region: str | None) -> str: + if not newrelic_region: + return NEWRELIC_METRIC_ENDPOINT_BY_REGION[NEWRELIC_DEFAULT_REGION] + endpoint: Final = NEWRELIC_METRIC_ENDPOINT_BY_REGION.get(newrelic_region.lower()) + if endpoint is None: + verbose_logger.warning( + "New Relic: unknown newrelic_region %r; supported regions: %s. Using the default (US) endpoint.", + newrelic_region, + ", ".join(sorted(NEWRELIC_METRIC_ENDPOINT_BY_REGION)), + ) + return NEWRELIC_METRIC_ENDPOINT_BY_REGION[NEWRELIC_DEFAULT_REGION] + return endpoint + + +def _metric_record_from_payload(standard_logging_object: StandardLoggingPayload) -> NewRelicMetricRecord: + metadata: Final = standard_logging_object.get("metadata") + team_id: Final = ((metadata.get("user_api_key_team_id") or metadata.get("team_id")) if metadata else None) or "" + team_alias: Final = ( + (metadata.get("user_api_key_team_alias") or metadata.get("team_alias")) if metadata else None + ) or "" + return NewRelicMetricRecord( + team_id=team_id, + team_alias=team_alias, + model_group=standard_logging_object.get("model_group") or "", + model=standard_logging_object.get("model") or "", + custom_llm_provider=standard_logging_object.get("custom_llm_provider") or "", + status=str(standard_logging_object.get("status") or "success"), + response_cost=float(standard_logging_object.get("response_cost") or 0.0), + prompt_tokens=int(standard_logging_object.get("prompt_tokens") or 0), + completion_tokens=int(standard_logging_object.get("completion_tokens") or 0), + total_tokens=int(standard_logging_object.get("total_tokens") or 0), + duration_ms=float(standard_logging_object.get("response_time") or 0.0) * 1000.0, + ) + + +def _bucket_metrics(bucket_records: tuple[NewRelicMetricRecord, ...]) -> tuple[NewRelicMetric, ...]: + first: Final = bucket_records[0] + attributes: Final[Mapping[str, str]] = { # mutable-ok: JSON leaf; safe_dumps stringifies MappingProxyType + key: value[:NEWRELIC_METRIC_ATTRIBUTE_MAX_LEN] + for key, value in ( + ("team_id", first.team_id), + ("team_alias", first.team_alias), + ("model_group", first.model_group), + ("model", first.model), + ("custom_llm_provider", first.custom_llm_provider), + ("status", first.status), + ) + if value + } + durations: Final = tuple(record.duration_ms for record in bucket_records) + counts: Final[tuple[tuple[str, float], ...]] = ( + (NEWRELIC_METRIC_REQUESTS, float(len(bucket_records))), + (NEWRELIC_METRIC_COST_USD, sum(record.response_cost for record in bucket_records)), + (NEWRELIC_METRIC_PROMPT_TOKENS, float(sum(record.prompt_tokens for record in bucket_records))), + (NEWRELIC_METRIC_COMPLETION_TOKENS, float(sum(record.completion_tokens for record in bucket_records))), + (NEWRELIC_METRIC_TOTAL_TOKENS, float(sum(record.total_tokens for record in bucket_records))), + ) + count_metrics: Final[tuple[NewRelicMetric, ...]] = tuple( + NewRelicCountMetric(name=name, type="count", value=value, attributes=attributes) for name, value in counts + ) + summary_metric: Final = NewRelicSummaryMetric( + name=NEWRELIC_METRIC_REQUEST_DURATION_MS, + type="summary", + value=NewRelicSummaryValue( + count=len(durations), + sum=sum(durations), + min=min(durations), + max=max(durations), + ), + attributes=attributes, + ) + return (*count_metrics, summary_metric) + + +def build_metric_payload( + records: tuple[NewRelicMetricRecord, ...], + *, + window_start: float, + now: float, +) -> tuple[NewRelicMetricEnvelope, ...]: + """Aggregates records into one Metric API envelope for the flush window.""" + interval_ms: Final = max(1, int((now - window_start) * 1000)) + bucket_keys: Final = tuple(dict.fromkeys(record.bucket_key for record in records)) + metrics: Final = tuple( + metric + for key in bucket_keys + for metric in _bucket_metrics(tuple(record for record in records if record.bucket_key == key)) + ) + common: Final[NewRelicMetricCommon] = { + "timestamp": int(window_start * 1000), + "interval.ms": interval_ms, + } + return (NewRelicMetricEnvelope(common=common, metrics=metrics),) + + +class NewRelicMetricsLogger(CustomBatchLogger): + def __init__( + self, + newrelic_api_key: str, + newrelic_region: str | None = None, + ) -> None: + if not newrelic_api_key: + raise ValueError( + "newrelic_api_key is required for NewRelicMetricsLogger; " + "team-scoped metrics never fall back to environment credentials" + ) + self.newrelic_api_key: Final = newrelic_api_key + self.metric_api_url: Final = resolve_newrelic_metric_endpoint(newrelic_region) + self.async_client = get_async_httpx_client(llm_provider=httpxSpecialProvider.LoggingCallback) + self._stopped: bool = False + self._drain_lock = asyncio.Lock() + asyncio.create_task(self.periodic_flush()) + self.flush_lock = asyncio.Lock() + super().__init__( + flush_lock=self.flush_lock, + batch_size=NEWRELIC_METRICS_MAX_BATCH_SIZE, + max_queue_size=NEWRELIC_METRICS_MAX_RETRY_QUEUE_SIZE, + ) + + def stop(self) -> None: + """Ends the periodic flush loop; called on DynamicLoggingCache eviction. + + Schedules one final drain of anything still queued, so eviction never + silently discards records. Guarded so it can never raise into the + cache's eviction path. + """ + self._stopped = True + try: + asyncio.get_running_loop().create_task(self._final_drain()) + except Exception: # noqa: BLE001 # no running loop / shutdown; the periodic loop's final drain still runs + verbose_logger.debug("New Relic Metrics: could not schedule final drain on stop()", exc_info=True) + + async def _drain_with_retry(self) -> None: + """Deliver everything queued on a stopped logger, or drop it with a log. + + A stopped logger has no periodic loop left, so every post-stop path + funnels through here. ``_drain_lock`` serializes drains: a callback that + appends and starts its own drain queues behind the running one instead + of racing it. Each pass attempts the whole current queue in + ``batch_size`` chunks, unlike the periodic path it does not stop at the + first failing chunk, so a persistently failing head never starves the + tail. Only after ``_MAX_DRAIN_PASSES`` against a permanently failing + destination is the remainder dropped, and then only the records that were + queued when this drain began, so every dropped record got the full retry + budget: a record a callback appended mid-drain is not in that snapshot, + so it is left for its own serialized drain rather than dropped after + fewer attempts, and is never stranded. + """ + async with self._drain_lock: + attempted: Final = tuple(self.log_queue) + for _pass in range(NEWRELIC_METRICS_MAX_DRAIN_PASSES): + await self._drain_flush_once() + if not self.log_queue: + return + if _pass < NEWRELIC_METRICS_MAX_DRAIN_PASSES - 1: + await asyncio.sleep(2**_pass) + async with self.flush_lock: + tried_ids: Final = frozenset(id(record) for record in attempted) + survivors: Final = tuple(record for record in self.log_queue if id(record) not in tried_ids) + dropped: Final = len(self.log_queue) - len(survivors) + if dropped: + verbose_logger.warning( + "New Relic Metrics: dropping %s records after %s drain passes", + dropped, + NEWRELIC_METRICS_MAX_DRAIN_PASSES, + ) + self.log_queue[:] = list(survivors) # mutable-ok: leave late arrivals for the next serialized drain + + async def _drain_flush_once(self) -> None: + """Attempt every queued record once, in ``batch_size`` chunks, without + stopping at the first failing chunk so a persistently failing head does + not starve the tail (the periodic ``flush_queue`` deliberately stops + instead). Takes the queue under ``flush_lock`` and re-queues only the + chunks a 5xx/network error left undelivered, so records a concurrent + request appends during the sends survive for the next pass.""" + async with self.flush_lock: + pending: Final = tuple(self.log_queue) + window_start: Final = self.last_flush_time + self.last_flush_time = time.time() + del self.log_queue[:] + if not pending: + return + chunks: Final = tuple( + pending[start : start + self.batch_size] for start in range(0, len(pending), self.batch_size) + ) + delivered: Final = tuple([await self._classify_and_send(chunk, window_start) for chunk in chunks]) + failed: Final = tuple(record for chunk, ok in zip(chunks, delivered) for record in (() if ok else chunk)) + if failed: + self._requeue(failed) + + async def _final_drain(self) -> None: + await self._drain_with_retry() + + async def periodic_flush(self) -> None: + while not self._stopped: + await asyncio.sleep(self.flush_interval) + if self._stopped: + break + await self.flush_queue() + await self._final_drain() + + async def async_log_success_event(self, kwargs, response_obj, start_time, end_time) -> None: + try: + await self._log_async_event(standard_logging_object=kwargs.get("standard_logging_object", None)) + except Exception as e: # noqa: BLE001 # logging must never break the request path + verbose_logger.exception("New Relic Metrics Layer Error - %s\n%s", e, traceback.format_exc()) + + async def async_log_failure_event(self, kwargs, response_obj, start_time, end_time) -> None: + try: + await self._log_async_event(standard_logging_object=kwargs.get("standard_logging_object", None)) + except Exception as e: # noqa: BLE001 # logging must never break the request path + verbose_logger.exception("New Relic Metrics Layer Error - %s\n%s", e, traceback.format_exc()) + + async def _log_async_event(self, standard_logging_object: StandardLoggingPayload | None) -> None: + if standard_logging_object is None: + raise ValueError("standard_logging_object not found in kwargs") + self.log_queue.append(_metric_record_from_payload(standard_logging_object)) + if self._stopped: + # A stopped logger has no periodic loop left; an in-flight callback + # that appends after the eviction drain delivers its own record. + await self._drain_with_retry() + return + if len(self.log_queue) >= self.batch_size: + await self.flush_queue() + + async def flush_queue(self) -> None: + async with self.flush_lock: + window_start: Final = self.last_flush_time + self.last_flush_time = time.time() + queued: Final = len(self.log_queue) + if not queued: + return + verbose_logger.debug("New Relic Metrics: Flushing %s queued records", queued) + # Bounded by what is queued now: records appended mid-flush belong to + # the next window, and looping until empty would never end under load. + for _chunk in range(ceil(queued / self.batch_size)): + if not await self.async_send_batch(window_start=window_start): + return + + async def async_send_batch(self, window_start: float | None = None) -> bool: + """Sends the oldest ``batch_size`` records only, so a queue grown past that + by re-queues cannot breach the Metric API data point cap in one request. + Returns False once a chunk fails and is re-queued, so the caller stops.""" + if not self.log_queue: + return False + + batch_to_send: Final[tuple[NewRelicMetricRecord, ...]] = tuple(self.log_queue[: self.batch_size]) + del self.log_queue[: len(batch_to_send)] + + delivered: Final = await self._classify_and_send( + batch_to_send, window_start if window_start is not None else self.last_flush_time + ) + if not delivered: + self._requeue(batch_to_send) + return delivered + + async def _classify_and_send(self, batch: tuple[NewRelicMetricRecord, ...], window_start: float) -> bool: + """Send one chunk and classify the outcome, never touching the queue. + Returns True when the batch is done with (delivered on any 2xx, or a 4xx + a retry would only repeat, 403 being a permanent bad-key rejection), and + False when a 5xx or network error means the caller should re-queue it. + + ``AsyncHTTPHandler.post`` raises ``HTTPStatusError`` on any non-2xx, so a + 4xx never returns a response here; the status is read off the raised + error to keep the client-error path (drop) distinct from 5xx (retry).""" + payload: Final = build_metric_payload(records=batch, window_start=window_start, now=time.time()) + try: + status = ( + await self.async_send_compressed_data(payload) + ).status_code # rebind-ok: reassigned from the raised HTTPStatusError below + except HTTPStatusError as e: + status = e.response.status_code + except Exception as e: # noqa: BLE001 # transport/network failure re-queues the batch + verbose_logger.warning( + "New Relic Metrics: network error sending %s records, will retry - %s", + len(batch), + e, + ) + return False + + if 200 <= status < 300: + return True + + if 400 <= status < 500 and status not in _RETRYABLE_CLIENT_STATUSES: + verbose_logger.warning( + "New Relic Metrics: %s from Metric API%s, dropping %s records.", + status, + " (permanent credential failure: invalid or revoked team ingest key)" if status == 403 else "", + len(batch), + ) + return True + + verbose_logger.warning( + "New Relic Metrics: %s from Metric API, will retry %s records", + status, + len(batch), + ) + return False + + def _requeue(self, batch: tuple[NewRelicMetricRecord, ...]) -> None: + """Prepends ``batch`` in place (never by assignment: records appended by + concurrent requests during the flush await must survive), keeping + chronological order so the cap drops the oldest records first.""" + self.log_queue[:0] = batch + overflow: Final = len(self.log_queue) - self.max_queue_size + if overflow > 0: + del self.log_queue[:overflow] + verbose_logger.warning( + "New Relic Metrics: retry queue exceeded max_queue_size=%s; dropped %s oldest records.", + self.max_queue_size, + overflow, + ) + + async def async_send_compressed_data(self, payload: tuple[NewRelicMetricEnvelope, ...]) -> Response: + compressed_data: Final = gzip.compress(safe_dumps(payload).encode("utf-8")) + headers: Final[Mapping[str, str]] = MappingProxyType( + { + "Content-Type": "application/json", + "Content-Encoding": "gzip", + "Api-Key": self.newrelic_api_key, + } + ) + return await self.async_client.post( + url=self.metric_api_url, + data=compressed_data, + headers=headers, + ) diff --git a/litellm/integrations/newrelic/newrelic_team_handler.py b/litellm/integrations/newrelic/newrelic_team_handler.py new file mode 100644 index 00000000000..ae52a6d4efb --- /dev/null +++ b/litellm/integrations/newrelic/newrelic_team_handler.py @@ -0,0 +1,90 @@ +""" +New Relic Team Handler + +Used to get the NewRelicMetricsLogger for a given request. +Handles Key/Team Based New Relic metrics, following the same pattern as DataDogHandler. +""" + +from typing import TYPE_CHECKING, Final + +from typing_extensions import ReadOnly, TypedDict + +from litellm._logging import verbose_logger +from litellm.litellm_core_utils.litellm_logging import StandardCallbackDynamicParams + +from .newrelic_metrics import NewRelicMetricsLogger + +if TYPE_CHECKING: + from litellm.litellm_core_utils.litellm_logging import DynamicLoggingCache + + +class NewRelicLoggingConfig(TypedDict): + newrelic_api_key: ReadOnly[str | None] + newrelic_region: ReadOnly[str | None] + + +class NewRelicHandler: + @staticmethod + def get_newrelic_logger_for_request( + standard_callback_dynamic_params: StandardCallbackDynamicParams, + in_memory_dynamic_logger_cache: "DynamicLoggingCache", + ) -> NewRelicMetricsLogger: + """ + Get a team-scoped NewRelicMetricsLogger for a given request. + + Resolves and caches per-team NewRelicMetricsLogger instances using + DynamicLoggingCache, keyed by the team's New Relic credentials. Each unique + set of credentials gets its own logger instance with its own batch/flush loop. + + Note: This handler is only called when a team-scoped newrelic_api_key is + present. The trace logger for the ``newrelic`` callback (OTel v2 / legacy + agent) is managed separately by _init_custom_logger_compatible_class via + _in_memory_loggers. + """ + _credentials: Final = NewRelicHandler.get_dynamic_newrelic_logging_config( + standard_callback_dynamic_params=standard_callback_dynamic_params, + ) + + temp_newrelic_logger = in_memory_dynamic_logger_cache.get_cache( + credentials=_credentials, service_name="newrelic" + ) + + if temp_newrelic_logger is None: + temp_newrelic_logger = NewRelicHandler._create_newrelic_logger_from_credentials( + credentials=_credentials, + in_memory_dynamic_logger_cache=in_memory_dynamic_logger_cache, + ) + + return temp_newrelic_logger + + @staticmethod + def _create_newrelic_logger_from_credentials( + credentials: NewRelicLoggingConfig, + in_memory_dynamic_logger_cache: "DynamicLoggingCache", + ) -> NewRelicMetricsLogger: + newrelic_logger: Final = NewRelicMetricsLogger( + newrelic_api_key=credentials.get("newrelic_api_key") or "", + newrelic_region=credentials.get("newrelic_region"), + ) + in_memory_dynamic_logger_cache.set_cache( + credentials=credentials, + service_name="newrelic", + logging_obj=newrelic_logger, + ) + verbose_logger.debug("New Relic: Created and cached new NewRelicMetricsLogger for team-scoped credentials") + return newrelic_logger + + @staticmethod + def get_dynamic_newrelic_logging_config( + standard_callback_dynamic_params: StandardCallbackDynamicParams, + ) -> NewRelicLoggingConfig: + return NewRelicLoggingConfig( + newrelic_api_key=standard_callback_dynamic_params.get("newrelic_api_key"), + newrelic_region=standard_callback_dynamic_params.get("newrelic_region"), + ) + + @staticmethod + def _dynamic_newrelic_credentials_are_passed( + standard_callback_dynamic_params: StandardCallbackDynamicParams, + ) -> bool: + return standard_callback_dynamic_params.get("newrelic_api_key") is not None diff --git a/litellm/litellm_core_utils/litellm_logging.py b/litellm/litellm_core_utils/litellm_logging.py index c0750bb94e7..3018f0c4d24 100644 --- a/litellm/litellm_core_utils/litellm_logging.py +++ b/litellm/litellm_core_utils/litellm_logging.py @@ -613,37 +613,60 @@ class Logging(LiteLLMLoggingBaseClass): processed_list: Final[list[str | Callable | CustomLogger]] = [] for callback in callback_list: if isinstance(callback, str) and callback in litellm._known_custom_logger_compatible_callbacks: - # For callbacks that support team-scoped credentials (e.g. datadog), - # pass only the relevant dynamic params as custom_logger_init_args. - _custom_logger_init_args: dict | None = None - if callback == "datadog": - # dd_* params are blocked from standard_callback_dynamic_params - # (request-level security); only the proxy-stamped team/key - # callback vars are admin-configured and trusted. - _custom_logger_init_args = {k: v for k, v in self._trusted_callback_vars if k.startswith("dd_")} - - callback_class = _init_custom_logger_compatible_class( - callback, - internal_usage_cache=None, - llm_router=None, - custom_logger_init_args=_custom_logger_init_args, - ) - if callback_class is not None: - processed_list.append(callback_class) + for callback_instance in self._resolve_dynamic_callback_string(callback): + processed_list.append(callback_instance) # If processing dynamic_success_callbacks, add to dynamic_async_success_callbacks if dynamic_callbacks_type == "success": if self.dynamic_async_success_callbacks is None: self.dynamic_async_success_callbacks = [] - self.dynamic_async_success_callbacks.append(callback_class) + self.dynamic_async_success_callbacks.append(callback_instance) elif dynamic_callbacks_type == "failure": if self.dynamic_async_failure_callbacks is None: self.dynamic_async_failure_callbacks = [] - self.dynamic_async_failure_callbacks.append(callback_class) + self.dynamic_async_failure_callbacks.append(callback_instance) else: processed_list.append(callback) return processed_list + def _resolve_dynamic_callback_string(self, callback: str) -> "tuple[CustomLogger, ...]": + """ + Resolve a known callback name to the logger instance(s) it dispatches to. + + For callbacks that support team-scoped credentials (datadog, newrelic), + only the proxy-stamped team/key callback vars are passed as + custom_logger_init_args: dd_*/newrelic_* params are blocked from + standard_callback_dynamic_params (request-level security), so the + trusted-vars channel is the only way credentials reach a per-team logger. + """ + _trusted_var_prefix: Final = "dd_" if callback == "datadog" else "newrelic_" if callback == "newrelic" else None + _custom_logger_init_args: Final[dict | None] = ( + {k: v for k, v in self._trusted_callback_vars if k.startswith(_trusted_var_prefix)} + if _trusted_var_prefix is not None + else None + ) + + callback_class: Final = _init_custom_logger_compatible_class( + callback, + internal_usage_cache=None, + llm_router=None, + custom_logger_init_args=_custom_logger_init_args, + ) + if callback_class is None: + return () + + # With team creds, "newrelic" resolves to the per-team METRICS logger; + # resolve the name again without creds so the trace logger (OTel v2 / + # legacy agent) keeps receiving this request. + _newrelic_trace_class: Final = ( + _init_custom_logger_compatible_class(callback, internal_usage_cache=None, llm_router=None) + if callback == "newrelic" and _custom_logger_init_args and _custom_logger_init_args.get("newrelic_api_key") + else None + ) + if _newrelic_trace_class is not None and _newrelic_trace_class is not callback_class: + return (callback_class, _newrelic_trace_class) + return (callback_class,) + def initialize_standard_callback_dynamic_params(self, kwargs: dict | None = None) -> StandardCallbackDynamicParams: """ Initialize the standard callback dynamic params from the kwargs @@ -4642,6 +4665,19 @@ def _init_custom_logger_compatible_class( _in_memory_loggers.append(gitlab_logger) return gitlab_logger elif logging_integration == "newrelic": + if custom_logger_init_args.get("newrelic_api_key"): + # Team-scoped credentials: per-team METRICS logger, isolated per + # credential set via DynamicLoggingCache. The trace logger for + # this name stays on the global path below. + from litellm.integrations.newrelic.newrelic_team_handler import ( + NewRelicHandler, + ) + + return NewRelicHandler.get_newrelic_logger_for_request( + standard_callback_dynamic_params=custom_logger_init_args, + in_memory_dynamic_logger_cache=in_memory_dynamic_logger_cache, + ) + _v2 = _maybe_construct_otel_v2("newrelic", _in_memory_loggers) if _v2 is not None: return _v2 diff --git a/litellm/litellm_core_utils/specialty_caches/dynamic_logging_cache.py b/litellm/litellm_core_utils/specialty_caches/dynamic_logging_cache.py index f63c60dd430..da3ac366bfd 100644 --- a/litellm/litellm_core_utils/specialty_caches/dynamic_logging_cache.py +++ b/litellm/litellm_core_utils/specialty_caches/dynamic_logging_cache.py @@ -13,6 +13,7 @@ import json from typing import Any, Final import litellm +from litellm._logging import verbose_logger from litellm.constants import _DEFAULT_TTL_FOR_HTTPX_CLIENTS from ...caching import InMemoryCache @@ -46,6 +47,15 @@ class LangfuseInMemoryCache(InMemoryCache): _created_langfuse_logger.Langfuse.flush() _created_langfuse_logger.Langfuse.shutdown() + # Loggers with a periodic flush task (e.g. NewRelicMetricsLogger) expose + # stop() so eviction actually ends the task instead of leaking it. + _evicted_stop: Final = getattr(self.cache_dict[key], "stop", None) + if callable(_evicted_stop): + try: + _evicted_stop() + except Exception: # noqa: BLE001 # a failing stop() must not block eviction + verbose_logger.debug("DynamicLoggingCache: stop() raised during eviction", exc_info=True) + ######################################################### # Call parent class to remove key from cache ######################################################### diff --git a/litellm/types/integrations/newrelic.py b/litellm/types/integrations/newrelic.py index 96d9a201ad7..36e4d02c2a8 100644 --- a/litellm/types/integrations/newrelic.py +++ b/litellm/types/integrations/newrelic.py @@ -1,3 +1,10 @@ +from collections.abc import Mapping, Sequence +from dataclasses import dataclass +from types import MappingProxyType +from typing import Final, Literal + +from typing_extensions import ReadOnly, TypedDict + from litellm.types.integrations.custom_logger import StandardCustomLoggerInitParams @@ -5,3 +12,110 @@ class NewRelicInitParams(StandardCustomLoggerInitParams): """ Params for initializing a New Relic logger on litellm """ + + +#: Region -> Metric API endpoint. A fixed table by design: team config picks a +#: region enum rather than a free-form endpoint, so callback vars can never +#: redirect metrics to an arbitrary host. +NEWRELIC_METRIC_ENDPOINT_BY_REGION: Final[Mapping[str, str]] = MappingProxyType( + { + "us": "https://metric-api.newrelic.com/metric/v1", + "eu": "https://metric-api.eu.newrelic.com/metric/v1", + } +) + +NEWRELIC_DEFAULT_REGION: Final = "us" + +#: Metric API caps a payload at 2000 data points / 1MB compressed; each queued +#: record expands to at most 6 metrics, so cap the per-flush record count well +#: below that. +NEWRELIC_METRICS_MAX_BATCH_SIZE: Final = 250 + +#: Hard cap on records retained across failed flushes (5xx/network requeue). +#: Beyond this the oldest records are dropped. +NEWRELIC_METRICS_MAX_RETRY_QUEUE_SIZE: Final = 10_000 +# Outer passes over a stopped logger's queue: each pass retries the whole +# queue, so records that arrive mid-drain still get attempts before the bounded +# terminal drop. Serialized by a per-logger drain lock, so this bounds work. +NEWRELIC_METRICS_MAX_DRAIN_PASSES: Final = 3 +# Metric API caps attribute values; 255 keeps caller-controlled model strings +# from inflating the shared batch payload into a 413 +NEWRELIC_METRIC_ATTRIBUTE_MAX_LEN: Final = 255 + +NEWRELIC_METRIC_REQUESTS: Final = "litellm.requests" +NEWRELIC_METRIC_COST_USD: Final = "litellm.cost.usd" +NEWRELIC_METRIC_PROMPT_TOKENS: Final = "litellm.tokens.prompt" +NEWRELIC_METRIC_COMPLETION_TOKENS: Final = "litellm.tokens.completion" +NEWRELIC_METRIC_TOTAL_TOKENS: Final = "litellm.tokens.total" +NEWRELIC_METRIC_REQUEST_DURATION_MS: Final = "litellm.request.duration_ms" + + +class NewRelicSummaryValue(TypedDict): + """Value shape of a Metric API ``summary`` data point.""" + + count: ReadOnly[int] + sum: ReadOnly[float] + min: ReadOnly[float] + max: ReadOnly[float] + + +class NewRelicCountMetric(TypedDict): + name: ReadOnly[str] + type: ReadOnly[Literal["count"]] + value: ReadOnly[float] + attributes: ReadOnly[Mapping[str, str]] + + +class NewRelicSummaryMetric(TypedDict): + name: ReadOnly[str] + type: ReadOnly[Literal["summary"]] + value: ReadOnly[NewRelicSummaryValue] + attributes: ReadOnly[Mapping[str, str]] + + +NewRelicMetric = NewRelicCountMetric | NewRelicSummaryMetric + + +#: ``interval.ms`` has a dot in it, so the functional TypedDict form is required. +NewRelicMetricCommon = TypedDict( + "NewRelicMetricCommon", + { # mutable-ok: functional TypedDict requires a dict-literal fields argument ("interval.ms" key) + "timestamp": ReadOnly[int], + "interval.ms": ReadOnly[int], + }, +) + + +class NewRelicMetricEnvelope(TypedDict): + """One element of the Metric API request body (``[{common, metrics}]``).""" + + common: ReadOnly[NewRelicMetricCommon] + metrics: ReadOnly[Sequence[NewRelicMetric]] + + +@dataclass(frozen=True, slots=True) +class NewRelicMetricRecord: + """One request's contribution to the per-flush aggregation.""" + + team_id: str + team_alias: str + model_group: str + model: str + custom_llm_provider: str + status: str + response_cost: float + prompt_tokens: int + completion_tokens: int + total_tokens: int + duration_ms: float + + @property + def bucket_key(self) -> tuple[str, str, str, str, str, str]: + return ( + self.team_id, + self.team_alias, + self.model_group, + self.model, + self.custom_llm_provider, + self.status, + ) diff --git a/tests/test_litellm/integrations/newrelic/test_newrelic_metrics.py b/tests/test_litellm/integrations/newrelic/test_newrelic_metrics.py new file mode 100644 index 00000000000..9c75e0b0a47 --- /dev/null +++ b/tests/test_litellm/integrations/newrelic/test_newrelic_metrics.py @@ -0,0 +1,825 @@ +""" +Batching tests for NewRelicMetricsLogger: flush-window interval computation, +dimension-bucket aggregation, the 4xx-drop vs 5xx/network-requeue policy, the +retry-queue cap, and the stop flag that ends the periodic flush loop. +""" + +import asyncio +import gzip +import json +from unittest.mock import AsyncMock, patch + +import pytest +from httpx import HTTPStatusError, Request, Response + +from litellm.integrations.newrelic.newrelic_metrics import ( + NewRelicMetricsLogger, + _bucket_metrics, + build_metric_payload, +) +from litellm.types.integrations.newrelic import ( + NEWRELIC_METRIC_COMPLETION_TOKENS, + NEWRELIC_METRIC_COST_USD, + NEWRELIC_METRIC_ENDPOINT_BY_REGION, + NEWRELIC_METRIC_PROMPT_TOKENS, + NEWRELIC_METRIC_REQUEST_DURATION_MS, + NEWRELIC_METRIC_REQUESTS, + NEWRELIC_METRIC_TOTAL_TOKENS, + NewRelicMetricRecord, +) + + +def _record( + team_id="team-a", + team_alias=None, + model="gpt-4o", + model_group=None, + status="success", + response_cost=0.5, + prompt_tokens=10, + completion_tokens=20, + total_tokens=30, + duration_ms=100.0, +) -> NewRelicMetricRecord: + return NewRelicMetricRecord( + team_id=team_id, + team_alias=team_alias if team_alias is not None else f"{team_id}-alias", + model_group=model_group if model_group is not None else f"{model}-group", + model=model, + custom_llm_provider="openai", + status=status, + response_cost=response_cost, + prompt_tokens=prompt_tokens, + completion_tokens=completion_tokens, + total_tokens=total_tokens, + duration_ms=duration_ms, + ) + + +def _standard_logging_object(team_id="team-a", response_cost=0.25) -> dict: + return { + "metadata": {"user_api_key_team_id": team_id, "user_api_key_team_alias": f"{team_id}-alias"}, + "model_group": "gpt-4o-group", + "model": "gpt-4o", + "custom_llm_provider": "openai", + "status": "success", + "response_cost": response_cost, + "prompt_tokens": 10, + "completion_tokens": 20, + "total_tokens": 30, + "response_time": 0.1, + } + + +def _make_logger(**kwargs) -> NewRelicMetricsLogger: + with patch("asyncio.create_task"): + return NewRelicMetricsLogger(newrelic_api_key="test-key", **kwargs) + + +def _response(status_code: int, text: str = "") -> Response: + return Response(status_code, request=Request("POST", "https://example.com"), text=text) + + +def _raises(status_code: int): + """Mock the way AsyncHTTPHandler.post really behaves: raise_for_status() turns + every non-2xx into an HTTPStatusError rather than returning the response.""" + resp = _response(status_code) + return AsyncMock(side_effect=HTTPStatusError("err", request=resp.request, response=resp)) + + +def _metrics_by_name(payload, name): + return [m for m in payload[0]["metrics"] if m["name"] == name] + + +class TestBuildMetricPayload: + def test_interval_and_timestamp_reflect_flush_window(self): + payload = build_metric_payload((_record(),), window_start=1_000.0, now=1_007.5) + + assert payload[0]["common"]["timestamp"] == 1_000_000 + assert payload[0]["common"]["interval.ms"] == 7_500 + + def test_interval_is_at_least_one_ms(self): + payload = build_metric_payload((_record(),), window_start=1_000.0, now=1_000.0) + + assert payload[0]["common"]["interval.ms"] == 1 + + def test_single_record_metric_values(self): + payload = build_metric_payload( + (_record(response_cost=0.5, prompt_tokens=10, completion_tokens=20, total_tokens=30, duration_ms=100.0),), + window_start=1_000.0, + now=1_005.0, + ) + + by_name = {m["name"]: m for m in payload[0]["metrics"]} + assert by_name[NEWRELIC_METRIC_REQUESTS]["value"] == 1.0 + assert by_name[NEWRELIC_METRIC_REQUESTS]["type"] == "count" + assert by_name[NEWRELIC_METRIC_COST_USD]["value"] == 0.5 + assert by_name[NEWRELIC_METRIC_PROMPT_TOKENS]["value"] == 10.0 + assert by_name[NEWRELIC_METRIC_COMPLETION_TOKENS]["value"] == 20.0 + assert by_name[NEWRELIC_METRIC_TOTAL_TOKENS]["value"] == 30.0 + duration = by_name[NEWRELIC_METRIC_REQUEST_DURATION_MS] + assert duration["type"] == "summary" + assert duration["value"] == {"count": 1, "sum": 100.0, "min": 100.0, "max": 100.0} + assert by_name[NEWRELIC_METRIC_REQUESTS]["attributes"] == { + "team_id": "team-a", + "team_alias": "team-a-alias", + "model_group": "gpt-4o-group", + "model": "gpt-4o", + "custom_llm_provider": "openai", + "status": "success", + } + + def test_aggregates_across_dimension_buckets(self): + """Two teams x two models in one queue land in the right bucket sums. + + team_alias and model_group are held constant so bucketing provably keys on + team_id and model themselves, not on correlated fields. + """ + shared = {"team_alias": "shared-alias", "model_group": "shared-group"} + records = ( + _record(team_id="team-a", model="gpt-4o", response_cost=0.1, total_tokens=10, duration_ms=50.0, **shared), + _record(team_id="team-a", model="gpt-4o", response_cost=0.2, total_tokens=20, duration_ms=150.0, **shared), + _record( + team_id="team-a", model="claude-4", response_cost=0.4, total_tokens=40, duration_ms=200.0, **shared + ), + _record(team_id="team-b", model="gpt-4o", response_cost=0.8, total_tokens=80, duration_ms=300.0, **shared), + ) + payload = build_metric_payload(records, window_start=1_000.0, now=1_005.0) + + cost_by_bucket = { + (m["attributes"]["team_id"], m["attributes"]["model"]): m["value"] + for m in _metrics_by_name(payload, NEWRELIC_METRIC_COST_USD) + } + assert cost_by_bucket == { + ("team-a", "gpt-4o"): pytest.approx(0.3), + ("team-a", "claude-4"): pytest.approx(0.4), + ("team-b", "gpt-4o"): pytest.approx(0.8), + } + + requests_by_bucket = { + (m["attributes"]["team_id"], m["attributes"]["model"]): m["value"] + for m in _metrics_by_name(payload, NEWRELIC_METRIC_REQUESTS) + } + assert requests_by_bucket == { + ("team-a", "gpt-4o"): 2.0, + ("team-a", "claude-4"): 1.0, + ("team-b", "gpt-4o"): 1.0, + } + + duration_by_bucket = { + (m["attributes"]["team_id"], m["attributes"]["model"]): m["value"] + for m in _metrics_by_name(payload, NEWRELIC_METRIC_REQUEST_DURATION_MS) + } + assert duration_by_bucket[("team-a", "gpt-4o")] == {"count": 2, "sum": 200.0, "min": 50.0, "max": 150.0} + + def test_status_is_a_bucket_dimension(self): + records = ( + _record(status="success", response_cost=0.1), + _record(status="failure", response_cost=0.0), + ) + payload = build_metric_payload(records, window_start=1_000.0, now=1_005.0) + + statuses = {m["attributes"]["status"] for m in _metrics_by_name(payload, NEWRELIC_METRIC_REQUESTS)} + assert statuses == {"success", "failure"} + + def test_empty_attribute_values_are_omitted(self): + record = NewRelicMetricRecord( + team_id="", + team_alias="", + model_group="", + model="gpt-4o", + custom_llm_provider="openai", + status="success", + response_cost=0.0, + prompt_tokens=0, + completion_tokens=0, + total_tokens=0, + duration_ms=0.0, + ) + payload = build_metric_payload((record,), window_start=1_000.0, now=1_005.0) + + attributes = payload[0]["metrics"][0]["attributes"] + assert "team_id" not in attributes + assert "team_alias" not in attributes + assert "model_group" not in attributes + + +class TestQueueAndFlush: + @pytest.mark.asyncio + async def test_log_event_queues_record_from_standard_logging_object(self): + logger = _make_logger() + + await logger.async_log_success_event( + kwargs={"standard_logging_object": _standard_logging_object()}, + response_obj={}, + start_time=None, + end_time=None, + ) + + assert len(logger.log_queue) == 1 + record = logger.log_queue[0] + assert record.team_id == "team-a" + assert record.response_cost == 0.25 + assert record.duration_ms == pytest.approx(100.0) + + @pytest.mark.asyncio + async def test_failure_event_queues_record(self): + logger = _make_logger() + + slo = _standard_logging_object() + slo["status"] = "failure" + await logger.async_log_failure_event( + kwargs={"standard_logging_object": slo}, + response_obj={}, + start_time=None, + end_time=None, + ) + + assert len(logger.log_queue) == 1 + assert logger.log_queue[0].status == "failure" + + @pytest.mark.asyncio + async def test_threshold_flush_uses_flush_queue(self): + logger = _make_logger() + logger.batch_size = 1 + logger.flush_queue = AsyncMock() + + await logger.async_log_success_event( + kwargs={"standard_logging_object": _standard_logging_object()}, + response_obj={}, + start_time=None, + end_time=None, + ) + + logger.flush_queue.assert_awaited_once() + + @pytest.mark.asyncio + async def test_flush_queue_updates_last_flush_time_on_success(self): + logger = _make_logger() + logger.log_queue = [_record()] + logger.last_flush_time = 0 + logger.async_client.post = AsyncMock(return_value=_response(202)) + + await logger.flush_queue() + + assert logger.log_queue == [] + assert logger.last_flush_time > 0 + + @pytest.mark.asyncio + async def test_flush_advances_window_even_on_requeue(self): + # The window start advances every flush cycle so requeued records report + # in the next window instead of freezing interval.ms under sustained + # failure, and an idle gap never inflates the next batch's window + logger = _make_logger() + logger.log_queue = [_record()] + logger.last_flush_time = 123.0 + logger.async_client.post = _raises(500) + + await logger.flush_queue() + + assert logger.last_flush_time > 123.0 + assert len(logger.log_queue) == 1 + + @pytest.mark.asyncio + async def test_sent_payload_window_starts_at_last_flush_time(self): + logger = _make_logger() + logger.log_queue = [_record()] + logger.last_flush_time = 2_000.0 + logger.async_client.post = AsyncMock(return_value=_response(202)) + + with patch("litellm.integrations.newrelic.newrelic_metrics.time.time", return_value=2_010.0): + await logger.async_send_batch() + + sent = logger.async_client.post.await_args.kwargs + body = json.loads(gzip.decompress(sent["data"]).decode("utf-8")) + assert body[0]["common"]["timestamp"] == 2_000_000 + assert body[0]["common"]["interval.ms"] == 10_000 + assert sent["headers"]["Api-Key"] == "test-key" + assert sent["headers"]["Content-Encoding"] == "gzip" + assert sent["url"] == NEWRELIC_METRIC_ENDPOINT_BY_REGION["us"] + + +class TestBatchSizeCap: + @pytest.mark.asyncio + async def test_flush_sends_at_most_batch_size_records_per_request(self): + """A queue grown past the batch size by requeues must go out in chunks: + one oversized request would breach the Metric API data point cap and get + the whole retry backlog dropped as a 4xx.""" + logger = _make_logger() + logger.batch_size = 2 + logger.log_queue = [_record(model=f"model-{i}") for i in range(5)] + logger.async_client.post = AsyncMock(return_value=_response(202)) + + await logger.flush_queue() + + sent_counts = [ + sum( + metric["value"] + for metric in json.loads(gzip.decompress(call.kwargs["data"]).decode("utf-8"))[0]["metrics"] + if metric["name"] == NEWRELIC_METRIC_REQUESTS + ) + for call in logger.async_client.post.await_args_list + ] + assert sent_counts == [2.0, 2.0, 1.0] + assert logger.log_queue == [] + + @pytest.mark.asyncio + async def test_failed_chunk_stops_the_flush_and_keeps_order(self): + """A 5xx on the first chunk ends the flush instead of hammering the same + failing endpoint with the rest of the backlog, and the requeue keeps the + records in chronological order.""" + logger = _make_logger() + logger.batch_size = 2 + records = [_record(model=f"model-{i}") for i in range(5)] + logger.log_queue = list(records) + logger.async_client.post = _raises(500) + + await logger.flush_queue() + + assert logger.async_client.post.await_count == 1 + assert logger.log_queue == records + + +class TestFlushConcurrency: + @pytest.mark.asyncio + async def test_records_appended_during_flush_await_survive(self): + """A record appended by a concurrent request while the POST is in flight + must survive the flush, not be clobbered by a queue replacement.""" + logger = _make_logger() + logger.log_queue = [_record(team_id="team-a")] + interleaved = _record(team_id="team-interleaved") + + async def _post_appending_mid_flight(**kwargs): + logger.log_queue.append(interleaved) + return _response(202) + + logger.async_client.post = AsyncMock(side_effect=_post_appending_mid_flight) + + await logger.async_send_batch() + + assert logger.log_queue == [interleaved] + body = json.loads(gzip.decompress(logger.async_client.post.await_args.kwargs["data"]).decode("utf-8")) + team_ids = {m["attributes"]["team_id"] for m in body[0]["metrics"]} + assert team_ids == {"team-a"} + + @pytest.mark.asyncio + async def test_records_appended_during_failed_flush_await_survive_requeue(self): + """The requeue path must also preserve interleaved records: batch is + prepended in place, never assigned over the live queue.""" + logger = _make_logger() + original = _record(team_id="team-a") + logger.log_queue = [original] + interleaved = _record(team_id="team-interleaved") + + async def _post_appending_mid_flight(**kwargs): + logger.log_queue.append(interleaved) + raise HTTPStatusError('e', request=_response(500).request, response=_response(500)) + + logger.async_client.post = AsyncMock(side_effect=_post_appending_mid_flight) + + await logger.async_send_batch() + + assert logger.log_queue == [original, interleaved] + + +class TestErrorPolicy: + @pytest.mark.asyncio + async def test_4xx_drops_batch(self): + logger = _make_logger() + logger.log_queue = [_record(), _record(team_id="team-b")] + logger.async_client.post = AsyncMock(return_value=_response(400, text="bad request")) + + await logger.async_send_batch() + + assert logger.log_queue == [] + assert logger.async_client.post.await_count == 1 + + @pytest.mark.asyncio + async def test_403_drops_batch_and_names_permanent_credential_failure(self): + logger = _make_logger() + logger.log_queue = [_record()] + logger.async_client.post = _raises(403) + + with patch("litellm.integrations.newrelic.newrelic_metrics.verbose_logger") as mock_logger: + await logger.async_send_batch() + + assert logger.log_queue == [] + warning_text = " ".join(str(arg) for call in mock_logger.warning.call_args_list for arg in call.args) + assert "permanent credential failure" in warning_text + + @pytest.mark.asyncio + async def test_5xx_requeues_batch(self): + records = [_record(), _record(team_id="team-b")] + logger = _make_logger() + logger.log_queue = list(records) + logger.async_client.post = _raises(500) + + await logger.async_send_batch() + + assert logger.log_queue == records + + @pytest.mark.asyncio + async def test_network_error_requeues_batch(self): + records = [_record()] + logger = _make_logger() + logger.log_queue = list(records) + logger.async_client.post = AsyncMock(side_effect=ConnectionError("boom")) + + await logger.async_send_batch() + + assert logger.log_queue == records + + @pytest.mark.asyncio + async def test_requeue_is_capped_dropping_oldest(self): + logger = _make_logger() + logger.max_queue_size = 3 + oldest = _record(team_id="oldest") + rest = [_record(team_id=f"team-{i}") for i in range(3)] + logger.log_queue = [oldest, *rest] + logger.async_client.post = _raises(500) + + await logger.async_send_batch() + + assert logger.log_queue == rest + + @pytest.mark.asyncio + async def test_requeued_records_are_resent_with_new_records(self): + logger = _make_logger() + logger.log_queue = [_record()] + logger.async_client.post = _raises(500) + + await logger.async_send_batch() + logger.log_queue.append(_record(team_id="team-b")) + logger.async_client.post = AsyncMock(return_value=_response(202)) + + await logger.async_send_batch() + + sent = logger.async_client.post.await_args.kwargs + body = json.loads(gzip.decompress(sent["data"]).decode("utf-8")) + team_ids = {m["attributes"]["team_id"] for m in body[0]["metrics"]} + assert team_ids == {"team-a", "team-b"} + assert logger.log_queue == [] + + +class TestStopFlag: + @pytest.mark.asyncio + async def test_stop_ends_periodic_flush_loop(self): + logger = _make_logger() + logger.flush_interval = 0.01 + logger.flush_queue = AsyncMock() + + task = asyncio.create_task(logger.periodic_flush()) + await asyncio.sleep(0.05) + assert not task.done() + + logger.stop() + await asyncio.wait_for(task, timeout=1.0) + + assert task.done() + + @pytest.mark.asyncio + async def test_stopped_logger_exits_after_one_final_drain(self): + logger = _make_logger() + logger.flush_interval = 0.01 + logger._final_drain = AsyncMock() + logger._stopped = True + + await asyncio.wait_for(logger.periodic_flush(), timeout=1.0) + + logger._final_drain.assert_awaited_once() + + @pytest.mark.asyncio + async def test_eviction_drains_queued_records(self): + """Eviction must post what is already queued, not silently discard it.""" + from litellm.litellm_core_utils.specialty_caches.dynamic_logging_cache import ( + DynamicLoggingCache, + ) + + cache = DynamicLoggingCache() + logger = _make_logger() + logger.log_queue = [_record(), _record(team_id="team-b")] + logger.async_client.post = AsyncMock(return_value=_response(202)) + credentials = {"newrelic_api_key": "test-key", "newrelic_region": None} + cache.set_cache(credentials=credentials, service_name="newrelic", logging_obj=logger) + + key = cache.get_cache_key(args={**credentials, "service_name": "newrelic"}) + cache.cache._remove_key(key) + for _ in range(10): + await asyncio.sleep(0) + + logger.async_client.post.assert_awaited_once() + body = json.loads(gzip.decompress(logger.async_client.post.await_args.kwargs["data"]).decode("utf-8")) + team_ids = {m["attributes"]["team_id"] for m in body[0]["metrics"]} + assert team_ids == {"team-a", "team-b"} + assert logger.log_queue == [] + + @pytest.mark.asyncio + async def test_dynamic_logging_cache_eviction_calls_stop(self): + from litellm.litellm_core_utils.specialty_caches.dynamic_logging_cache import ( + DynamicLoggingCache, + ) + + cache = DynamicLoggingCache() + logger = _make_logger() + credentials = {"newrelic_api_key": "test-key", "newrelic_region": None} + cache.set_cache(credentials=credentials, service_name="newrelic", logging_obj=logger) + + key = cache.get_cache_key(args={**credentials, "service_name": "newrelic"}) + cache.cache._remove_key(key) + + assert logger._stopped is True + assert cache.get_cache(credentials=credentials, service_name="newrelic") is None + + +@pytest.mark.asyncio +async def test_append_after_eviction_drain_self_flushes(): + """An in-flight callback holding an evicted (stopped) logger still delivers + its record: with no periodic loop left, the append itself drains.""" + logger = _make_logger() + with patch.object( + logger.async_client, "post", new=AsyncMock(return_value=_response(202)) + ) as mock_post: + logger.stop() + await logger.async_log_success_event( + {"standard_logging_object": _standard_logging_object()}, None, None, None + ) + assert mock_post.await_count >= 1, "record appended after stop() must be flushed, not stranded" + assert logger.log_queue == [] + + +@pytest.mark.asyncio +async def test_final_drain_retries_transient_failure_then_delivers(): + """A transient 5xx during the eviction drain must not strand the last + batch: the final drain retries on its own (no periodic loop is left).""" + logger = _make_logger() + err = _response(500) + responses = [HTTPStatusError('e', request=err.request, response=err), HTTPStatusError('e', request=err.request, response=err), _response(202)] + post_mock = AsyncMock(side_effect=responses) + with patch.object(logger, "async_client") as client, patch("asyncio.sleep", new=AsyncMock()): + client.post = post_mock + await logger._log_async_event(standard_logging_object=_standard_logging_object()) + await logger._final_drain() + assert post_mock.await_count == 3 + assert logger.log_queue == [] + + +@pytest.mark.asyncio +async def test_final_drain_drops_after_bounded_passes_under_lock(): + """A permanently failing destination is retried across bounded passes, then + the remainder is dropped under flush_lock and logged, never stranded. A + second drain over the now-empty queue is a no-op.""" + logger = _make_logger() + post_mock = _raises(500) + with patch.object(logger, "async_client") as client, patch("asyncio.sleep", new=AsyncMock()): + client.post = post_mock + await logger._log_async_event(standard_logging_object=_standard_logging_object()) + await logger._final_drain() + after_first = post_mock.await_count + await logger._final_drain() + assert after_first >= 1, "the failing destination was retried before the drop" + assert post_mock.await_count == after_first, "second drain over an empty queue is a no-op" + assert logger.log_queue == [], "exhausted retries end in a logged drop, not a stranded queue" + + +def test_attribute_values_bounded_against_payload_bombs(): + """A caller-controlled high-entropy model string is truncated in metric + attributes so one record cannot inflate the shared batch past the Metric + API payload cap and take out other users' metrics.""" + record = _record(model="m" * 5000) + metrics = _bucket_metrics((record,)) + for metric in metrics: + assert len(metric["attributes"]["model"]) == 255 + + +@pytest.mark.asyncio +async def test_idle_gap_does_not_inflate_next_window(): + """Empty flush cycles advance the window start, so a burst after idling + reports an interval close to the flush cadence, not the whole idle gap.""" + logger = _make_logger() + logger.last_flush_time = 100.0 + with patch.object(logger, "async_client") as client: + client.post = AsyncMock(return_value=_response(202)) + await logger.flush_queue() + assert logger.last_flush_time > 100.0 + + +@pytest.mark.asyncio +async def test_mid_drain_append_delivered_against_healthy_destination(): + """A record a callback appends while a drain is running is picked up by a + later pass and delivered when the destination is healthy; nothing stranded.""" + logger = _make_logger() + logger.stop() + late_record = _record(model="late-model") + injected = {"done": False} + posted = [] + + async def _capture(url, headers=None, content=None, **kw): + posted.append(content) + if not injected["done"]: + injected["done"] = True + logger.log_queue.append(late_record) + return _response(202) + + with patch.object(logger, "async_client") as client, patch("asyncio.sleep", new=AsyncMock()): + client.post = _capture + logger.log_queue.append(_record(model="first")) + await logger._drain_with_retry() + assert logger.log_queue == [], "the mid-drain append was drained too, nothing stranded" + assert len(posted) >= 2, "both the original and the mid-drain record were sent" + + +@pytest.mark.asyncio +async def test_drain_attempts_every_chunk_not_just_the_head_under_failure(): + """Regression: with more than batch_size records queued on a stopped logger + and a persistently failing destination, every record must be attempted before + the bounded terminal drop. The periodic path stops at the first failing chunk, + so a drain that reused it would drop the un-sent tail (records past the head + chunk) as if it had tried them, silently undercounting the team's usage.""" + logger = _make_logger() + logger.stop() + logger.batch_size = 2 + logger.log_queue = [_record(model=f"m{i}") for i in range(5)] + sent_models = [] + + async def _capture_then_fail(url, data=None, headers=None, **kw): + body = json.loads(gzip.decompress(data).decode("utf-8")) + sent_models.extend( + m["attributes"]["model"] for m in body[0]["metrics"] if m["name"] == NEWRELIC_METRIC_REQUESTS + ) + resp = _response(503) + raise HTTPStatusError("err", request=resp.request, response=resp) + + with patch("asyncio.sleep", new=AsyncMock()): + logger.async_client.post = _capture_then_fail + await logger._drain_with_retry() + + assert set(sent_models) == {"m0", "m1", "m2", "m3", "m4"}, "every chunk, including the tail, was attempted" + assert logger.log_queue == [], "the exhausted batch is dropped after bounded passes, nothing stranded" + + +@pytest.mark.asyncio +async def test_drain_delivers_the_tail_once_the_destination_recovers(): + """The tail beyond the head chunk must be delivered, not stranded, once a + transiently failing destination recovers within the drain's passes.""" + logger = _make_logger() + logger.stop() + logger.batch_size = 2 + logger.log_queue = [_record(model=f"m{i}") for i in range(5)] + delivered_models = [] + posts = {"n": 0} + + async def _fail_first_pass_then_recover(url, data=None, headers=None, **kw): + posts["n"] += 1 + if posts["n"] <= 3: # the first pass's three chunks all fail + resp = _response(503) + raise HTTPStatusError("err", request=resp.request, response=resp) + body = json.loads(gzip.decompress(data).decode("utf-8")) + delivered_models.extend( + m["attributes"]["model"] for m in body[0]["metrics"] if m["name"] == NEWRELIC_METRIC_REQUESTS + ) + return _response(202) + + with patch("asyncio.sleep", new=AsyncMock()): + logger.async_client.post = _fail_first_pass_then_recover + await logger._drain_with_retry() + + assert set(delivered_models) == {"m0", "m1", "m2", "m3", "m4"}, "all chunks delivered after recovery" + assert logger.log_queue == [], "nothing left stranded once the destination recovered" + + +@pytest.mark.asyncio +async def test_terminal_drop_leaves_untried_late_arrival_for_next_drain(): + """Against a permanently failing destination, the terminal drop clears only + the records this drain actually tried; a record a callback appends during the + final pass, after that pass's snapshot, is left in the queue for its own + serialized drain, never wiped un-tried.""" + logger = _make_logger() + logger.stop() + from litellm.types.integrations.newrelic import NEWRELIC_METRICS_MAX_DRAIN_PASSES + + late_record = _record(model="late-arrival") + posts = {"n": 0} + + async def _fail_and_append_on_final_pass(url, data=None, headers=None, **kw): + posts["n"] += 1 + # One record means one post per pass, so the final pass's post is the + # Nth; append then, after the drain has already snapshotted the queue. + if posts["n"] == NEWRELIC_METRICS_MAX_DRAIN_PASSES: + logger.log_queue.append(late_record) + resp = _response(503) + raise HTTPStatusError("err", request=resp.request, response=resp) + + with patch("asyncio.sleep", new=AsyncMock()): + logger.async_client.post = _fail_and_append_on_final_pass + logger.log_queue.append(_record(model="doomed")) + await logger._drain_with_retry() + assert logger.log_queue == [late_record], "the un-tried late arrival is left for its own drain, not dropped" + + +@pytest.mark.asyncio +async def test_record_appended_on_an_early_pass_is_not_dropped_short_of_the_retry_budget(): + """A record a callback appends during an early drain pass entered the queue + after this drain's snapshot, so it has not seen the full retry budget. The + terminal drop must clear only records queued when the drain began, leaving + the early-pass arrival for its own serialized drain instead of dropping it + after fewer than the configured attempts.""" + logger = _make_logger() + logger.stop() + early_record = _record(model="early-pass-arrival") + posts = {"n": 0} + + async def _fail_and_append_on_first_pass(url, data=None, headers=None, **kw): + posts["n"] += 1 + # One record queued at start means the first pass's post is the 1st; + # append during it, before this drain's later passes. + if posts["n"] == 1: + logger.log_queue.append(early_record) + resp = _response(503) + raise HTTPStatusError("err", request=resp.request, response=resp) + + with patch("asyncio.sleep", new=AsyncMock()): + logger.async_client.post = _fail_and_append_on_first_pass + logger.log_queue.append(_record(model="doomed")) + await logger._drain_with_retry() + assert logger.log_queue == [early_record], "the early-pass arrival is left for its own drain, not dropped short" + + +@pytest.mark.asyncio +async def test_post_stop_drains_are_serialized(): + """A callback that appends to a stopped logger and starts its own drain must + queue behind an already-running drain, not race it: otherwise one drain's + terminal clear could wipe a record the other is still responsible for. + Proven by holding the first drain inside its flush and asserting the second + has not entered its own flush until the first releases.""" + logger = _make_logger() + logger._stopped = True # stopped without scheduling a background drain + logger.log_queue.append(_record(model="r1")) + entered = [] + release = asyncio.Event() + + async def blocking_flush(): + entered.append(len(entered) + 1) + if len(entered) == 1: + await release.wait() + logger.log_queue.clear() + + logger._drain_flush_once = blocking_flush + t1 = asyncio.create_task(logger._drain_with_retry()) + await asyncio.sleep(0.02) # let t1 acquire the drain lock and enter flush + assert entered == [1], f"first drain did not enter flush: {entered}" + t2 = asyncio.create_task(logger._drain_with_retry()) + await asyncio.sleep(0.02) # t2 must block on the drain lock, not enter flush + assert entered == [1], f"second drain raced the first: {entered}" + release.set() + await asyncio.gather(t1, t2) + assert logger.log_queue == [] + + +@pytest.mark.asyncio +async def test_raised_403_is_dropped_not_requeued(): + """AsyncHTTPHandler.post raises HTTPStatusError on 4xx, so a 403 (permanent + bad key) arrives as an exception, not a response. It must be dropped, never + requeued, or a revoked key retries forever.""" + logger = _make_logger() + logger.log_queue.append(_record()) + logger.async_client.post = _raises(403) + await logger.async_send_batch() + assert logger.log_queue == [], "a permanent 403 must drop, not requeue" + + +@pytest.mark.asyncio +async def test_raised_500_is_requeued(): + """A raised 5xx is transient and must be requeued for retry.""" + logger = _make_logger() + record = _record() + logger.log_queue.append(record) + logger.async_client.post = _raises(503) + await logger.async_send_batch() + assert logger.log_queue == [record], "a transient 5xx must requeue" + + +@pytest.mark.asyncio +@pytest.mark.parametrize("status", [429, 408]) +async def test_transient_4xx_is_requeued_not_dropped(status): + """The Metric API returns 429 when it throttles (and 408 on a request + timeout); both are transient and expect a retry, so the batch must be + requeued rather than permanently dropped like a 400/403.""" + logger = _make_logger() + record = _record() + logger.log_queue.append(record) + logger.async_client.post = _raises(status) + await logger.async_send_batch() + assert logger.log_queue == [record], f"a transient {status} must requeue, not drop" + + +@pytest.mark.asyncio +@pytest.mark.parametrize("status", [200, 201, 204]) +async def test_any_2xx_is_treated_as_delivered_not_requeued(status): + """The Metric API answers 202, but any 2xx means the destination accepted the + batch. Treating a non-202 2xx as a failure would re-queue and re-send data + New Relic already stored, duplicating the team's metrics until the cap drops.""" + logger = _make_logger() + logger.log_queue.append(_record()) + logger.async_client.post = AsyncMock(return_value=_response(status)) + await logger.async_send_batch() + assert logger.log_queue == [], f"a {status} success must drop, not requeue and duplicate" diff --git a/tests/test_litellm/integrations/newrelic/test_newrelic_team_handler.py b/tests/test_litellm/integrations/newrelic/test_newrelic_team_handler.py new file mode 100644 index 00000000000..f4460a615df --- /dev/null +++ b/tests/test_litellm/integrations/newrelic/test_newrelic_team_handler.py @@ -0,0 +1,274 @@ +""" +Tests for team-scoped New Relic metrics callback support. + +Verifies that NewRelicMetricsLogger is instantiated with per-team credentials +(newrelic_api_key, newrelic_region) with no environment fallback, and that +NewRelicHandler correctly resolves and caches per-team loggers. +""" + +import copy +from unittest.mock import patch + +import pytest + +from litellm.integrations.newrelic.newrelic_metrics import NewRelicMetricsLogger +from litellm.integrations.newrelic.newrelic_team_handler import NewRelicHandler +from litellm.litellm_core_utils.initialize_dynamic_callback_params import ( + TRUSTED_CALLBACK_VARS_FIELD, +) +from litellm.litellm_core_utils.specialty_caches.dynamic_logging_cache import ( + DynamicLoggingCache, +) +from litellm.types.integrations.newrelic import NEWRELIC_METRIC_ENDPOINT_BY_REGION +from litellm.types.utils import StandardCallbackDynamicParams + +US_ENDPOINT = NEWRELIC_METRIC_ENDPOINT_BY_REGION["us"] +EU_ENDPOINT = NEWRELIC_METRIC_ENDPOINT_BY_REGION["eu"] + + +class TestNewRelicMetricsLoggerCredentialKwargs: + """The logger takes credentials by injection only; env vars never leak in.""" + + def test_init_with_explicit_credentials(self): + with patch("asyncio.create_task"): + logger = NewRelicMetricsLogger(newrelic_api_key="team_key", newrelic_region="eu") + + assert logger.newrelic_api_key == "team_key" + assert logger.metric_api_url == EU_ENDPOINT + + def test_init_defaults_to_us_region(self): + with patch("asyncio.create_task"): + logger = NewRelicMetricsLogger(newrelic_api_key="team_key") + + assert logger.metric_api_url == US_ENDPOINT + + def test_unknown_region_falls_back_to_us(self): + with patch("asyncio.create_task"): + logger = NewRelicMetricsLogger(newrelic_api_key="team_key", newrelic_region="mars") + + assert logger.metric_api_url == US_ENDPOINT + + def test_region_is_case_insensitive(self): + with patch("asyncio.create_task"): + logger = NewRelicMetricsLogger(newrelic_api_key="team_key", newrelic_region="EU") + + assert logger.metric_api_url == EU_ENDPOINT + + def test_init_raises_without_api_key(self): + with pytest.raises(ValueError, match="newrelic_api_key"): + with patch("asyncio.create_task"): + NewRelicMetricsLogger(newrelic_api_key="") + + def test_init_never_falls_back_to_env_license_key(self, monkeypatch): + """A missing team key must fail, never silently reuse the operator's key.""" + monkeypatch.setenv("NEW_RELIC_LICENSE_KEY", "operator-license-key") + + with pytest.raises(ValueError, match="newrelic_api_key"): + with patch("asyncio.create_task"): + NewRelicMetricsLogger(newrelic_api_key="") + + +class TestNewRelicHandler: + """The handler resolves the correct logger per team.""" + + def test_creates_team_logger_with_dynamic_credentials(self): + cache = DynamicLoggingCache() + params = StandardCallbackDynamicParams(newrelic_api_key="team_a_key", newrelic_region="eu") + + with patch("asyncio.create_task"): + result = NewRelicHandler.get_newrelic_logger_for_request( + standard_callback_dynamic_params=params, + in_memory_dynamic_logger_cache=cache, + ) + + assert result.newrelic_api_key == "team_a_key" + assert result.metric_api_url == EU_ENDPOINT + + def test_caches_team_logger(self): + cache = DynamicLoggingCache() + params = StandardCallbackDynamicParams(newrelic_api_key="team_b_key") + + with patch("asyncio.create_task"): + result1 = NewRelicHandler.get_newrelic_logger_for_request( + standard_callback_dynamic_params=params, + in_memory_dynamic_logger_cache=cache, + ) + result2 = NewRelicHandler.get_newrelic_logger_for_request( + standard_callback_dynamic_params=params, + in_memory_dynamic_logger_cache=cache, + ) + + assert result1 is result2 + + def test_different_teams_get_different_loggers(self): + cache = DynamicLoggingCache() + params_a = StandardCallbackDynamicParams(newrelic_api_key="team_a_key") + params_b = StandardCallbackDynamicParams(newrelic_api_key="team_b_key") + + with patch("asyncio.create_task"): + result_a = NewRelicHandler.get_newrelic_logger_for_request( + standard_callback_dynamic_params=params_a, + in_memory_dynamic_logger_cache=cache, + ) + result_b = NewRelicHandler.get_newrelic_logger_for_request( + standard_callback_dynamic_params=params_b, + in_memory_dynamic_logger_cache=cache, + ) + + assert result_a is not result_b + assert result_a.newrelic_api_key == "team_a_key" + assert result_b.newrelic_api_key == "team_b_key" + + def test_region_is_part_of_cache_key(self): + """Same key, different region must not share a logger (different endpoints).""" + cache = DynamicLoggingCache() + + with patch("asyncio.create_task"): + result_us = NewRelicHandler.get_newrelic_logger_for_request( + standard_callback_dynamic_params=StandardCallbackDynamicParams(newrelic_api_key="key"), + in_memory_dynamic_logger_cache=cache, + ) + result_eu = NewRelicHandler.get_newrelic_logger_for_request( + standard_callback_dynamic_params=StandardCallbackDynamicParams( + newrelic_api_key="key", newrelic_region="eu" + ), + in_memory_dynamic_logger_cache=cache, + ) + + assert result_us is not result_eu + assert result_us.metric_api_url == US_ENDPOINT + assert result_eu.metric_api_url == EU_ENDPOINT + + def test_request_blocked_callback_params_includes_newrelic(self): + from litellm.litellm_core_utils.initialize_dynamic_callback_params import ( + _request_blocked_callback_params, + ) + + assert "newrelic_api_key" in _request_blocked_callback_params + assert "newrelic_region" in _request_blocked_callback_params + + +class TestDynamicCredentialDetection: + def test_no_credentials(self): + params = StandardCallbackDynamicParams() + assert NewRelicHandler._dynamic_newrelic_credentials_are_passed(params) is False + + def test_region_only_is_not_credentials(self): + params = StandardCallbackDynamicParams(newrelic_region="eu") + assert NewRelicHandler._dynamic_newrelic_credentials_are_passed(params) is False + + def test_api_key_is_credentials(self): + params = StandardCallbackDynamicParams(newrelic_api_key="key") + assert NewRelicHandler._dynamic_newrelic_credentials_are_passed(params) is True + + +class TestStandardCallbackDynamicParamsIncludesNewRelic: + def test_newrelic_params_in_annotations(self): + annotations = StandardCallbackDynamicParams.__annotations__ + assert "newrelic_api_key" in annotations + assert "newrelic_region" in annotations + + +def _build_logging_obj(kwargs: dict, *, with_newrelic_callback: bool = True): + from litellm.litellm_core_utils.litellm_logging import Logging + + with patch("asyncio.create_task"): + return Logging( + model="gpt-4", + messages=[{"role": "user", "content": "hi"}], + stream=False, + call_type="completion", + start_time="2026-01-01", + litellm_call_id="test-call-id", + function_id="test-func", + dynamic_success_callbacks=["newrelic"] if with_newrelic_callback else None, + kwargs=kwargs, + ) + + +def _metrics_loggers(logging_obj) -> list[NewRelicMetricsLogger]: + return [cb for cb in (logging_obj.dynamic_success_callbacks or []) if isinstance(cb, NewRelicMetricsLogger)] + + +class TestTeamCallbackFlowPassesNewRelicCredentials: + """ + newrelic_* credentials reach NewRelicHandler only from the proxy-stamped trusted + field. Anything the caller put in the request body must not, or a caller could + pair its own newrelic_region with the team's ingest key. + """ + + def test_trusted_callback_vars_reach_newrelic_handler(self): + logging_obj = _build_logging_obj( + { + TRUSTED_CALLBACK_VARS_FIELD: {"newrelic_api_key": "team-nr-key-123", "newrelic_region": "eu"}, + "model": "gpt-4", + "litellm_params": {"metadata": {}}, + } + ) + + metrics_loggers = _metrics_loggers(logging_obj) + assert len(metrics_loggers) == 1, "NewRelicMetricsLogger should be initialized from team callback_vars" + assert metrics_loggers[0].newrelic_api_key == "team-nr-key-123" + assert metrics_loggers[0].metric_api_url == EU_ENDPOINT + + def test_trace_logger_still_dispatched_alongside_metrics(self): + """The metrics logger must not displace the trace logger for the same name.""" + logging_obj = _build_logging_obj( + { + TRUSTED_CALLBACK_VARS_FIELD: {"newrelic_api_key": "team-nr-key-123"}, + "model": "gpt-4", + "litellm_params": {"metadata": {}}, + } + ) + + non_metrics = [ + cb for cb in (logging_obj.dynamic_success_callbacks or []) if not isinstance(cb, NewRelicMetricsLogger) + ] + assert len(non_metrics) == 1, "trace logger (OTel v2 or legacy agent) must remain in the dynamic list" + assert len(_metrics_loggers(logging_obj)) == 1 + async_non_metrics = [ + cb + for cb in (logging_obj.dynamic_async_success_callbacks or []) + if not isinstance(cb, NewRelicMetricsLogger) + ] + assert len(async_non_metrics) == 1 + + def test_request_kwargs_newrelic_params_are_ignored(self): + logging_obj = _build_logging_obj( + { + "newrelic_api_key": "caller-nr-key", + "newrelic_region": "eu", + "model": "gpt-4", + "litellm_params": {"metadata": {}}, + } + ) + + assert _metrics_loggers(logging_obj) == [] + + def test_logging_object_stays_deepcopyable(self): + logging_obj = _build_logging_obj( + { + TRUSTED_CALLBACK_VARS_FIELD: {"newrelic_api_key": "team-nr-key-123"}, + "model": "gpt-4", + "litellm_params": {"metadata": {}}, + }, + with_newrelic_callback=False, + ) + + assert copy.deepcopy(logging_obj)._trusted_callback_vars == logging_obj._trusted_callback_vars + + def test_caller_cannot_redirect_team_credentials(self): + """The exfil shape: caller's newrelic_region paired with the team's key.""" + logging_obj = _build_logging_obj( + { + TRUSTED_CALLBACK_VARS_FIELD: {"newrelic_api_key": "team-nr-key-123"}, + "newrelic_region": "eu", + "model": "gpt-4", + "litellm_params": {"metadata": {}}, + } + ) + + metrics_loggers = _metrics_loggers(logging_obj) + assert len(metrics_loggers) == 1 + assert metrics_loggers[0].newrelic_api_key == "team-nr-key-123" + assert metrics_loggers[0].metric_api_url == US_ENDPOINT From 81dc8dba1c8cb46106d588244d76feabf63bd0ff Mon Sep 17 00:00:00 2001 From: tin-berri Date: Wed, 26 Aug 2026 23:48:04 -0700 Subject: [PATCH 27/32] fix(ui): carry a preset's per-tier litellm_params through the prefill (#38453) * fix(ui): carry a preset's per-tier litellm_params through the prefill buildPresetPrefill rebuilt the complexity router config field by field and never emitted tier_model_params, so a bundled preset that declares per-model litellm_params (reasoning_effort, for instance) lost them before the create form ever saw them. Both halves of the round trip already existed: hydrateTierModelParams reads either storage shape, and serializeTierModelConfigs writes them back on submit. Hydrating alone is not enough. Tier entries get rewritten to the caller's registered model spelling, which can differ from the preset's literal string by version-separator punctuation, while the params stay keyed on what the preset spelled. serializeTierModelConfigs then drops any param whose key is not in the tier, silently. The param keys go through the same resolver as the tier entries. * test(ui): catch a preset spelling the same model two ways in one tier buildPresetPrefill resolves every model reference through normalizeModelName, so two spellings of the same model in one tier (e.g. "claude-sonnet-4-5" and "claude-sonnet-4.5") collapse to one key. For tier_model_configs that means one model's litellm_params silently overwrites the other's - flagged by Greptile on #38453 (P2, confirmed real via a throwaway repro, not a regression: on the merge base both param sets were already dropped). Nothing else validates preset authoring, and these are trusted, checked-in JSON, so the fix is a static test over the bundled data rather than runtime code. Exports normalizeModelName so the test exercises the actual resolution rule instead of a hand-rolled copy of it. Verified the test fails when a preset is mutated to spell one model two ways, and passes clean on the real bundled presets. --- .../src/lib/autorouter_presets.test.ts | 92 +++++++++++++++++++ .../src/lib/autorouter_presets.ts | 27 +++++- 2 files changed, 118 insertions(+), 1 deletion(-) diff --git a/ui/litellm-dashboard/src/lib/autorouter_presets.test.ts b/ui/litellm-dashboard/src/lib/autorouter_presets.test.ts index 01c61ba6130..a2d23473fb9 100644 --- a/ui/litellm-dashboard/src/lib/autorouter_presets.test.ts +++ b/ui/litellm-dashboard/src/lib/autorouter_presets.test.ts @@ -11,6 +11,7 @@ import { buildPresetPrefill, buildModelAvailability, deploymentRefsFromModelInfo, + normalizeModelName, } from "./autorouter_presets"; import { DEFAULT_MATCH_THRESHOLD } from "@/components/add_model/SemanticKeywordMatching"; import { DEFAULT_ESCALATION_KEYWORDS } from "@/components/add_model/EscalationKeywords"; @@ -28,6 +29,29 @@ describe("autorouter_presets", () => { } }); + // buildPresetPrefill resolves every model reference through normalizeModelName, so two spellings + // of the same model in one tier (e.g. "claude-sonnet-4-5" and "claude-sonnet-4.5") collapse to one + // key. For tier_model_configs that silently drops one model's litellm_params; catch it in the + // bundled data itself, since nothing else validates preset authoring. + it("never spells the same model two ways within a single tier", () => { + for (const preset of getAllPresets()) { + const { tiers, tier_model_configs: configs } = preset.complexity_router_config; + for (const tier of Object.keys(tiers) as (keyof typeof tiers)[]) { + const fromTierList = tiers[tier] ?? []; + const fromConfigs = (configs?.[tier] ?? []).map((entry) => entry.model_name); + const names = new Set([...fromTierList, ...fromConfigs]); + const byNormalized = new Map(); + for (const name of names) { + const key = normalizeModelName(name); + byNormalized.set(key, [...(byNormalized.get(key) ?? []), name]); + } + for (const spellings of byNormalized.values()) { + expect(new Set(spellings).size, `${preset.key}.${tier}: ${spellings.join(", ")}`).toBe(1); + } + } + } + }); + it("resolves a preset by its stable JSON key, not its display label", () => { expect(getPresetByKey("anthropic_family")?.label).toBe("Anthropic Family"); expect(getPresetByKey("does_not_exist")).toBeUndefined(); @@ -544,5 +568,73 @@ describe("autorouter_presets", () => { const prefill = buildPresetPrefill(config, groupsOnly(["claude-sonnet-4.5"])); expect(prefill.complexityRouterConfig.tiers.SIMPLE).toEqual(["claude-sonnet-4.5"]); }); + + it("prefills the per-model litellm_params a preset carries in tier_model_configs", () => { + const config = { + tiers: { SIMPLE: ["gpt-5-nano"], MEDIUM: [], COMPLEX: [], REASONING: ["o3"] }, + tier_model_configs: { + REASONING: [{ model_name: "o3", litellm_params: { reasoning_effort: "high" } }], + }, + classifier_type: "heuristic" as const, + session_affinity: false, + deployment_affinity: true, + }; + const prefill = buildPresetPrefill(config, groupsOnly(["gpt-5-nano", "o3"])); + expect(prefill.complexityRouterConfig.tier_model_params).toEqual({ + REASONING: { o3: { reasoning_effort: "high" } }, + }); + }); + + // The params key on the preset's own spelling while the tier entry gets rewritten to the + // caller's. Leaving the key alone names a model the tier no longer holds, and + // serializeTierModelConfigs then drops the params on submit without saying so. + it("rewrites a param key to the same registered spelling its tier entry was rewritten to", () => { + const config = { + tiers: { SIMPLE: [], MEDIUM: [], COMPLEX: [], REASONING: ["claude-sonnet-4-5"] }, + tier_model_configs: { + REASONING: [{ model_name: "claude-sonnet-4-5", litellm_params: { reasoning_effort: "high" } }], + }, + classifier_type: "heuristic" as const, + session_affinity: false, + deployment_affinity: true, + }; + const prefill = buildPresetPrefill(config, groupsOnly(["claude-sonnet-4.5"])); + expect(prefill.complexityRouterConfig.tier_model_params).toEqual({ + REASONING: { "claude-sonnet-4.5": { reasoning_effort: "high" } }, + }); + }); + + // Two spellings of one model in a tier collapse to a single registered key, and one model can + // only hold one param set downstream. Merging keeps whatever only one spelling set instead of + // dropping that spelling's params wholesale. + it("merges rather than drops params when two spellings resolve to the same registered model", () => { + const config = { + tiers: { SIMPLE: [], MEDIUM: [], COMPLEX: [], REASONING: ["claude-sonnet-4-5", "claude-sonnet-4.5"] }, + tier_model_configs: { + REASONING: [ + { model_name: "claude-sonnet-4-5", litellm_params: { reasoning_effort: "high", temperature: 0.2 } }, + { model_name: "claude-sonnet-4.5", litellm_params: { reasoning_effort: "low" } }, + ], + }, + classifier_type: "heuristic" as const, + }; + const prefill = buildPresetPrefill(config, groupsOnly(["claude-sonnet-4.5"])); + // temperature survives from the spelling that would otherwise have been overwritten; + // reasoning_effort, set by both, resolves last-wins. + expect(prefill.complexityRouterConfig.tier_model_params).toEqual({ + REASONING: { "claude-sonnet-4.5": { reasoning_effort: "low", temperature: 0.2 } }, + }); + }); + + it("leaves tier_model_params undefined for a preset that carries no per-model params", () => { + const config = { + tiers: { SIMPLE: ["gpt-5-nano"], MEDIUM: [], COMPLEX: [], REASONING: [] }, + classifier_type: "heuristic" as const, + session_affinity: false, + deployment_affinity: true, + }; + const prefill = buildPresetPrefill(config, groupsOnly(["gpt-5-nano"])); + expect(prefill.complexityRouterConfig.tier_model_params).toBeUndefined(); + }); }); }); diff --git a/ui/litellm-dashboard/src/lib/autorouter_presets.ts b/ui/litellm-dashboard/src/lib/autorouter_presets.ts index fd1ca7a13c2..a35b868db5e 100644 --- a/ui/litellm-dashboard/src/lib/autorouter_presets.ts +++ b/ui/litellm-dashboard/src/lib/autorouter_presets.ts @@ -12,6 +12,11 @@ import { } from "@/components/add_model/ComplexityRouterConfig"; import { KeywordTierRule } from "@/components/add_model/KeywordTierRules"; import { hydrateKeywordTierRules } from "@/components/add_model/complexity_router_keywords"; +import { + TierModelParams, + TierModelParamsByTier, + hydrateTierModelParams, +} from "@/components/add_model/complexity_router_tiers"; import { DEFAULT_ESCALATION_KEYWORDS } from "@/components/add_model/EscalationKeywords"; import { DEFAULT_MATCH_THRESHOLD } from "@/components/add_model/SemanticKeywordMatching"; import presetsRaw from "@/autorouter_presets.json"; @@ -54,7 +59,7 @@ export const getRequiredModels = ( // differing only in that separator. Canonicalizing on "-" (the presets' own convention) lets both // spellings match without doing anything looser - two DIFFERENT model names never collide here, // only the punctuation within one version number does. -const normalizeModelName = (model: string): string => model.replace(/(\d)\.(\d)/g, "$1-$2"); +export const normalizeModelName = (model: string): string => model.replace(/(\d)\.(\d)/g, "$1-$2"); export interface DeploymentModelRef { modelGroup: string; @@ -244,6 +249,25 @@ export const buildPresetPrefill = ( ): PresetPrefill => { const resolve = (model: string): string => resolveAvailableModel(model, availability) ?? model; const resolveTier = (models: string[]): string[] => models.map(resolve); + // Params key on the model name the preset spells while every tier entry is rewritten to the + // caller's registered spelling, so the keys have to be rewritten the same way. Otherwise + // serializeTierModelConfigs drops them for naming a model the tier no longer holds. + // + // Two spellings in one tier can resolve to the same registered model, and one model holds one + // param set here and in the payload, so a collision has to collapse. Merge rather than replace: + // params only one spelling set still survive, and a key both set resolves last-wins, matching + // how hydrateTierModelParams already collapses two entries spelled identically. + const resolveParamKeys = (params: TierModelParamsByTier | undefined): TierModelParamsByTier | undefined => + params && + Object.fromEntries( + Object.entries(params).map(([tier, byModel]) => [ + tier, + Object.entries(byModel).reduce>((byResolved, [model, litellmParams]) => { + const resolved = resolve(model); + return { ...byResolved, [resolved]: { ...byResolved[resolved], ...litellmParams } }; + }, {}), + ]), + ); return { complexityRouterConfig: { @@ -253,6 +277,7 @@ export const buildPresetPrefill = ( COMPLEX: resolveTier(config.tiers.COMPLEX), REASONING: resolveTier(config.tiers.REASONING), }, + tier_model_params: resolveParamKeys(hydrateTierModelParams(config.tiers, config.tier_model_configs)), tier_labels: hydrateTierLabels(config.tier_labels), classifier_type: config.classifier_type, classifier_llm_config: config.classifier_llm_config && { From cd63c7e5a7f925268f899c0992d4fc3e6bc79650 Mon Sep 17 00:00:00 2001 From: tin-berri Date: Thu, 27 Aug 2026 00:22:38 -0700 Subject: [PATCH 28/32] feat(ui): put the auto-router savings hero on a spend rail and a four-tile row (#38470) The savings card carried four numbers in two stacked halves: the headline saving with its delta on the left over the two spend rows, and avg saved per session on the right. Give the headline the whole left half, move the two spend rows into a rail on the right, and drop avg saved per session into the metric row below as its first tile, with the session count as an inline hint. Each spend row stays a description list so assistive tech keeps the label to value association, with the shadcn Separator between the two rows. Both hero columns are minmax(0,1fr) so a large total wraps instead of overflowing the card, which also fixes the clipping the old 1fr columns already had. Metric grows one optional hint slot so the new tile reuses the same presenter as its three siblings. --- .../AutoRouterBenchmarksTab.test.tsx | 41 ++++++++++++--- .../_components/AutoRouterBenchmarksTab.tsx | 52 +++++++++++-------- 2 files changed, 62 insertions(+), 31 deletions(-) diff --git a/ui/litellm-dashboard/src/app/(dashboard)/cost-optimization/_components/AutoRouterBenchmarksTab.test.tsx b/ui/litellm-dashboard/src/app/(dashboard)/cost-optimization/_components/AutoRouterBenchmarksTab.test.tsx index 9cc4333b1e8..ce0cd75cd36 100644 --- a/ui/litellm-dashboard/src/app/(dashboard)/cost-optimization/_components/AutoRouterBenchmarksTab.test.tsx +++ b/ui/litellm-dashboard/src/app/(dashboard)/cost-optimization/_components/AutoRouterBenchmarksTab.test.tsx @@ -1,5 +1,5 @@ import { QueryClient, QueryClientProvider } from "@tanstack/react-query"; -import { fireEvent, render, screen } from "@testing-library/react"; +import { fireEvent, render, screen, within } from "@testing-library/react"; import React from "react"; import { beforeEach, describe, expect, it, vi } from "vitest"; @@ -151,15 +151,18 @@ describe("AutoRouterBenchmarksTab", () => { mockAutoRouters(); }); - it("leads with total estimated savings, before the three session-shape metrics", () => { + it("leads with total estimated savings, before the four session-shape metrics", () => { mockHook({ data: response([group(), group({ router_name: "gpt-auto" })]) }); renderTab(); const labels = screen - .getAllByText(/Total estimated savings|Avg turns per session|Avg session length|Avg tokens per session/) + .getAllByText( + /Total estimated savings|Avg saved per session|Avg turns per session|Avg session length|Avg tokens per session/, + ) .map((node) => node.textContent); expect(labels).toEqual([ "Total estimated savings", + "Avg saved per session", "Avg turns per session", "Avg session length", "Avg tokens per session", @@ -181,13 +184,35 @@ describe("AutoRouterBenchmarksTab", () => { expect(screen.getByText("5.3M")).toBeInTheDocument(); }); - it("pairs the savings with the session count it was earned over", () => { + it("pairs the savings with the session count it was earned over, in its own tile", () => { mockHook({ data: response([group(), group({ router_name: "gpt-auto" })]) }); renderTab(); - expect(screen.getByText("Avg saved per session")).toBeInTheDocument(); - expect(screen.getByText("$23.13")).toBeInTheDocument(); - expect(screen.getByText("across 94 sessions")).toBeInTheDocument(); + const tile = screen.getByText("Avg saved per session").closest('[data-slot="card"]'); + if (!tile) throw new Error("expected avg saved per session to render as a metric tile"); + + expect(within(tile).getByText("$23.13")).toBeInTheDocument(); + expect(within(tile).getByText("· 94 sessions")).toBeInTheDocument(); + }); + + it("exposes each spend row as a term and its value, not as loose text", () => { + mockHook({ data: response([group()]) }); + renderTab(); + + const terms = screen.getAllByRole("term").map((node) => node.textContent); + const values = screen.getAllByRole("definition").map((node) => node.textContent); + expect(terms).toEqual(["Actual auto-router spend", "Estimated spend at highest-tier model"]); + expect(values).toEqual(["$359.86", "$2,534.45"]); + }); + + it("lets both hero columns shrink below their content so a large total cannot clip", () => { + const huge = totals({ saved_spend: 123_456_789_012.34 }); + mockHook({ data: response([group(huge)], huge) }); + renderTab(); + + const figure = screen.getByText("$123,456,789,012.34"); + const grid = figure.closest('[data-slot="card"]')?.firstElementChild; + expect(grid).toHaveClass("md:grid-cols-[minmax(0,1fr)_minmax(0,1fr)]"); }); it("shows a cost increase as a positive delta rather than a saving", () => { @@ -315,7 +340,7 @@ describe("AutoRouterBenchmarksTab", () => { expect(screen.getByText("Total estimated savings")).toBeInTheDocument(); expect(screen.getAllByText("$0.00")).toHaveLength(4); - expect(screen.getByText("across 0 sessions")).toBeInTheDocument(); + expect(screen.getByText("· 0 sessions")).toBeInTheDocument(); expect(screen.getByText("0s")).toBeInTheDocument(); expect(screen.getByText(/turns measured/)).toBeInTheDocument(); expect(screen.getAllByText("0.0%").length).toBeGreaterThan(0); diff --git a/ui/litellm-dashboard/src/app/(dashboard)/cost-optimization/_components/AutoRouterBenchmarksTab.tsx b/ui/litellm-dashboard/src/app/(dashboard)/cost-optimization/_components/AutoRouterBenchmarksTab.tsx index fda1c1b1155..09a0cf0242b 100644 --- a/ui/litellm-dashboard/src/app/(dashboard)/cost-optimization/_components/AutoRouterBenchmarksTab.tsx +++ b/ui/litellm-dashboard/src/app/(dashboard)/cost-optimization/_components/AutoRouterBenchmarksTab.tsx @@ -8,6 +8,7 @@ import AdvancedDatePicker from "@/components/shared/advanced_date_picker"; import { Badge } from "@/components/ui/badge"; import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select"; +import { Separator } from "@/components/ui/separator"; import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from "@/components/ui/table"; import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs"; import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@/components/ui/tooltip"; @@ -39,51 +40,51 @@ const Message: React.FC<{ children: React.ReactNode }> = ({ children }) => (

{children}

); -const Metric: React.FC<{ label: string; value: string }> = ({ label, value }) => ( +const Metric: React.FC<{ label: string; value: string; hint?: string }> = ({ label, value, hint }) => ( {label} - +

{value}

+ {hint &&

{hint}

}
); +const SpendRow: React.FC<{ label: string; value: string }> = ({ label, value }) => ( +
+
{label}
+
{value}
+
+); + const HeroCard: React.FC<{ view: BenchmarkView }> = ({ view }) => { const stats = view.stats; const cheaper = stats.saved_spend >= 0; return ( -
-
-

Total estimated savings

-
-

{usd(stats.saved_spend)}

+
+
+

+ Total estimated savings +

+
+

{usd(stats.saved_spend)}

{stats.saved_spend !== 0 && (cheaper ? "-" : "+")} {Math.abs(stats.saved_pct).toFixed(0)}%
-
-
-
Actual auto-router spend
-
{usd(stats.spend)}
-
-
-
Estimated spend at highest-tier model
-
{usd(stats.baseline_spend)}
-
-
-
-

Avg saved per session

-

{usd(stats.saved_per_session)}

-

across {stats.sessions.toLocaleString()} sessions

+
+ + +
@@ -239,7 +240,12 @@ const BenchmarksBody: React.FC = ({ isPending, error, data, -
+
+ From 63d7920f8b7a1fcabac463afa4b5791142d42cb2 Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Thu, 27 Aug 2026 08:01:52 +0000 Subject: [PATCH 29/32] refactor: dedupe server_tool_use web search reads and type fresh test locals Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> --- .../integrations/dotprompt/prompt_manager.py | 1 - .../llm_cost_calc/tool_call_cost_tracking.py | 24 +++++++++---------- .../litellm_core_utils/llm_cost_calc/utils.py | 10 ++++++++ litellm/llms/anthropic/cost_calculation.py | 4 ++-- .../adapters/transformation.py | 6 ++--- litellm/llms/gemini/cost_calculator.py | 6 +++-- tests/proxy_unit_tests/test_proxy_server.py | 2 +- ...est_tool_call_cost_tracking_dict_safety.py | 2 +- ...erimental_pass_through_messages_handler.py | 9 +++++-- .../test_cost_calculation_dict_safety.py | 6 ++--- 10 files changed, 40 insertions(+), 30 deletions(-) diff --git a/litellm/integrations/dotprompt/prompt_manager.py b/litellm/integrations/dotprompt/prompt_manager.py index a0d5be71392..fd0b17ba746 100644 --- a/litellm/integrations/dotprompt/prompt_manager.py +++ b/litellm/integrations/dotprompt/prompt_manager.py @@ -149,7 +149,6 @@ class PromptManager: ) self.prompts[template_id] = template except Exception: - # Optional: print(f"Error loading prompt from JSON: {template_id}") pass def _load_prompt_file(self, file_path: str | Path, prompt_id: str) -> PromptTemplate: diff --git a/litellm/litellm_core_utils/llm_cost_calc/tool_call_cost_tracking.py b/litellm/litellm_core_utils/llm_cost_calc/tool_call_cost_tracking.py index 9a2c4e244fb..9250b92e268 100644 --- a/litellm/litellm_core_utils/llm_cost_calc/tool_call_cost_tracking.py +++ b/litellm/litellm_core_utils/llm_cost_calc/tool_call_cost_tracking.py @@ -7,7 +7,9 @@ from typing import Any, Final, Literal import litellm from litellm.constants import OPENAI_FILE_SEARCH_COST_PER_1K_CALLS -from litellm.litellm_core_utils.llm_cost_calc.utils import get_web_search_requests +from litellm.litellm_core_utils.llm_cost_calc.utils import ( + get_web_search_requests_from_usage, +) from litellm.types.llms.openai import ( FileSearchTool, ResponsesAPIResponse, @@ -368,7 +370,7 @@ class StandardBuiltInToolCostTracking: get_anthropic_web_search_requests_from_response, ) - if usage is not None and (get_web_search_requests(getattr(usage, "server_tool_use", None)) is not None): + if usage is not None and (get_web_search_requests_from_usage(usage) is not None): return usage web_search_requests: Final = get_anthropic_web_search_requests_from_response(response_object) if web_search_requests is None: @@ -416,7 +418,7 @@ class StandardBuiltInToolCostTracking: # Anthropic Claude (direct API and Vertex AI) uses server_tool_use.web_search_requests. # Without this check, Claude ModelResponse always falls through to return False # and _handle_web_search_cost() is never called. - if hasattr(usage, "server_tool_use") and get_web_search_requests(usage.server_tool_use) is not None: + if get_web_search_requests_from_usage(usage) is not None: return True # xAI reports usage.server_side_tool_usage_details.web_search_calls; a searched # answer with no url_citation annotations has no other chat-path signal @@ -429,16 +431,12 @@ class StandardBuiltInToolCostTracking: response_object=response_object, output_type="web_search_call" ) elif usage is not None: - if ( - hasattr(usage, "server_tool_use") - and get_web_search_requests(usage.server_tool_use) is not None - or ( - hasattr(usage, "prompt_tokens_details") - and usage.prompt_tokens_details is not None - and isinstance(usage.prompt_tokens_details, PromptTokensDetailsWrapper) - and hasattr(usage.prompt_tokens_details, "web_search_requests") - and usage.prompt_tokens_details.web_search_requests is not None - ) + if get_web_search_requests_from_usage(usage) is not None or ( + hasattr(usage, "prompt_tokens_details") + and usage.prompt_tokens_details is not None + and isinstance(usage.prompt_tokens_details, PromptTokensDetailsWrapper) + and hasattr(usage.prompt_tokens_details, "web_search_requests") + and usage.prompt_tokens_details.web_search_requests is not None ): return True if _usage_reports_server_side_web_search_calls(usage): diff --git a/litellm/litellm_core_utils/llm_cost_calc/utils.py b/litellm/litellm_core_utils/llm_cost_calc/utils.py index 9d782cf7a4d..bdbaee00c19 100644 --- a/litellm/litellm_core_utils/llm_cost_calc/utils.py +++ b/litellm/litellm_core_utils/llm_cost_calc/utils.py @@ -92,6 +92,16 @@ def get_web_search_requests(server_tool_use: Any) -> int | None: return getattr(server_tool_use, "web_search_requests", None) +def get_web_search_requests_from_usage(usage: Usage) -> int | None: + """Read ``web_search_requests`` from a ``Usage``'s ``server_tool_use``. + + ``Usage`` deletes unset optional fields from ``__dict__`` (see + ``SafeAttributeModel``), so direct attribute access can raise + ``AttributeError``; ``getattr`` with a default is required here. + """ + return get_web_search_requests(getattr(usage, "server_tool_use", None)) + + def _is_above_128k(tokens: float) -> bool: if tokens > 128000: return True diff --git a/litellm/llms/anthropic/cost_calculation.py b/litellm/llms/anthropic/cost_calculation.py index ec6c480efcc..95615b8e748 100644 --- a/litellm/llms/anthropic/cost_calculation.py +++ b/litellm/llms/anthropic/cost_calculation.py @@ -10,7 +10,7 @@ from pydantic import BaseModel, ValidationError from litellm.litellm_core_utils.llm_cost_calc.utils import ( generic_cost_per_token, get_provider_specific_geo_multiplier, - get_web_search_requests, + get_web_search_requests_from_usage, ) if TYPE_CHECKING: @@ -104,7 +104,7 @@ def get_cost_for_anthropic_web_search( if usage is None: return 0.0 - web_search_requests: Final = get_web_search_requests(getattr(usage, "server_tool_use", None)) + web_search_requests: Final = get_web_search_requests_from_usage(usage) if web_search_requests is None: return 0.0 diff --git a/litellm/llms/anthropic/experimental_pass_through/adapters/transformation.py b/litellm/llms/anthropic/experimental_pass_through/adapters/transformation.py index d7b527824ea..3597b8c329e 100644 --- a/litellm/llms/anthropic/experimental_pass_through/adapters/transformation.py +++ b/litellm/llms/anthropic/experimental_pass_through/adapters/transformation.py @@ -1358,12 +1358,10 @@ class LiteLLMAnthropicMessagesAdapter: @classmethod def _get_web_search_request_count(cls, usage: Usage) -> int: from litellm.litellm_core_utils.llm_cost_calc.utils import ( - get_web_search_requests, + get_web_search_requests_from_usage, ) - from_server_tool_use: Final = cls._positive_int( - get_web_search_requests(getattr(usage, "server_tool_use", None)) - ) + from_server_tool_use: Final = cls._positive_int(get_web_search_requests_from_usage(usage)) if from_server_tool_use > 0: return from_server_tool_use return cls._first_positive_prompt_tokens_detail_value(usage, ("web_search_requests",)) diff --git a/litellm/llms/gemini/cost_calculator.py b/litellm/llms/gemini/cost_calculator.py index 52285af1f5f..b82103b0ff8 100644 --- a/litellm/llms/gemini/cost_calculator.py +++ b/litellm/llms/gemini/cost_calculator.py @@ -39,7 +39,9 @@ def cost_per_web_search_request(usage: "Usage", model_info: "ModelInfo") -> floa ``model_info`` when available, falling back to $0.035 for models not yet updated in the pricing JSON. """ - from litellm.litellm_core_utils.llm_cost_calc.utils import get_web_search_requests + from litellm.litellm_core_utils.llm_cost_calc.utils import ( + get_web_search_requests_from_usage, + ) from litellm.types.utils import PromptTokensDetailsWrapper _DEFAULT_COST: Final = 35e-3 @@ -57,7 +59,7 @@ def cost_per_web_search_request(usage: "Usage", model_info: "ModelInfo") -> floa ) else None ) - requests_from_server_tool_use: Final = get_web_search_requests(getattr(usage, "server_tool_use", None)) + requests_from_server_tool_use: Final = get_web_search_requests_from_usage(usage) number_of_web_search_requests: Final = requests_from_prompt_details or requests_from_server_tool_use or 0 billing_mode: Final = model_info.get("web_search_billing_unit") or "per_prompt" diff --git a/tests/proxy_unit_tests/test_proxy_server.py b/tests/proxy_unit_tests/test_proxy_server.py index 375e1117371..47554913419 100644 --- a/tests/proxy_unit_tests/test_proxy_server.py +++ b/tests/proxy_unit_tests/test_proxy_server.py @@ -2661,7 +2661,7 @@ async def test_run_direct_health_check_drops_only_the_rejected_kwarg(monkeypatch rejected argument alongside working ones would probe deployments the operator opted out.""" import litellm.proxy.proxy_server as proxy_server - seen: list = [] + seen: list[tuple[dict[str, str] | None, bool]] = [] async def fake_perform_health_check( model_list, diff --git a/tests/test_litellm/litellm_core_utils/llm_cost_calc/test_tool_call_cost_tracking_dict_safety.py b/tests/test_litellm/litellm_core_utils/llm_cost_calc/test_tool_call_cost_tracking_dict_safety.py index 3a0a3574539..78bf9292ef5 100644 --- a/tests/test_litellm/litellm_core_utils/llm_cost_calc/test_tool_call_cost_tracking_dict_safety.py +++ b/tests/test_litellm/litellm_core_utils/llm_cost_calc/test_tool_call_cost_tracking_dict_safety.py @@ -10,8 +10,8 @@ import pytest from litellm.litellm_core_utils.llm_cost_calc.tool_call_cost_tracking import ( StandardBuiltInToolCostTracking, - get_web_search_requests, ) +from litellm.litellm_core_utils.llm_cost_calc.utils import get_web_search_requests from litellm.types.utils import ModelResponse, ServerToolUse, Usage diff --git a/tests/test_litellm/llms/anthropic/experimental_pass_through/messages/test_anthropic_experimental_pass_through_messages_handler.py b/tests/test_litellm/llms/anthropic/experimental_pass_through/messages/test_anthropic_experimental_pass_through_messages_handler.py index b690b3448ec..5fc4a361e78 100644 --- a/tests/test_litellm/llms/anthropic/experimental_pass_through/messages/test_anthropic_experimental_pass_through_messages_handler.py +++ b/tests/test_litellm/llms/anthropic/experimental_pass_through/messages/test_anthropic_experimental_pass_through_messages_handler.py @@ -17,7 +17,12 @@ from litellm.anthropic_interface import messages from litellm.integrations.custom_logger import CustomLogger from litellm.litellm_core_utils.logging_worker import GLOBAL_LOGGING_WORKER from litellm.llms.custom_httpx.http_handler import AsyncHTTPHandler -from litellm.types.utils import Delta, ModelResponse, StreamingChoices +from litellm.types.utils import ( + Delta, + ModelResponse, + StandardLoggingPayloadErrorInformation, + StreamingChoices, +) def test_anthropic_experimental_pass_through_messages_handler(): @@ -1292,7 +1297,7 @@ class TestMessagesStreamingSuccessLogging: class _FailureCapture(CustomLogger): def __init__(self): super().__init__() - self.error_information: List[Dict[str, Any]] = [] + self.error_information: list[StandardLoggingPayloadErrorInformation] = [] async def async_log_failure_event(self, kwargs, response_obj, start_time, end_time): payload = kwargs.get("standard_logging_object") or {} diff --git a/tests/test_litellm/llms/anthropic/test_cost_calculation_dict_safety.py b/tests/test_litellm/llms/anthropic/test_cost_calculation_dict_safety.py index 27115ffe241..44b8bb3c9a2 100644 --- a/tests/test_litellm/llms/anthropic/test_cost_calculation_dict_safety.py +++ b/tests/test_litellm/llms/anthropic/test_cost_calculation_dict_safety.py @@ -8,10 +8,8 @@ See https://github.com/BerriAI/litellm/issues/26153. import pytest -from litellm.llms.anthropic.cost_calculation import ( - get_cost_for_anthropic_web_search, - get_web_search_requests, -) +from litellm.litellm_core_utils.llm_cost_calc.utils import get_web_search_requests +from litellm.llms.anthropic.cost_calculation import get_cost_for_anthropic_web_search from litellm.types.utils import ModelInfo, ServerToolUse From ae95acfb056a45da9a4b6d831988d9f05106c6f1 Mon Sep 17 00:00:00 2001 From: mateo-berri <277851410+mateo-berri@users.noreply.github.com> Date: Thu, 27 Aug 2026 02:08:18 -0700 Subject: [PATCH 30/32] fix(exception_mapping_utils): map unmapped exceptions when model and provider are unset --- litellm/litellm_core_utils/exception_mapping_utils.py | 2 +- .../test_exception_mapping_utils.py | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/litellm/litellm_core_utils/exception_mapping_utils.py b/litellm/litellm_core_utils/exception_mapping_utils.py index dc245d42862..70374f87b99 100644 --- a/litellm/litellm_core_utils/exception_mapping_utils.py +++ b/litellm/litellm_core_utils/exception_mapping_utils.py @@ -2341,6 +2341,7 @@ def exception_type( litellm_response_headers: Final = _get_response_headers(original_exception=original_exception) try: error_str = redact_string(str(original_exception)) if _ENABLE_SECRET_REDACTION else str(original_exception) + extra_information = "" if model or custom_llm_provider: if hasattr(original_exception, "message"): error_str = ( @@ -2357,7 +2358,6 @@ def exception_type( # Common Extra information needed for all providers # We pass num retries, api_base, vertex_deployment etc to the exception here ################################################################################ - extra_information = "" try: _api_base: Final = litellm.get_api_base(model=model, optional_params=extra_kwargs) messages: Final = litellm.get_first_chars_messages(kwargs=completion_kwargs) diff --git a/tests/test_litellm/litellm_core_utils/test_exception_mapping_utils.py b/tests/test_litellm/litellm_core_utils/test_exception_mapping_utils.py index 895044c8ad5..8e89180a9e4 100644 --- a/tests/test_litellm/litellm_core_utils/test_exception_mapping_utils.py +++ b/tests/test_litellm/litellm_core_utils/test_exception_mapping_utils.py @@ -1002,6 +1002,17 @@ def test_an_exception_without_a_status_is_still_a_connection_error(quiet_excepti ) +def test_an_unmapped_exception_with_no_model_or_provider_is_a_connection_error(quiet_exception_mapping): + with pytest.raises(litellm.APIConnectionError) as raised: + exception_type( + model=None, + original_exception=ValueError("boom"), + custom_llm_provider=None, + ) + + assert "boom" in raised.value.message + + CONTEXT_WINDOW_MESSAGE = "This model's maximum context length is 4096 tokens." CONTENT_POLICY_MESSAGE = ( '{"error": {"type": "invalid_request_error", "code": "content_policy_violation"}}' From 02dcc4d3470487edd997bcc6ae378d8761d5f4d7 Mon Sep 17 00:00:00 2001 From: Imran Ismail Date: Fri, 28 Aug 2026 05:26:45 +1200 Subject: [PATCH 31/32] fix(ui_sso): resolve highest privilege Entra app role, not first in claim (#36728) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix(ui_sso): resolve highest privilege Entra app role, not first in claim A user assigned more than one Entra app role — commonly by belonging to several assigned groups — arrives at the Microsoft SSO callback with every role in the id_token `roles` claim. LiteLLM stores a single role per user, and get_microsoft_callback_response collapsed the list by taking the first value that resolved to a LitellmUserRoles and breaking. Entra does not guarantee the ordering of the `roles` claim, so which role won was effectively arbitrary: a user in one group mapped to internal_user and another mapped to proxy_admin_viewer could be silently demoted to internal_user, and proxy_admin could lose to either. The generic/Okta path already resolves this correctly via determine_role_from_groups, which walks a documented privilege hierarchy. Hoist that hierarchy into LITELLM_USER_ROLE_HIERARCHY and reuse it, so app-role logins and group-mapping logins agree. Extract the selection into MicrosoftSSOHandler.get_user_role_from_app_roles so it is directly testable — the existing tests re-implemented the loop inline, which is why the ordering bug was not caught. Behaviour is unchanged for single-role claims, unrecognised values, and empty claims. Roles the hierarchy does not rank (org_admin, team, customer) are resolved deterministically rather than by claim order. * refactor(ui_sso): trim role selection prose and use immutable annotations Addresses review feedback on the app role selection helper. Drop the explanatory comments and the Args/Returns docstring boilerplate that restated the control flow, keeping only the part a reader cannot infer from the code: that Entra does not guarantee claim ordering, and how unranked roles resolve. Type the parameter as Sequence[str] rather than list[str] and build the resolved set as a frozenset, so the helper stops adding an LIT001 mutable-collection annotation. Make LITELLM_USER_ROLE_HIERARCHY a tuple for the same reason. No behaviour change: the ordering regression tests still fail against the previous first-match-wins logic and pass here. --- litellm/proxy/management_endpoints/ui_sso.py | 50 ++++-- .../test_entraid_app_roles.py | 161 +++++++++++------- 2 files changed, 127 insertions(+), 84 deletions(-) diff --git a/litellm/proxy/management_endpoints/ui_sso.py b/litellm/proxy/management_endpoints/ui_sso.py index 0c8240b3298..613508da22b 100644 --- a/litellm/proxy/management_endpoints/ui_sso.py +++ b/litellm/proxy/management_endpoints/ui_sso.py @@ -808,6 +808,15 @@ def normalize_email(email: str | None) -> str | None: return email.lower() if isinstance(email, str) else email +# Ordered highest to lowest privilege +LITELLM_USER_ROLE_HIERARCHY: Final = ( + LitellmUserRoles.PROXY_ADMIN, + LitellmUserRoles.PROXY_ADMIN_VIEW_ONLY, + LitellmUserRoles.INTERNAL_USER, + LitellmUserRoles.INTERNAL_USER_VIEW_ONLY, +) + + def determine_role_from_groups( user_groups: list[str], role_mappings: "RoleMappings", @@ -832,19 +841,11 @@ def determine_role_from_groups( # No role mappings configured, return default_role return role_mappings.default_role - # Role hierarchy (highest to lowest) - role_hierarchy: Final = [ - LitellmUserRoles.PROXY_ADMIN, - LitellmUserRoles.PROXY_ADMIN_VIEW_ONLY, - LitellmUserRoles.INTERNAL_USER, - LitellmUserRoles.INTERNAL_USER_VIEW_ONLY, - ] - # Convert user_groups to a set for efficient lookup user_groups_set: Final = set(user_groups) if isinstance(user_groups, list) else set() # Find the highest privilege role the user belongs to - for role in role_hierarchy: + for role in LITELLM_USER_ROLE_HIERARCHY: if role in role_mappings.roles: role_groups = role_mappings.roles[role] if isinstance(role_groups, list) and user_groups_set.intersection(set(role_groups)): @@ -4236,15 +4237,7 @@ class MicrosoftSSOHandler: verbose_proxy_logger.debug("Extracted app roles from id_token: %s", app_roles) # Combine groups and app roles - user_role: LitellmUserRoles | None = None - if app_roles: - # Check if any app role is a valid LitellmUserRoles - for role_str in app_roles: - role = get_litellm_user_role(role_str) - if role is not None: - user_role = role - verbose_proxy_logger.debug("Found valid LitellmUserRoles '%s' in app_roles", role.value) - break + user_role: Final = MicrosoftSSOHandler.get_user_role_from_app_roles(app_roles) verbose_proxy_logger.debug("Combined team_ids (groups + app roles): %s", user_team_ids) @@ -4282,6 +4275,27 @@ class MicrosoftSSOHandler: verbose_proxy_logger.debug("Microsoft SSO OpenID Response: %s", openid_response) return openid_response + @staticmethod + def get_user_role_from_app_roles( + app_roles: Sequence[str] | None, + ) -> LitellmUserRoles | None: + """ + Resolve the one role LiteLLM stores for a user from their Entra app roles. + + Entra does not guarantee `roles` claim ordering, so a user holding several app + roles resolves to the highest privilege one rather than whichever the claim + listed first. Roles the hierarchy does not rank (org_admin, team, customer) + resolve by name to stay deterministic + """ + resolved: Final = frozenset( + role for role in (get_litellm_user_role(role_str) for role_str in app_roles or ()) if role is not None + ) + if not resolved: + return None + + ranked: Final = next((role for role in LITELLM_USER_ROLE_HIERARCHY if role in resolved), None) + return ranked if ranked is not None else min(resolved, key=lambda role: role.value) + @staticmethod def get_app_roles_from_id_token(id_token: str | None) -> list[str]: """ diff --git a/tests/test_litellm/proxy/management_endpoints/test_entraid_app_roles.py b/tests/test_litellm/proxy/management_endpoints/test_entraid_app_roles.py index 2ce36b73de0..0c3fe175b48 100644 --- a/tests/test_litellm/proxy/management_endpoints/test_entraid_app_roles.py +++ b/tests/test_litellm/proxy/management_endpoints/test_entraid_app_roles.py @@ -1,91 +1,120 @@ import jwt +import pytest -from litellm.proxy.management_endpoints.ui_sso import MicrosoftSSOHandler -from litellm.proxy.management_endpoints.types import get_litellm_user_role from litellm.proxy._types import LitellmUserRoles +from litellm.proxy.management_endpoints.ui_sso import MicrosoftSSOHandler + + +def _id_token(**claims) -> str: + """Build a signed id_token carrying the given claims.""" + payload = { + "sub": "user123", + "email": "user@company.com", + "aud": "litellm-app", + "iss": "https://login.microsoftonline.com/tenant-id/v2.0", + "exp": 9999999999, + **claims, + } + return jwt.encode(payload, "secret", algorithm="HS256") def test_extracts_proxy_admin_role_from_jwt(): """Ensure supported app roles like 'proxy_admin' are extracted from the id_token.""" - payload = { - "sub": "user123", - "email": "admin@company.com", - "app_roles": ["proxy_admin"], - "aud": "litellm-app", - "iss": "https://login.microsoftonline.com/tenant-id/v2.0", - "exp": 9999999999, - } + token = _id_token(app_roles=["proxy_admin"]) - token = jwt.encode(payload, "secret", algorithm="HS256") roles = MicrosoftSSOHandler.get_app_roles_from_id_token(token) assert roles == ["proxy_admin"] -def test_maps_internal_user_role(): - """Ensure internal_user role is correctly mapped to LitellmUserRoles.""" - payload = { - "sub": "user456", - "email": "user@company.com", - "app_roles": ["internal_user"], - "aud": "litellm-app", - "iss": "https://login.microsoftonline.com/tenant-id/v2.0", - "exp": 9999999999, - } +def test_extracts_app_roles_from_roles_claim(): + """Entra emits app role values in the `roles` claim; both spellings are read.""" + token = _id_token(roles=["internal_user"]) - token = jwt.encode(payload, "secret", algorithm="HS256") roles = MicrosoftSSOHandler.get_app_roles_from_id_token(token) - # Map to LitellmUserRoles - chosen = None - for r in roles: - mapped = get_litellm_user_role(r) - if mapped is not None: - chosen = mapped - break - - assert chosen == LitellmUserRoles.INTERNAL_USER + assert roles == ["internal_user"] -def test_maps_proxy_admin_viewer_role(): - """Ensure proxy_admin_viewer role is correctly mapped.""" - payload = { - "sub": "user789", - "email": "viewer@company.com", - "app_roles": ["proxy_admin_viewer"], - "aud": "litellm-app", - "iss": "https://login.microsoftonline.com/tenant-id/v2.0", - "exp": 9999999999, - } - - token = jwt.encode(payload, "secret", algorithm="HS256") - roles = MicrosoftSSOHandler.get_app_roles_from_id_token(token) - - chosen = None - for r in roles: - mapped = get_litellm_user_role(r) - if mapped is not None: - chosen = mapped - break - - assert chosen == LitellmUserRoles.PROXY_ADMIN_VIEW_ONLY +@pytest.mark.parametrize( + "app_roles, expected", + [ + (["proxy_admin"], LitellmUserRoles.PROXY_ADMIN), + (["proxy_admin_viewer"], LitellmUserRoles.PROXY_ADMIN_VIEW_ONLY), + (["internal_user"], LitellmUserRoles.INTERNAL_USER), + (["internal_user_viewer"], LitellmUserRoles.INTERNAL_USER_VIEW_ONLY), + # Case-insensitive, matching get_litellm_user_role. + (["PROXY_ADMIN_VIEWER"], LitellmUserRoles.PROXY_ADMIN_VIEW_ONLY), + # Roles outside the privilege hierarchy still resolve. + (["org_admin"], LitellmUserRoles.ORG_ADMIN), + ], +) +def test_maps_single_app_role(app_roles, expected): + """A lone app role maps to its LitellmUserRoles equivalent.""" + assert MicrosoftSSOHandler.get_user_role_from_app_roles(app_roles) == expected -def test_defaults_to_internal_user_viewer_when_no_role(): - """Ensure default role is internal_user_viewer when no app role is present.""" - payload = { - "sub": "user_no_role", - "email": "noRole@company.com", - "aud": "litellm-app", - "iss": "https://login.microsoftonline.com/tenant-id/v2.0", - "exp": 9999999999, - } +@pytest.mark.parametrize( + "app_roles", + [ + ["internal_user", "proxy_admin_viewer"], + ["proxy_admin_viewer", "internal_user"], + ], +) +def test_highest_privilege_role_wins_regardless_of_claim_order(app_roles): + """ + A user in one group mapped to `internal_user` and another mapped to + `proxy_admin_viewer` gets the higher privilege role either way. + + Entra does not guarantee the ordering of the `roles` claim, so the resolved + role must not depend on it. + """ + assert MicrosoftSSOHandler.get_user_role_from_app_roles(app_roles) == (LitellmUserRoles.PROXY_ADMIN_VIEW_ONLY) + + +@pytest.mark.parametrize( + "app_roles", + [ + ["internal_user", "proxy_admin_viewer", "proxy_admin"], + ["proxy_admin", "proxy_admin_viewer", "internal_user"], + ["proxy_admin_viewer", "internal_user", "proxy_admin"], + ], +) +def test_proxy_admin_beats_every_other_role(app_roles): + """proxy_admin outranks every other role in the hierarchy, in any claim order.""" + assert MicrosoftSSOHandler.get_user_role_from_app_roles(app_roles) == LitellmUserRoles.PROXY_ADMIN + + +def test_unrecognised_app_roles_are_ignored(): + """App roles that are not LitellmUserRoles values do not shadow ones that are.""" + app_roles = ["Some.Custom.Role", "msiam_access", "internal_user"] + + assert MicrosoftSSOHandler.get_user_role_from_app_roles(app_roles) == LitellmUserRoles.INTERNAL_USER + + +@pytest.mark.parametrize("app_roles", [None, [], ["msiam_access"], ["User"]]) +def test_returns_none_when_no_role_resolves(app_roles): + """ + Returning None lets the caller keep the user's stored role or apply + default_internal_user_params, rather than forcing a role. + """ + assert MicrosoftSSOHandler.get_user_role_from_app_roles(app_roles) is None + + +def test_no_role_claim_yields_no_app_roles(): + """An id_token with no role claim produces no app roles, and so no role.""" + token = _id_token() - token = jwt.encode(payload, "secret", algorithm="HS256") roles = MicrosoftSSOHandler.get_app_roles_from_id_token(token) assert roles == [] + assert MicrosoftSSOHandler.get_user_role_from_app_roles(roles) is None - # Default role would be internal_user_viewer - default_role = LitellmUserRoles.INTERNAL_USER_VIEW_ONLY - assert default_role.value == "internal_user_viewer" + +def test_end_to_end_from_id_token_to_role(): + """The id_token -> role path resolves the highest privilege role.""" + token = _id_token(roles=["internal_user", "proxy_admin_viewer"]) + + roles = MicrosoftSSOHandler.get_app_roles_from_id_token(token) + + assert MicrosoftSSOHandler.get_user_role_from_app_roles(roles) == LitellmUserRoles.PROXY_ADMIN_VIEW_ONLY From a7da7928fa2fa4d480114e8398482b7edca00303 Mon Sep 17 00:00:00 2001 From: "devin-ai-integration[bot]" <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Thu, 27 Aug 2026 17:57:07 +0000 Subject: [PATCH 32/32] feat(ui): add cache hit/miss filter to Request Logs (#38432) * feat(ui): add cache hit/miss filter to Request Logs Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> * fix: guard cache_hit_filter validation for direct handler calls Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> * chore(ui): drop redundant cache filter comment Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> --------- Co-authored-by: yassin Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> --- .../spend_management_endpoints.py | 16 ++++ .../test_spend_management_endpoints.py | 94 +++++++++++++++++++ .../src/components/networking.tsx | 1 + .../view_logs/RequestLogsFilters.test.tsx | 34 +++++++ .../view_logs/RequestLogsFilters.tsx | 27 ++++++ .../view_logs/log_filter_logic.test.tsx | 2 + .../components/view_logs/log_filter_logic.tsx | 3 + ui/litellm-dashboard/src/lib/http/schema.d.ts | 4 + 8 files changed, 181 insertions(+) diff --git a/litellm/proxy/spend_tracking/spend_management_endpoints.py b/litellm/proxy/spend_tracking/spend_management_endpoints.py index ee90ffbee79..1c49ad51beb 100644 --- a/litellm/proxy/spend_tracking/spend_management_endpoints.py +++ b/litellm/proxy/spend_tracking/spend_management_endpoints.py @@ -2254,6 +2254,10 @@ async def ui_view_spend_logs( status_filter: str | None = fastapi.Query( default=None, description="Filter logs by status (e.g., success, failure)" ), + cache_hit_filter: str | None = fastapi.Query( + default=None, + description="Filter logs by cache state: 'hit' or 'miss'. Miss includes legacy rows with a null/unknown cache state", + ), model: str | None = fastapi.Query(default=None, description="Filter logs by model"), model_id: str | None = fastapi.Query( default=None, @@ -2330,6 +2334,13 @@ async def ui_view_spend_logs( param="sort_order", code=status.HTTP_400_BAD_REQUEST, ) + if isinstance(cache_hit_filter, str) and cache_hit_filter not in {"hit", "miss"}: + raise ProxyException( + message=f"Invalid cache_hit_filter: {cache_hit_filter}. Must be one of: hit, miss", + type="bad_request", + param="cache_hit_filter", + code=status.HTTP_400_BAD_REQUEST, + ) try: is_admin_view: Final = _is_admin_view_safe(user_api_key_dict=user_api_key_dict) @@ -2570,6 +2581,11 @@ async def ui_view_spend_logs( sql_params.append(status_filter) p += 1 + if cache_hit_filter == "hit": + sql_conditions.append("LOWER(cache_hit) = 'true'") + elif cache_hit_filter == "miss": + sql_conditions.append("(cache_hit IS NULL OR LOWER(cache_hit) != 'true')") + if exclude_internal_health_checks: sql_conditions.append(f"api_key NOT IN (${p}, ${p + 1})") sql_params.extend(_INTERNAL_HEALTH_CHECK_API_KEYS) diff --git a/tests/test_litellm/proxy/spend_tracking/test_spend_management_endpoints.py b/tests/test_litellm/proxy/spend_tracking/test_spend_management_endpoints.py index a378d99d049..19ceb3d3d1f 100644 --- a/tests/test_litellm/proxy/spend_tracking/test_spend_management_endpoints.py +++ b/tests/test_litellm/proxy/spend_tracking/test_spend_management_endpoints.py @@ -106,6 +106,10 @@ def _reconstruct_ui_where_from_sql(sql_query, params): where["OR"] = where.get("OR", []) + [{"multi_team": True}] elif "status = 'success'" in cond: where["OR"] = where.get("OR", []) + [{"status": "success"}] + elif cond == "LOWER(cache_hit) = 'true'": + where["cache_hit"] = "hit" + elif cond == "(cache_hit IS NULL OR LOWER(cache_hit) != 'true')": + where["cache_hit"] = "miss" elif sess: where["session_id"] = {"contains": str(params[int(sess.group(1)) - 1]).strip("%")} elif status: @@ -2444,6 +2448,96 @@ async def test_ui_view_spend_logs_with_status(client, monkeypatch): app.dependency_overrides.pop(ps.user_api_key_auth, None) +@pytest.mark.asyncio +async def test_ui_view_spend_logs_with_cache_hit_filter(client, monkeypatch): + base = { + "api_key": "sk-test-key", + "user": "test_user_1", + "team_id": "team1", + "spend": 0.05, + "startTime": datetime.datetime.now(timezone.utc).isoformat(), + "model": "gpt-4", + "status": "success", + } + mock_spend_logs = [ + {**base, "id": "log1", "request_id": "req-hit", "cache_hit": "True"}, + {**base, "id": "log2", "request_id": "req-miss", "cache_hit": "False"}, + {**base, "id": "log3", "request_id": "req-legacy", "cache_hit": "None"}, + {**base, "id": "log4", "request_id": "req-null", "cache_hit": None}, + ] + + def filter_by_cache(where): + cache_filter = where.get("cache_hit") + if cache_filter == "hit": + return [log for log in mock_spend_logs if str(log["cache_hit"]).lower() == "true"] + if cache_filter == "miss": + return [log for log in mock_spend_logs if str(log["cache_hit"]).lower() != "true"] + return mock_spend_logs + + monkeypatch.setattr( + "litellm.proxy.proxy_server.prisma_client", + make_ui_spend_logs_mock_prisma(mock_spend_logs, filter_by_cache), + ) + + start_date, end_date = _default_date_range() + + app.dependency_overrides[ps.user_api_key_auth] = lambda: UserAPIKeyAuth( + user_role=LitellmUserRoles.PROXY_ADMIN + ) + try: + response = client.get( + "/spend/logs/ui", + params={ + "cache_hit_filter": "hit", + "start_date": start_date, + "end_date": end_date, + }, + headers={"Authorization": "Bearer sk-test"}, + ) + assert response.status_code == 200 + data = response.json() + assert data["total"] == 1 + assert [row["request_id"] for row in data["data"]] == ["req-hit"] + + response = client.get( + "/spend/logs/ui", + params={ + "cache_hit_filter": "miss", + "start_date": start_date, + "end_date": end_date, + }, + headers={"Authorization": "Bearer sk-test"}, + ) + assert response.status_code == 200 + data = response.json() + assert data["total"] == 3 + assert [row["request_id"] for row in data["data"]] == ["req-miss", "req-legacy", "req-null"] + + response = client.get( + "/spend/logs/ui", + params={ + "start_date": start_date, + "end_date": end_date, + }, + headers={"Authorization": "Bearer sk-test"}, + ) + assert response.status_code == 200 + assert response.json()["total"] == 4 + + response = client.get( + "/spend/logs/ui", + params={ + "cache_hit_filter": "invalid", + "start_date": start_date, + "end_date": end_date, + }, + headers={"Authorization": "Bearer sk-test"}, + ) + assert response.status_code == 400 + finally: + app.dependency_overrides.pop(ps.user_api_key_auth, None) + + @pytest.mark.asyncio async def test_ui_view_spend_logs_with_model(client, monkeypatch): mock_spend_logs = [ diff --git a/ui/litellm-dashboard/src/components/networking.tsx b/ui/litellm-dashboard/src/components/networking.tsx index c7868a5f039..032429ba8ed 100644 --- a/ui/litellm-dashboard/src/components/networking.tsx +++ b/ui/litellm-dashboard/src/components/networking.tsx @@ -2002,6 +2002,7 @@ interface UiSpendLogsParams { user_id?: string; end_user?: string; status_filter?: string; + cache_hit_filter?: string; /** Filter by model name (e.g. "gpt-4") */ model?: string; /** Filter by model ID (litellm model deployment id) */ diff --git a/ui/litellm-dashboard/src/components/view_logs/RequestLogsFilters.test.tsx b/ui/litellm-dashboard/src/components/view_logs/RequestLogsFilters.test.tsx index 893d6219e64..5d96f2637cd 100644 --- a/ui/litellm-dashboard/src/components/view_logs/RequestLogsFilters.test.tsx +++ b/ui/litellm-dashboard/src/components/view_logs/RequestLogsFilters.test.tsx @@ -69,6 +69,7 @@ describe("RequestLogsFilters", () => { for (const label of [ "Team ID", "Status", + "Cache", "Key Alias", "User ID", "End User", @@ -259,4 +260,37 @@ describe("RequestLogsFilters", () => { expect(await screen.findByText(label)).toBeInTheDocument(); }); + + it.each([ + ["", "All Requests"], + ["hit", "Cache Hit"], + ["miss", "Cache Miss"], + ])("shows the human label on the Cache trigger for %s", async (cacheState, label) => { + renderFilters(cacheState === "" ? {} : { [LOG_FILTER_IDS.CACHE_STATUS]: cacheState }); + + expect(await screen.findByText(label)).toBeInTheDocument(); + }); + + it.each([ + ["Cache Hit", "hit"], + ["Cache Miss", "miss"], + ])("selecting %s sets the cache filter to %s", async (label, expected) => { + const user = userEvent.setup(); + const { set } = renderFilters(); + + await user.click(await screen.findByText("All Requests")); + await user.click(await screen.findByRole("option", { name: label })); + + expect(set).toHaveBeenCalledWith(LOG_FILTER_IDS.CACHE_STATUS, expected); + }); + + it("selecting All Requests clears the cache filter", async () => { + const user = userEvent.setup(); + const { set } = renderFilters({ [LOG_FILTER_IDS.CACHE_STATUS]: "hit" }); + + await user.click(await screen.findByText("Cache Hit")); + await user.click(await screen.findByRole("option", { name: "All Requests" })); + + expect(set).toHaveBeenCalledWith(LOG_FILTER_IDS.CACHE_STATUS, undefined); + }); }); diff --git a/ui/litellm-dashboard/src/components/view_logs/RequestLogsFilters.tsx b/ui/litellm-dashboard/src/components/view_logs/RequestLogsFilters.tsx index af6a6d1f178..69257a6f52d 100644 --- a/ui/litellm-dashboard/src/components/view_logs/RequestLogsFilters.tsx +++ b/ui/litellm-dashboard/src/components/view_logs/RequestLogsFilters.tsx @@ -31,6 +31,12 @@ const STATUS_FILTER_ITEMS = [ { value: "success", label: "Success" }, { value: "failure", label: "Failure" }, ] as const; + +const CACHE_FILTER_ITEMS = [ + { value: ALL_VALUE, label: "All Requests" }, + { value: "hit", label: "Cache Hit" }, + { value: "miss", label: "Cache Miss" }, +] as const; const PAGE_SIZE = 50; const asString = (value: unknown): string => (typeof value === "string" ? value : ""); @@ -328,6 +334,27 @@ export function RequestLogsFilters({ get, set, teams, logsWindow }: RequestLogsF + + + + { { id: LOG_FILTER_IDS.SESSION_ID, value: "sess-1", param: "session_id" }, { id: LOG_FILTER_IDS.END_USER, value: "end-user-1", param: "end_user" }, { id: LOG_FILTER_IDS.STATUS, value: "failure", param: "status_filter" }, + { id: LOG_FILTER_IDS.CACHE_STATUS, value: "hit", param: "cache_hit_filter" }, + { id: LOG_FILTER_IDS.CACHE_STATUS, value: "miss", param: "cache_hit_filter" }, { id: LOG_FILTER_IDS.MODEL_ID, value: "model-uuid-1", param: "model_id" }, { id: LOG_FILTER_IDS.PUBLIC_MODEL_OR_SEARCH_TOOL, value: "gpt-4o", param: "model" }, { id: LOG_FILTER_IDS.KEY_ALIAS, value: "alias-1", param: "key_alias" }, diff --git a/ui/litellm-dashboard/src/components/view_logs/log_filter_logic.tsx b/ui/litellm-dashboard/src/components/view_logs/log_filter_logic.tsx index 9b6666dc9ee..3b8d96596de 100644 --- a/ui/litellm-dashboard/src/components/view_logs/log_filter_logic.tsx +++ b/ui/litellm-dashboard/src/components/view_logs/log_filter_logic.tsx @@ -20,6 +20,7 @@ export interface PaginatedResponse { export const LOG_FILTER_IDS = { TEAM_ID: "team_id", STATUS: "status", + CACHE_STATUS: "cache_hit", KEY_ALIAS: "key_alias", END_USER: "end_user", ERROR_CODE: "error_code", @@ -35,6 +36,7 @@ export const LOG_FILTER_IDS = { export const LOG_FILTER_LABELS: Record = { [LOG_FILTER_IDS.TEAM_ID]: "Team ID", [LOG_FILTER_IDS.STATUS]: "Status", + [LOG_FILTER_IDS.CACHE_STATUS]: "Cache", [LOG_FILTER_IDS.KEY_ALIAS]: "Key Alias", [LOG_FILTER_IDS.USER_ID]: "User ID", [LOG_FILTER_IDS.END_USER]: "End User", @@ -170,6 +172,7 @@ export function useLogFilterLogic({ user_id: userIdFilter, end_user: getFilterValue(columnFilters, LOG_FILTER_IDS.END_USER), status_filter: getFilterValue(columnFilters, LOG_FILTER_IDS.STATUS), + cache_hit_filter: getFilterValue(columnFilters, LOG_FILTER_IDS.CACHE_STATUS), model_id: getFilterValue(columnFilters, LOG_FILTER_IDS.MODEL_ID), model: getFilterValue(columnFilters, LOG_FILTER_IDS.PUBLIC_MODEL_OR_SEARCH_TOOL), key_alias: getFilterValue(columnFilters, LOG_FILTER_IDS.KEY_ALIAS), diff --git a/ui/litellm-dashboard/src/lib/http/schema.d.ts b/ui/litellm-dashboard/src/lib/http/schema.d.ts index 3afa111d65b..9ac49fa96e1 100644 --- a/ui/litellm-dashboard/src/lib/http/schema.d.ts +++ b/ui/litellm-dashboard/src/lib/http/schema.d.ts @@ -55030,6 +55030,8 @@ export interface operations { page_size?: number; /** @description Filter logs by status (e.g., success, failure) */ status_filter?: string | null; + /** @description Filter logs by cache state: 'hit' or 'miss'. Miss includes legacy rows with a null/unknown cache state */ + cache_hit_filter?: string | null; /** @description Filter logs by model */ model?: string | null; /** @description Filter logs by model ID (litellm model deployment id) */ @@ -55140,6 +55142,8 @@ export interface operations { page_size?: number; /** @description Filter logs by status (e.g., success, failure) */ status_filter?: string | null; + /** @description Filter logs by cache state: 'hit' or 'miss'. Miss includes legacy rows with a null/unknown cache state */ + cache_hit_filter?: string | null; /** @description Filter logs by model */ model?: string | null; /** @description Filter logs by model ID (litellm model deployment id) */